:- initialization(main). pais(peru). pais(chile). pais(argentina). capital(peru, lima). capital(chile, santiago). capital(argentina, 'buenos aires'). main :- capital(chile, Lugar), write('La capital de chile es: '), write(Lugar),nl, (pais(colombia) -> write('Colombia es pais'); write('Colombia no es pais')). :- initialization(main). padre(juan, jose). padre(juan, luis). padre(juan, pedro). padre(jose, luciana). padre(jose, giuliano). padre(luis, lucio). padre(luis, andrea). abuelo(X, Z) :- padre(X, Y), padre(Y, Z). main :- forall(abuelo(juan, Z), (write(Z),nl)). :- initialization(main). padre(juan, pedro). padre(juan, ana). padre(pedro, luis). madre(maria, pedro). madre(maria, ana). madre(ana, julia). abuelo(X, Z) :- padre(X, Y), (padre(Y, Z); madre(Y, Z)). hermanos(X, Y) :- padre(P, X), padre(P, Y), X \= Y. main :- write('Hijos de Juan:'),nl, forall(padre(juan,H),(write(H),nl)),nl, (abuelo(juan, julia)->write('Juan es abuelo de Julia');write('Juan no es abuelo de Julia')),nl,nl, write('Padres de Pedro: '),nl, padre(X, pedro), write(X),nl, madre(Y,pedro), write(Y). :- initialization(main). padre(juan, pedro). padre(juan, ana). padre(pedro, luis). padre(pedro, rosa). madre(maria, pedro). madre(maria, ana). madre(elena, luis). madre(elena, rosa). hombre(juan). hombre(pedro). hombre(luis). hombre(leonardo). mujer(maria). mujer(ana). mujer(rosa). mujer(elena). %REGLAS progenitor(X, Y) :- padre(X, Y) ; madre(X, Y). abuela(X,Z) :- madre(X, Y) , (padre(Y, Z) ; madre(Y, Z)). hermanos(X,Y) :- padre(P,X) , padre(P,Y), X \= Y. hermana(X,Y) :- hermanos(X,Y) , mujer(X). sin_hijos(X) :- hombre(X), \+ padre(X,_). main :- write('Los padres de Pedro son:'),nl, forall(progenitor(X, pedro),(write(X),nl)),nl,nl, (hermanos(pedro,ana)->write('Pedro y Ana son hermanos');write('Pedro y Ana no son hermanos')),nl,nl, (hermana(rosa,luis) -> write('Rosa es hermana de Luis');write('Rosa no es hermana de Luis')),nl,nl, write('No son padres: '),nl,forall(sin_hijos(X),(write('-'),write(X),nl)),nl. :- initialization(main). % alumno(Nombre, Nota1, Nota2, Nota3) alumno(ana, 15, 17, 14). alumno(luis, 8, 12, 9). alumno(rosa, 11, 10, 12). alumno(pedro, 18, 20, 19). promedio(Nombre, Prom) :- alumno(Nombre,N1,N2,N3), Prom is (N1+N2+N3)/3. condicion(Nombre,C):- promedio(Nombre,Prom), (Prom >= 13 -> C=aprobado; Prom >= 10 -> C=sustitutorio; C=desaprobado). tiene_jalada(Nombre):- promedio(Nombre,_), condicion(Nombre,C) main :- write('El promedio de Ana es:'), promedio(luis,Prom), write(Prom),nl,nl, condicion(luis,C), write(C). :- initialization(main). color(rojo). color(azul). color(verde). primero(X) :- color(X), !. main :- forall(color(X), (write(X), nl)), write('---'), nl, forall(primero(Y), (write(Y), nl)), write('---'), nl, ( color(Z), write(Z), nl, Z == azul -> write(encontrado) ; write(nada) ), nl.