three(?N) that if called with 3, it succeeds. If called with an uninstantiated variable, it instantiates the variable to 3. If called with a value other than 3, it fails.
?- three(3). true. ?- three(X). X = 3. ?- three(5). false.
gt10(+X,+Y) that succeeds iff the sum of X and Y is greater than 10. X and Y are assumed to be instantiated.
?- gt10(8,5). true.
?- three(A), three(B), C is A*B, gt10(C,C).