Skip to content

Instantly share code, notes, and snippets.

@vsalbaba
Created April 14, 2009 15:43
Show Gist options
  • Save vsalbaba/95244 to your computer and use it in GitHub Desktop.
Save vsalbaba/95244 to your computer and use it in GitHub Desktop.
%% X je manzelem Y
manzel(denis, rachel).
manzel(jan, petra).
manzel(libor, sona).
manzel(lukas, jana).
manzel(ota, bozena).
manzel(petr, lenka).
manzel(venceslav, hilda).
%% X je matkou Y
matka(anna, rachel).
matka(bozena, dita).
matka(jana, bozena).
matka(jana, jindrich).
matka(lenka, anna).
matka(lenka, bretislav).
matka(lenka, jan).
matka(petra, dorotka).
matka(petra, vojtech).
matka(rachel, josef).
matka(sona, petra).
%% X je otcem Y
otec(bretislav, dorotka).
otec(denis, josef).
otec(jan, denis).
otec(jan, miroslav).
otec(jan, vojtech).
otec(jindrich, venceslav).
otec(libor, petra).
otec(lukas, bozena).
otec(lukas, jindrich).
otec(ota, dita).
otec(petr, anna).
otec(petr, bretislav).
otec(petr, jan).
otec(petr, ladislav).
%% X je muz
muz(bretislav).
muz(denis).
muz(jan).
muz(jindrich).
muz(josef).
muz(ladislav).
muz(libor).
muz(lukas).
muz(miroslav).
muz(ota).
muz(petr).
muz(venceslav).
muz(vojtech).
%% X je zena
zena(anna).
zena(bozena).
zena(dita).
zena(dorotka).
zena(hilda).
zena(jana).
zena(lenka).
zena(petra).
zena(rachel).
zena(sona).
rodic(X, Y) :- otec(X,Y).
rodic(X, Y) :- matka(X,Y).
%% ukol 2
provdana(X) :- manzel(_, X), zena(X).
partner(X,Y) :- manzel(X, Y), manzel(Y, X).
%% ukol 3
dite(X, Y, Z) :- otec(Z, X), matka(Y, X).
syn(X,Y,Z) :- muz(X), dite(X, Y, Z).
dcera(X, Y, Z) :- dcera(X), dite(X, Y, Z).
%% ukol 4
dedecek(X, Y) :- otec(X, Z), rodic(Z, Y).
babicka (X, Y) :- matka(X, Z), rodic(Z, Y).
vnuk(X, Y) :- dedecek(Y, X), muz(X).
vnuk(X, Y) :- babicka(Y, X), muz(X).
vnucka(X, Y) :- babicka(Y, X), zena(X).
vnucka(X, Y) :- dedecek(Y, X), zena(X).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment