
?- [logic-example].
Warning: /cs/home/antonb/teaching/CSE3401-FA08/examples/logic-example.pl:27:
	Clauses of smokes/1 are not together in the source-file
% logic-example compiled 0.00 sec, 2,876 bytes
true.

?- smokes(jane).
true.

?- smokes(jill).
false.

?- smokes(X).
X = john ;;
X = paul ;;
X = jane.

?- drinks(X, beer).
X = john ;;
X = paul ;;
false.

?- drinks(X, beer) | drinks(X, wine).
X = john ;;
X = paul ;;
X = jane ;;
false.

?- drinks(john, X).
X = beer ;;
X = water ;;
false.

?- drinks(X,Y), drinks(Z,Y), X \= Z.
X = john,
Y = beer,
Z = paul ;;
X = paul,
Y = beer,
Z = john ;;
X = john,
Y = water,
Z = paul ;;
X = john,
Y = water,
Z = jane ;;
X = john,
Y = water,
Z = jill ;;
X = paul,
Y = water,
Z = john ;;
X = paul,
Y = water,
Z = jane ;;
X = paul,
Y = water,
Z = jill ;;
X = jane,
Y = water,
Z = john ;;
X = jane,
Y = water,
Z = paul ;;
X = jane,
Y = water,
Z = jill ;;
X = jill,
Y = water,
Z = john ;;
X = jill,
Y = water,
Z = paul ;;
X = jill,
Y = water,
Z = jane ;;
false.

?- takeout(2, [1,2,3,4], X).
X = [1, 3, 4] ;;
false.

?- takeout(2, [1,2,3,2], X).
X = [1, 3, 2] ;;
X = [1, 2, 3] ;;
false.

?- takeout(2, X, [1,3,4]).
X = [2, 1, 3, 4] ;;
X = [1, 2, 3, 4] ;;
X = [1, 3, 2, 4] ;;
X = [1, 3, 4, 2] ;;
false.

?- halt.
