TP01 de prolog
1. Arbre généalogique
1.1.Déclarations
Définissez la famille ci-dessous dans l’éditeur. Attention à ne pas mettre de majuscules aux prénoms
ni aux prédicats. N’oubliez pas les points.
homme(albert). femme(simone). pere(paul,bertrand).
femme(marie). femme(sophie). pere(albert,jean).
pere(jean,paul). pere(paul,sophie). femme(germaine).
homme(jean). homme(paul). homme(bertrand).
homme(louis). homme(benoit). femme(christiane).
pere(jean,simone).
pere(louis,benoit).
mere(germaine,jean).
mere(christiane,simone).
mere(christiane,paul).
mere(simone,benoit).
mere(marie,bertrand).
mere(marie,sophie).
1.2.Questions
Traduire les questions suivantes en Prolog et vérifier les réponses :
Est-ce que Paul est un homme ?
Est-ce que Benoit est une femme ?
Qui est une femme ?
Qui est un homme ?
Est-ce que Marie est la mère de Sophie ?
De Benoit ?
Qui est la mère de Jean ?
Quels sont les enfants de Paul ?
Quels sont les hommes qui sont pères ?
1.3.Définition de prédicats
Définir les prédicats suivants :
• parent(X,Y) : X est un parent de Y, pere
Ou mere ;
• fils(X,Y) : X est le fils de Y ;
• fille(X,Y) : X est la fille de Y ;
• grand_pere(X,Y) : X est le grand-père
de Y ;
• grand_mere(X,Y) : X est la grand-mère
de Y ;
• frere(X,Y) : X est le frère de Y ;
• soeur(X,Y) : X est la soeur de Y.
2. Traduction d’énoncés
Traduire en Prolog l'énoncé suivant :
Marie aime la conduite
Pierre est un transporteur
Pierre aime tous ceux qui aiment la conduite
Si quelqu'un est un transporteur et aime quelque chose alors il le transporte
Qui transporte quoi?