/*Prolog-Datenbasis und Regeln zur Ermittlung von Verwandschaftsbeziehungen*/ kind_von(genoveva,clothilde). kind_von(genoveva,xenia). kind_von(karl,clothilde). kind_von(karl,xenia). kind_von(karl,sofonisba). kind_von(walpurga,sofonisba). kind_von(chlodwig,ernestine). kind_von(clothilde,ernestine). kind_von(xenia,otto). kind_von(hjalmar,otto). kind_von(xenia,cythia). kind_von(hjalmar,cythia). /*Hier steht zuerst immer die Frau*/ ehepaar(xenia,hjalmar). ehepaar(genoveva,karl). ehepaar(ernestine,otto). maennlich(karl). maennlich(otto). maennlich(chlodwig). maennlich(hjalmar). weiblich(genoveva). weiblich(xenia). weiblich(clothilde). weiblich(ernestine). weiblich(cythia). weiblich(sofonisba). weiblich(walpurga). vater_von(Person,Vater):- kind_von(Vater,Person), maennlich(Vater). tochter_von(Elternteil,Tochter) :- kind_von(Elternteil,Tochter), weiblich(Tochter). /*Das Kind ist ein Nachfahre*/ nachfahr_von(Vorfahr,Nachfahr) :- kind_von(Vorfahr,Nachfahr). /*Ein Nachfahre des Kindes ist ein Nachfahre*/ nachfahr_von(Vorfahr,Nachfahr) :- kind_von(Vorfahr,Kind), nachfahr_von(Kind,Nachfahr). /*SO NICHT: wegen Gefahr von Endlosrekursion: ---nachfahr_von(Vorfahr,Nachfahr) :- --- nachfahr_von(Kind,Nachfahr), --- kind_von(Vorfahr,Kind), */