Prolog tries alternative clauses for a predicate in the order of appearance:
likes(alice, music).
likes(bob, hiking).
// Either alice likes music, or bob likes hiking will succeed.
The disjunction (OR) operator ;
can be used to express this in one rule:
likes(P,Q) :-
( P = alice , Q = music ) ; ( P = bob , Q = hiking ).
Parentheses are important here for clarity. See this Question on relative precedence for conjunction ,
and disjunction ;
.