PROLOG
mulher(mona). mulher(jackie). mulher(marge). mulher(patty). mulher(selma). mulher(lisa). mulher(maggie). mulher(ling). gerou(abraham,herb). gerou(abraham,homer). gerou(mona,herb). gerou(mona,homer). gerou(clancy,marge). gerou(clancy,patty). gerou(clancy,selma).
gerou(jackie,marge). gerou(jackie,patty). gerou(jackie,selma).
gerou(homer,bart). gerou(homer,lisa). gerou(homer,maggie).
gerou(marge,bart). gerou(marge,lisa). gerou(marge,maggie).
gerou(selma,ling).
casado(abraham,mona). casado(clancy,jackie). casado(homer,marge).
%regra dos genitores pai(A,B) :- homem(A),gerou(A,B). mae(A,B) :- mulher(A),gerou(A,B).
%regra de irmao irmao(A,B) :- gerou(X,A), gerou(X,B), A\==B, homem(A).
%regra de irma irma(A,B) :- gerou(X,A), gerou(X,B), A\==B, mulher(A).
%Regra que verifica o avo do sexo masculino avoH(A,B) :- gerou(A,X), gerou(X,B), homem(A).
%regrea que verifica o avo do sexo feminino avoM(A,B) :- gerou(A,X), gerou(X,B), mulher(A).
%Regra que verifica o avo do sexo masculino neto(B,A) :- gerou(A,X), gerou(X,B), homem(B).
%regrea que verifica o avo do sexo feminino neta(B,A) :- gerou(A,X), gerou(X,B), mulher(B).
filho(A,B) :- gerou(B,A), homem(A).
filha(A,B) :- gerou(B,A), mulher(A).
%Regra que verifica se e primo primo(X,Y) :- (irmao(A,B);irma(A,B)), gerou(A,X), gerou(B,Y), X\==Y, homem(X).
%regra que verifica se e primo prima(X,Y) :- (irmao(A,B);irma(A,B)), gerou(A,X), gerou(B,Y), X\==Y, mulher(X).
%Regra para tio tio(A,B) :- (irmao(A,X);irma(A,X)), gerou(X,B), homem(A).
%regra para tia tia(A,B) :- (irmao(A,X);irma(A,X)), gerou(X,B), mulher(A).
%Regra para tio sobrinho(B,A) :-