% fakty małżeństwo(jacek,iza). małżeństwo(andrzej,anna). małżeństwo(jan,krystyna). małżeństwo(jozef,halina). małżeństwo(cezary,cecylia). małżeństwo(henryk,hanna). małżeństwo(darek,dorota). % dzieci(jacka i iza) rodzic(jacek,krzys). rodzic(iza,krzys). rodzic(jacek,ola). rodzic(iza,ola). rodzic(iza,julek). %dzieci anrzej i anna rodzic(andrzej,jas). rodzic(anna,jas). % dzieci jana i krystyny rodzic(krystyna,iza). rodzic(krystyna,jagoda). rodzic(krystyna,andrzej). rodzic(krystyna,jurek). rodzic(jan,iza). rodzic(jan,jagoda). rodzic(jan,andrzej). rodzic(jan,jurek). % dzieci cezary i cecylia rodzic(cecylia,halina). rodzic(cezary,halina). % dzieci dorota i darek rodzic(dorota,danuta). rodzic(dorota,nadzieja). rodzic(darek,danuta). rodzic(jacek,nadzieja). % dzieci jozefa i haliny rodzic(halina,jacek). rodzic(halina,hanna). rodzic(halina,piotrek). rodzic(jozef,jacek). rodzic(jozef,hanna). rodzic(jozef,piotrek). rodzic(adam,julek). kobieta(iza). kobieta(jagoda). kobieta(ola). kobieta(krystyna). kobieta(halina). kobieta(hanna). kobieta(cecylia). kobieta(dorota). kobieta(anna). kobieta(nadzieja). %reguły mężczyzna(X) :- \+ kobieta(X). ojciec(X,Y) :- rodzic(X,Y), mężczyzna(X). matka(X,Y):- rodzic(X,Y), kobieta(X). dziecko(X,Y) :- rodzic(Y,X). wnuk(X,Y) :- dziecko(D,Y), dziecko(X,D). rodzeństwo_n(X,Y) :- matka(M,Y), matka(M,X), ojciec(O,Y), ojciec(O,X), X \= Y. rodzeństwo_p(X,Y) :- matka(M,Y), matka(M,X), ojciec(O1,Y), ojciec(O2,X), X \= Y, O1 \= O2. rodzeństwo_p(X,Y) :- matka(M1,Y), matka(M2,X), ojciec(O,Y), ojciec(O,X), X \= Y, M1 \= M2. rodzeństwo(X,Y) :- rodzeństwo_n(X,Y); rodzeństwo_p(X,Y). siostra(X,Y) :- rodzeństwo(X,Y), kobieta(X). brat(X,Y) :- rodzeńśtwo(X,Y), mężczyzna(X). mąż(X,Y) :- mężczyzna(Y), małżeństwo(X,Y), kobieta(Y). żona(X,Y) :- kobieta(X), małżeństwo(X,Y), mężczyzna(Y).