predix
/* predix.pro */ nowarnings
domains nome = symbol
predicates padre(nome,nome) madre(nome,nome) coniugi(nome,nome)
clauses padre(paolo,luigi). padre(paolo,aldo). padre(alberto,anna). padre(alberto,ivano). madre(elisa,luigi). madre(elisa,alberto).
/* cerca se due persone sono coniugi */ /* lo sono se genitori dello stesso figlio */ /* X e Y sono coniugi se X padre di Z */ /* e Y madre di Z */ /* prova GOAL:coniugi(X,Y) */ /* prova GOAL:coniugi(alberto,Y) */ /* prova GOAL:coniugi(paolo,elisa) */
coniugi(X,Y) if padre(X,Z) and madre(Y,Z),nl, write(),nl, write(X,"\t",Y).