married(name,name)
son(name,name)
daughter(name,name)
father(name,name)
wife(name,name)
clauses
%определяем факты-свойства – кто является
%мужчиной
men(sergey).men(petr).men(lev).men(dima).
men(kolya).men(fedya).men(borya).
%определяем факты-свойства – кто является
%женщиной
women(tanya).women(anna).women(lena).women(masha).
women(eva).women(nadya).women(rita).
%определяем факты-отношения женатых пар
married(sergey,tanya).married(petr,anna).
married(lev,lena).married(dima,masha).married(kolya,eva).
%определяем факты-отношения сыновей
son(lev,tanya).son(fedya,masha).son(kolya,lena).
son(borya,masha).
%определяем факты-отношения дочерей
daughter(anna, tanya).daughter(masha, anna).
daughter(nadya, lena).daughter(rita, masha).
%выводим правило, по которому возможно определить %отношение отец-дочь или отец-сын
father(X,Y):-men(X),married(X,Z),son(Y,Z);men(X),married(X,Z),
daughter(Y,Z).
%выводим правило определения жен
wife(X,Y):-married(Y,X).
goal
write("\t\t\tFathers and сhildes"),nl,father(X,Y);
write("\t\t\tWifes"),nl,wife(X,_).