:- add_rule( father if parent(X, Y) and male(X) then add(father(X, Y))). :- add_rule( grandfather if father(X, Y) and father(Y, Z) then add(grandfather(X, Z))). :- add(parent(abe, bob)). :- add(male(abe)). :- add(parent(bob, dan)). :- add(male(bob)).