5. Preuves et interrogations travaillées
5.1 Propositionnel : prouver r
C={p,¬p∨q,¬q∨r}, B=r. La trace remonte de la négation du but :
| Ligne | Clause | Justification |
|---|---|---|
| 1 | p |
C1 |
| 2 | ¬p ∨ q |
C2 |
| 3 | ¬q ∨ r |
C3 |
| 4 | ¬r |
Négation de B |
| 5 | ¬q |
Résolution de 3 et 4 sur r |
| 6 | ¬p |
Résolution de 2 et 5 sur q |
| 7 | □ |
Résolution de 1 et 6 sur p |
Conclusion : r est déductible de C. Il serait aussi possible de dériver q depuis p, puis r depuis q, puis la contradiction avec ¬r. La justification de chaque ligne compte davantage que l’identité de l’ordre choisi avec celui du corrigé.
5.2 Variables : prouver une disjonction
La base est C={p(x)∨q(x,y), ¬p(a)∨r(b,z)}, avec a/b constantes. Le support écrit B=q(a,w)∨r(b,t) et fournit cette trace :
| Ligne | Clause | Justification |
|---|---|---|
| 1 | p(x) ∨ q(x,y) |
C1 |
| 2 | ¬p(a) ∨ r(b,z) |
C2 |
| 3 | ¬q(a,w) |
Première clause négative du support |
| 4 | ¬r(b,t) |
Deuxième clause négative du support |
| 5 | p(a) |
1 et 3, {x↦a,y↦w} |
| 6 | r(b,z) |
2 et 5 |
| 7 | □ |
4 et 6, {t↦z} |
La quantification du but doit être explicite. Les clauses négatives à variables universelles correspondent à la négation d’un but existentiel. Si le but est ∀w∀t(q(a,w)∨r(b,t)), sa négation est ∃w∃t(¬q(a,w)∧¬r(b,t)), donc les lignes 3–4 deviennent ¬q(a,k1) et ¬r(b,k2), avec deux constantes nouvelles. La même preuve se ferme avec y↦k1, puis z↦k2.
On peut également résoudre directement les lignes 1 et 2 avec x↦a et obtenir q(a,y)∨r(b,z), universellement quantifiée. Cela confirme la conséquence universelle et montre pourquoi la portée des variables d’un but ne doit pas être laissée implicite lors de sa négation.
5.3 Charles et Marie : un but fermé
Dans cette base, pere(X,Y) et parent(X,Y) signifient que X est père/parent de Y :
Code (text) · sélectionner pour copier
C1 : pere(charles,marie)
C2 : parent(claude,julie)
C3 : ¬pere(x,y) ∨ parent(x,y)
B : parent(charles,marie)
| Ligne | Clause | Justification |
|---|---|---|
| 1 | pere(charles,marie) |
C1 |
| 2 | parent(claude,julie) |
C2 |
| 3 | ¬pere(x,y) ∨ parent(x,y) |
C3 |
| 4 | ¬parent(charles,marie) |
¬B |
| 5 | ¬pere(charles,marie) |
3 et 4, {x↦charles,y↦marie} |
| 6 | □ |
1 et 5 |
Le fait sur Claude et Julie n’est pas utilisé. Une preuve n’a pas à consommer toutes les connaissances disponibles. Conclusion : Charles est parent de Marie selon cette base.
5.4 Retrouver qui est parent de Marie
Un succès fermé ne donne pas forcément le témoin d’une question. Pour demander qui est parent de Marie, le cours ajoute un littéral de réponse :
| Ligne | Clause | Justification |
|---|---|---|
| 1 | pere(charles,marie) |
Fait |
| 2 | parent(claude,julie) |
Fait |
| 3 | ¬pere(x,y) ∨ parent(x,y) |
Règle |
| 4 | ¬parent(z,marie) ∨ reponse(z) |
Question avec témoin z |
| 5 | ¬pere(z,marie) ∨ reponse(z) |
3 et 4, {x↦z,y↦marie} |
| 6 | reponse(charles) |
1 et 5, {z↦charles} |
La dernière clause conserve la valeur cherchée au lieu d’être vide. Prolog réalisera cette extraction en affichant les substitutions des variables de la requête, sans demander de coder reponse/1.
5.5 Etna : formalisation, témoin et quinze lignes
Les hypothèses sont : l’Etna dépasse en hauteur tous les volcans européens actifs; le Vésuve est un volcan italien actif de 1000 mètres; tout ce qui est italien est européen.
| Prédicat | Signification |
|---|---|
v(x) |
x est un volcan |
a(x) |
x est actif |
e(x) |
x est européen |
h(x,y) |
la hauteur de x est y |
d(x,y) |
x dépasse y; les arguments utilisés dans la preuve sont des hauteurs |
i(x) |
x est italien |
L’hypothèse générale fournie est :
Code (text) · sélectionner pour copier
∀x∀y∀z ((v(x) ∧ a(x) ∧ e(x) ∧ h(x,y) ∧ h(etna,z)) → d(z,y))
Elle donne une clause avec cinq conditions négatives et une conclusion positive. Les faits du Vésuve sont séparés en quatre clauses. La règle Italie→Europe devient ¬i(u)∨e(u).
La négation du but est donnée dans l’exercice :
Code (text) · sélectionner pour copier
∃t (h(etna,t) ∧ ¬d(t,1000))
Il ne faut pas la nier une deuxième fois. Son témoin devient une nouvelle constante k, appelée a dans le corrigé; k évite ici la confusion avec le prédicat a/1. Les deux clauses sont h(etna,k) et ¬d(k,1000).
| Ligne | Clause | Justification |
|---|---|---|
| 1 | ¬v(x) ∨ ¬a(x) ∨ ¬e(x) ∨ ¬h(x,y) ∨ ¬h(etna,z) ∨ d(z,y) |
Hypothèse générale |
| 2 | v(vesuve) |
Fait |
| 3 | ¬a(vesuve) ∨ ¬e(vesuve) ∨ ¬h(vesuve,y) ∨ ¬h(etna,z) ∨ d(z,y) |
1 et 2, x↦vesuve |
| 4 | a(vesuve) |
Fait |
| 5 | ¬e(vesuve) ∨ ¬h(vesuve,y) ∨ ¬h(etna,z) ∨ d(z,y) |
3 et 4 |
| 6 | ¬i(u) ∨ e(u) |
Italie→Europe |
| 7 | ¬i(vesuve) ∨ ¬h(vesuve,y) ∨ ¬h(etna,z) ∨ d(z,y) |
5 et 6, u↦vesuve |
| 8 | i(vesuve) |
Fait |
| 9 | ¬h(vesuve,y) ∨ ¬h(etna,z) ∨ d(z,y) |
7 et 8 |
| 10 | h(vesuve,1000) |
Fait |
| 11 | ¬h(etna,z) ∨ d(z,1000) |
9 et 10, y↦1000 |
| 12 | h(etna,k) |
Négation du but skolémisée |
| 13 | d(k,1000) |
11 et 12, z↦k |
| 14 | ¬d(k,1000) |
Négation du but skolémisée |
| 15 | □ |
13 et 14 |
Conclusion attendue : l’affirmation contraire conduit à une contradiction; la hauteur de l’Etna dépasse 1000 mètres selon la formalisation fournie.
Portée formelle : la négation donnée correspond au but ∀t(h(etna,t)→d(t,1000)). La preuve établit que toute hauteur associée à l’Etna dépasse 1000; l’existence d’une hauteur est implicite dans le problème naturel. Pour prouver séparément ∃t(h(etna,t)∧d(t,1000)) dans une base purement axiomatique, il faudrait aussi une hypothèse d’existence d’une hauteur. Cette distinction explique le rôle du témoin introduit par la négation donnée, sans changer la trace demandée.
5.6 Arthur : justifier une trace fournie
Les énoncés sont :
- E1 : une personne riche et intelligente est heureuse;
- E2 : une personne qui sait lire est intelligente;
- E3 : Arthur sait lire et est riche;
- E4 : une personne heureuse mène une vie intéressante.
Le but est l’existence d’une personne à la vie intéressante. Sa négation est universelle : ∀z ¬vie_interessante(z), puis l’universel est implicite dans la clause.
| Ligne | Clause | Justification |
|---|---|---|
| 1 | ¬vie_interessante(z) |
Négation du but existentiel |
| 2 | ¬lire(y) ∨ intelligent(y) |
E2 |
| 3 | lire(arthur) |
Première clause de E3 |
| 4 | ¬heureux(w) ∨ vie_interessante(w) |
E4 |
| 5 | ¬riche(x) ∨ ¬intelligent(x) ∨ heureux(x) |
E1 |
| 6 | riche(arthur) |
Deuxième clause de E3 |
| 7 | ¬heureux(w) |
1 et 4, z↦w |
| 8 | ¬riche(w) ∨ ¬intelligent(w) |
5 et 7, x↦w |
| 9 | ¬lire(w) ∨ ¬riche(w) |
2 et 8, y↦w |
| 10 | ¬riche(arthur) |
3 et 9, w↦arthur |
| 11 | □ |
6 et 10 |
Le corrigé imprime w/z à la ligne 7, puis réutilise w dans le résultat. w↦z donnerait ¬heureux(z), qu’on pourrait renommer; z↦w permet de conserver directement le résultat affiché. L’unification de deux variables peut prendre l’une ou l’autre orientation, mais le nom du résultat et les substitutions suivantes doivent rester cohérents.
La preuve remonte des vies intéressantes vers le bonheur, la richesse/intelligence puis la lecture. Dans le sens direct, Arthur lit, donc est intelligent; il est riche, donc heureux; il mène ainsi une vie intéressante. Arthur fournit le témoin du but existentiel. Pour l’exercice, il faut identifier l’origine de chaque ligne, et pas seulement annoncer ce témoin.
Base p,¬p∨q,¬q∨r; but r. Ajouter ¬r. Résoudre ¬q∨r avec ¬r pour obtenir ¬q; puis ¬p∨q avec ¬q pour obtenir ¬p; enfin p avec ¬p donne □. Les liens vont des deux clauses parentes vers leur résolvante. La contradiction établit C⊨r.
Source : Schéma original du portail, données autonomes; consolidation du 16 octobre 2026. · Maître S06 : 5.1 Propositionnel : prouver r