【Prolog】Prologへの入門 1章


/* はじめてのprolog */

parent(pam, bob). % コメント
parent(tom, bob).
parent(tom, liz).
parent(bob, ann).
parent(bob, pat).
parent(pat, jim).

female(pam).
male(tom).
female(liz).
female(pat).
female(ann).
male(jim).

offspring(Y, X) :- parent(X, Y).
mother(X, Y) :- parent(X, Y), female(X).
grandparent(X, Z) :- parent(X, Y), parent(Y, Z).
sister(X, Y) :- parent(Z, X), parent(Z, Y), female(X).
haschild(X) :- parent(X, Y).
happy(X) :- haschild(X).
grandchildren(X, Y) :- grandparent(Y, X).
aunt(X, Y) :- parent(Z, Y), sister(X, Z).
predecessor(X, Z) :- parent(X, Z).
predecessor(X, Z) :- parent(X, Y), predecessor(Y, Z).