Fiche de Révision Prolog
1. Définition
Prolog est un langage logique basé sur des faits, des règles et des requêtes.
2. Les faits
chat(tom).
aime(paul, marie).
3. Les règles
enfant(X,Y) :- parent(Y,X).
Signifie : X est enfant de Y si Y est parent de X
4. Les requêtes
?- chat(tom).
?- aime(paul, X).
5. Variables
aime(paul, X).
X représente une valeur inconnue
6. Unification
Prolog essaie de faire correspondre les valeurs :
chat(tom) = chat(X) → X = tom
7. Backtracking
Prolog teste plusieurs solutions automatiquement :
aime(paul, marie).
aime(paul, claire).
?- aime(paul, X).
Résultat : X = marie ; X = claire
8. Calculs
somme(X,Y,Z) :- Z is X + Y.
?- somme(3,4,R).
9. Exemple complet
parent(paul, claire).
parent(claire, lucas).
grand_parent(X,Z) :-
parent(X,Y),
parent(Y,Z).
?- grand_parent(paul, Z).
10. Résumé
- Faits = données
- Règles = logique
- Requêtes = questions
- Unification = correspondance
- Backtracking = recherche automatique