Explorando Prolog
Explorando Prolog
male(i).
male(f).
male(s1).
male(s2).
married(i,w).
parent(w,d).
parent(f,i).
married(f,d).
parent(w,s1).
parent(i,s1).
parent(f,s2).
parent(d,s2).
married(X,Y) :- tmarried(X,Y).
tmarried(X, Y) :- married(Y,X).
female(X) :- not(male(X)).
%% Normal relationships
father(Parent, Child) :parent(Parent, Child),
male(Parent).
%% In-law relationships
sibling_in_law(X,Y) :parent(P,X),
parent_in_law(P,Y),
X = Y.
sibling_in_law(X,Y) :parent(P,Y),
parent_in_law(P,X),
X = Y.