159191Skris% LOOP46 259191Skris 359191Skris:- module(wave). 4109998Smarkm 559191Skrisgetbug :- 659191Skris writeln('\nCheck that you are in "module(wave).", then'), 7280297Sjkim writeln('to start the program type "prince(david).".\n'). 8280297Sjkim 959191Skrisbug :- 1059191Skris nl, 1159191Skris explanation. 1259191Skris 13280297Sjkimexplanation :- 1459191Skriswriteln('There is a typo in the last fact. \n\ 1559191Skris\n\ 1659191SkrisGOAL: prince(david). \n\ 1759191SkrisCORRECT: yes. \n\ 1859191SkrisBUGGY: endless loop (wave). \n'). 1959191Skris 2059191Skris 2159191Skris% ============================================================================ 2259191Skris 23280297Sjkimprince(X) :- 24280297Sjkim ancestor(Y, X), 25280297Sjkim king(Y). 26280297Sjkim 2759191Skrisancestor(X,Y) :- 28280297Sjkim father(X,Y). 29280297Sjkimancestor(X,Z) :- 30280297Sjkim ancestor(Y,Z), 31280297Sjkim father(X,Y). 32280297Sjkim 3359191Skrisfather(john, david). 34280297Sjkimfather(peter, john). 35280297Sjkimfather(george, pater). % typing error 36280297Sjkim 37280297Sjkimking(george). 38280297Sjkim