78
Formal Logic
eXAMPLe 39
Suppose that a Prolog database contains the following entries:
eat(bear, fish)
eat(fish, littlefish)
eat(littlefish, algae)
eat(raccoon, fish)
eat(bear, raccoon)
eat(bear, fox)
eat(fox, rabbit)
eat(rabbit, grass)
eat(bear, deer)
eat(deer, grass)
eat(wildcat, deer)
animal(bear)
animal(fish)
animal(littlefish)
animal(raccoon)
animal(fox)
animal(rabbit)
animal(deer)
animal(wildcat)
plant(grass)
plant(algae)
prey(X ) <= eat(Y, X ) and animal(X )
Then the following dialog with Prolog could take place:
?animal(rabbit)
yes
?eat(wildcat, grass)
no
?eat(X, fish)
bear
raccoon
?eat(X, Y ) and plant(Y )
littlefish
algae
rabbit
grass
deer
grass
?prey(X )
fish
littlefish
fish
Précédent

- 95/986

Suivant