Base de Conhecimento
genitor(nilson, paulo).
genitor(nilson, pedro).
genitor(nilson, karlos).
genitor(maria, paulo).
genitor(maria, pedro).
genitor(maria, karlos).
masculino(nilson).
masculino(paulo).
masculino(pedro).
masculino(karlos).
feminino(maria).
pet(paulo, thomas).
pet(paulo, alice).
pet(karlos, frajola).
pet(karlos, chico).
animal(thomas, gato).
animal(alice, gato).
animal(frajola, gato).
animal(chico, gato).
idade(nilson, 60).
idade(maria, 57).
idade(paulo, 32).
idade(pedro, 19).
idade(karlos, 17).
Exemplos de Comandos
Alguns comandos no Prolog para explorar esta base de conhecimento:
1. Quais são os homens na família que possuem filhos?
?- masculino(X), genitor(X, Y).
X = nilson ;
X = paulo.
X = nilson ;
X = pedro.
X = nilson ;
X = karlos.
2. Quem são as filhas da família?
?- feminino(X), genitor(Z, X).
Nenhum resultado encontrado.
3. Quais são as mulheres com mais de 30 anos?
?- feminino(X), idade(X, Y), Y > 30.
X = maria,
Y = 57.
4. Quais são os netos?
?- genitor(X, Y), genitor(Y, Z).
Nenhum resultado encontrado.
5. Quais são meus irmãos?
?- genitor(X, karlos),genitor(X,Y).
X = nilson,
Y = paulo ;
X = nilson,
Y = pedro ;
X = nilson,
Y = karlos ;
X = maria,
Y = paulo ;
X = maria,
Y = pedro ;
X = maria,
Y = karlos.