transitive(X,Z) :- transitive(X,Y), transitive(Y,Z).
reflexive(X,X).
symmetric(X,Y) :- symmetric(Y,X).
wet(water).
wet(milk).
wet(orange_juice).
cost(milk,95).
mother(betty,ann).
mother(delia,betty).
father(chris,ann).
father(eric,betty).
parent(X,Y) :- mother(X,Y).
parent(X,Y) :- father(X,Y).
next(dundee,arbroath).
next(arbroath,montrose).
next(montrose, stonehaven).
next(stonehaven,aberdeen).
/* next(strathspey,strathspey). */
before(X,Y) :- next(X,Y). 
before(X,Y) :- before(X,W),next(W,Y).
/* Reverse a list */
accrev([H|T],A,R) :- accrev(T,[H|A],R).
accrev([],A,A).
rev(L,R) :- accrev(L,[],R).
wet(concrete).

