[Suivant][Précedent][Fin-Préc.][Fin][Haut]
Même si les fondations de Prolog sont construites à partir de la
logique, l’identification Prolog =
Logique présente une certain nombre de limites.
- Commentez le programme suivant d’un point de
vue logique :
q(X) :- p(X).
p(X) :- q(X).
- Que se passe-t-il quand on demande le but
p(X) ou le
but q(X) ?
- Qu’en concluez vous ?
- Établir des faits sur les liens de parenté entre
des personnes (prédicat parent(X, Y)).
- Définir le prédicat ancêtre à
partir du prédicat parent.
- Concluez sur l’importance de l’ordre
des litéraux dans les clauses Prolog.
La négation logique n’est pas présente en
tant que telle dans Prolog. Prolog fait l’hypothèse du «
monde clôt », i.e. il considère faux ce qu’il n’arrive
pas à démontrer. Pour simuler le faux (prédicat Prolog not), il faut se
servir du prédicat fail qui fait toujours échec et de la
coupure (le « cut », notée !), que l’on va étudier dans la
suite.
[Suivant][Précedent][Fin-Préc.][Début][Haut]