Rekursion:
 |
Gesucht werden nun alle Vorfahren einer Person. Vorfahren sind
die Eltern, Großeltern, Urgroßeltern, Ururgroßeltern, usw.
Sie würden sich also wie folgt ermitteln lassen:
grosselter(X,Y) :- elter(Z,Y), elter(X,Z). |
urgrosselter(X,Y) :- elter(Z,Y), grosselter(X,Z). |
ururgrosselter(X,Y) :- elter(Z,Y), urgrosselter(X,Z). |
usw. |
|
 |
Anders ausgedrückt: Eltern, deren Eltern, deren Eltern, usw.
Dies soll nun mit Hilfe der Rekursion (= ein Unterprogramm/eine Regel ruft sich selbst auf) zur Regel 'Vorfahr' verallgemeinert werden:
vorfahr(X,Y) :- elter(X,Y). |
vorfahr(X,Y) :- elter(Z,Y), vorfahr(X,Z). |
|
|
|