Escolar Documentos
Profissional Documentos
Cultura Documentos
MI RBOL EN PROLOG
MI FAMILIA:
ABUELOS PATERNOS:
NAARCISO (LO PONGO CON DOBLE A PARA QUE SE VEA LA DIFERENCIA YA QUE MI
HERMANO SE LLAMA IGUAL)
MARA
ABUELOS MATERNOS:
JUAN
ANA
TOS PATERNOS:
ARTURO
PAULA
TOS MATERNOS:
JOSE
FIDENCIO
MIS PAPAS:
AMADOR
VICTORIA
HERMANOS:
NARCISO
RENE
YO MERO:
JESS
1.-PRIMERA CONSULTA.. MOSTRAR LOS PROGENITORES DE CADA UNO.
[Hechos]
esMadre(mona, homero).
esMadre(jacqueline, march).
esMadre(jacqueline, patty).
5
6
7
8
9
10
esMadre(jacqueline, selma).
esMadre(march, bart).
esMadre(march, lisa).
esMadre(march, maggie).
esMadre(selma, ling).
esPadre(abraham, herbert).
esPadre(abraham, homero).
11
12
13
14
15
16
esPadre(clancy, march).
esPadre(abraham, patty).
esPadre(abraham, selma).
esPadre(homero, bart).
esPadre(homero, lisa).
17
esPadre(homero, maggie).
18
19
20
21
22
23
esNieto(A,B) :- esAbuela(B,A).
24
25
26
27
28
29
esNieto(A,B) :- esAbuelo(B,A).
esNieta(A,B) :- esAbuela(B,A).
esNieta(A,B) :- esAbuelo(B,A).
esHermano(A,B) :- esMadre(N,A), esMadre(N,B), not(A=B).
esHermano(A,B) :- esPadre(N,A), esPadre(N,B), not(A=B).
esHermana(A,B) :- esMadre(N,A), esMadre(N,B), not(A=B).
esHermana(A,B) :- esPadre(N,A), esPadre(N,B), not(A=B).
30
31
32
33
34
esTio(A,B) :- esSobrino(B,A).
35
esTio(A,B) :- esSobrina(B,A).
36
esTia(A,B) :- esSobrino(B,A).
37
38
39
40
41
42
esTia(A,B) :- esSobrina(B,A).
esPrimo(A,B) :- esSobrino(A,C), esMadre(C,B), not(A=B).
esPrimo(A,B) :- esSobrino(A,C), esPadre(C,B), not(A=B).
esPrima(A,B) :- esSobrina(A,C), esMadre(C,B), not(A=B).
esPrima(A,B) :- esSobrina(A,C), esPadre(C,B), not(A=B).
padre('Carlos','Juan').
padre('Carlos','Carla').
padre('Maria','Juan').
padre('Maria','Carla').
padre('Juan','Pablo').
padre('Juan','Mateo').
padre('Paula','Pablo').
padre('Paula','Mateo').
padre('Pedro','Andres').
padre('Carla','Andres').
padre('Andres','Edwin').
padre('Lorena','Edwin').
esposos('Maria','Carlos').
esposos('Juan','Paula').
esposos('Pedro','Carla').
esposos('Andres','Lorena').
esposos('Carlos','Maria').
esposos('Paula','Juan').
esposos('Carla','Pedro').
esposos('Lorena','Andres').
diferente(X,Y):- X \== Y.
hijo(A,B):-padre(B,A),hombre(A).
hija(A,B):-padre(B,A),mujer(A).
nieto(A,B):-padre(B,C),padre(C,A),hombre(A).%solo es nieto hombre
hermano(A,B):-padre(C,A),padre(C,B),diferente(A,B).
primo(A,B):-padre(C,A),padre(D,B),hermano(C,D),diferente(D,C).
tio(A,B):-padre(C,B),hermano(C,A),hombre(A).
abuelo(A,B):-nieto(B,A).
cuado(A,B):-esposos(B,C),hermano(A,C).
tia(A,B):-padre(C,B),hermano(C,A),mujer(A).
sobrino(A,B):-hijo(A,C),hermano(C,B),hombre(A).
sobrina(A,B):-hija(A,C),hermano(C,B),mujer(A).
suegro(A,B):-hijo(C,A);hija(C,A),esposos(C,B).