1 Que ce soit dans le cas dans le cas propositionnel
2 (comme montré à la Sec.~\ref{sec:rob:prop}) ou dans le cas du calcul
3 des prédicats (cf Sec.~\ref{sec:rob:pred}) la
4 méthode de \emph{résolution de Robinson} est un algorithme simple
5 de démonstration automatique.
7 Sa principale différence avec les systèmes
8 déductifs des chapitres précédents se situe dans le sens de la preuve:
9 tandis que ces deux derniers exploitent le modus ponens et
10 effectuent ainsi une preuve en arrière la
11 résolution va engendrer de nouveaux lemmes jusqu'à saturation
12 et fonctionne donc en avant.
14 On commencera par voir son application tout d'abord à la logique
15 propositionnelle pour s'intéresser ensuite à son intégration dans
16 le calcul des prédicats.
18 \section{Cas propositionnel}\label{sec:rob:prop}
20 \subsection{Clauses propositionnelles}
22 % \subsubsection{Clauses}
24 \begin{Def}[Forme clausale propositionnelle]
25 Une \emph{clause propositionnelle} est une disjonction de variables
26 propositionnelles éventuellement niées.
27 Une formule propositionnelle est en \emph{forme clausale} (CNF)
28 si elle est exprimée comme une conjonction de clauses.
29 On la représente classiquement comme un ensemble de clauses.
32 Une clause propositionnelle est donc de la forme
33 $A \ou B\ou \non C\ou\ldots$.
34 Pour parvenir à cette forme on utilise successivement les
37 \item réduire les connecteurs : on ne conserve que $\et$ ,
40 A\imp B &\leadsto & \non A\ou B \\
41 A\eqv B & \leadsto & (\non A\et\non B)\ou(A\et B)
43 \item distribuer récursivement chaque OU sur un ET:
45 (A \land B) \lor C & \leadsto & (A \lor C) \land (B \lor C)
47 \item réécrire les conjonctions de clauses comme un ensemble de clauses:
49 (B \lor D) \land (A \lor C \lor \neg D) & \leadsto &
51 \{ C_1 & =& B \lor D, \\
52 C_2 & =& A \lor C \lor \neg D \}.
58 Enfin, la clause vide (sans littéraux) est
59 représentée par \clv. Elle est insatisfaisable dans
62 \begin{Exo}\label{cnf1}
63 Mettre chacune des formules propositionnelles suivantes sous la forme CNF.
65 \item $P \Rightarrow Q$
66 \item $(P\lor Q) \Rightarrow R$
67 \item $(P \land Q) \lor (R \land S)$
68 \item $(P \Rightarrow Q) \land (Q \Rightarrow R) \land (\neg R)$
72 \subsection{Résolvantes d'une paire de clauses}
73 Deux clauses $C_1$ et $C_2$ forment une \emph{paire résoluble} s'il
74 existe un et un seul littéral $t$ tel que
75 $t$ appartient à $C_1$ et $\neg t$ appartient à $C_2$.
76 Dans ce cas, on appelle \emph{résolvante} de $C_1$ et $C_2$ la clause
77 notée $\textit{res}(C_1,C_2)$ obtenue en prenant la réunion des
78 littéraux de $C_1$ et $C_2$ moins cette paire opposée.
82 Soit quatre clausess $C_1$, $C_2$, $C_3$,$C_4$
83 définies à l'aide de variables propositionnelles $P$, $Q$, $R$ et $S$:
85 C_1 &= & P \lor \neg Q \lor \neg R \\
86 C_2 &= & \neg P \lor S \\
88 C_4 & =& P \lor \neg S
90 Quelles paires de clauses sont résolubles et dans ce cas, quelle est la
94 La seule paire résoluble est $(C_1,C_2)$ et sa résolvante est
95 $\textit{res}(C_1,C_2) = \neg Q \lor \neg R \lor S$.
99 Pour chacun des ensembles de clauses de l'exercice~\ref{cnf1}, dire quelles
100 paires sont résoluble et donner la résolvante le cas échéant.
104 \subsection{Résolution d'un ensemble de clauses}\label{sub:res:ens}
105 A partir d'un ensemble de clauses, on appelle
106 \emph{résolution} l'ensemble obtenu en appliquant la seule règle
108 qui, à partir de toute paire résoluble $(C_1,C_2)$ engendre la
109 résolvante $\textit{res}(C_1,C_2)$.
110 On peut alors appliquer cette méthode à la démonstration d'une formule
111 d'après le théorème suivant:
113 \begin{Th}[Déduction syntaxique par résolution]
114 Soit $\Gamma$ un ensemble de clauses et $C$ une clause, alors
116 \item $\Gamma$ est contradictoire si et seulement si la clause vide $\clv$
117 appartient à la résolution de $\Gamma$.
118 \item $\Gamma \theor C$ si et seulement si $\Gamma \cup CNF(C)$
127 \{& C_1 = & a \lor b \lor c, & \\
128 & C_2 = & \neg a \lor b \lor c,& \\
129 & C_3 = & \neg b \lor c & \} \theor c.
134 on nomme $C_4$ la clause $\neg c$;
135 on cherche à démontrer que la résolution de
136 $\{C_1,C_2,C_3,C_4 \}$
137 contient la clause vide.
140 \item $C_1$ et $C_2$ sont résolubles, soit
141 $C_5 = \textit{Res}(C_1,C_2) = b \lor c $.
142 \item $C_3$ et $C_5$ sont résolubles, soit
143 $C_6 = \textit{Res}(C_3,C_5) = c $.
144 \item $C_4$ et $C_6$ sont résolubles, soit
145 $C_7 = \textit{Res}(C_3,C_5) = \clv $.
147 On a donc bien le résultat souhaité.
154 Montrer que l'ensemble des clauses engendrées par la formule suivante est
157 (\neg A \Imp B \lor C) \land
158 (\neg C \Imp \neg B) \land
159 ((B \land C) \Imp \neg A) \land
161 \item Démontrer la déduction suivante:
163 \{A \lor B \lor \neg D, \neg A \lor C \lor \neg D, \neg B, D \} \theor
169 \begin{Exo}[Les Pures et les Pires~\cite{Smu98}]
170 L'ile de Puro Pira est peuplée
171 de \emph{Purs} qui disent toujours la vérité et de
172 de \emph{Pires} qui ne disent que des mensonges.
174 \item Débarqué sur l'île, l'antropologue Abercrombie rencontre trois indigènes
175 Arthur, Bernard et Charles.
176 Abercrombie demande d'abord à Arthur:
177 \og Est-ce que Bernard et Charles sont tous les deux des Purs?\fg{}, et
178 Arthur lui répondit:\og Oui\fg{}.
179 Alors Abercrombie lui demande encore:
180 \og Est-ce que Bernard est un Pur?\fg{}; la réponse d'Arthur fur
182 A l'aide de la méthode de résolution de Robinson, déduire dans quel groupe
183 appartient chacun des trois indigènes.
184 \item Abercrombie rencontre ensuite deux autres individus Armand et Bertrand.
185 Armand déclare d'une part \og l'un de nous deux au moins est un pire \fg{} et
186 d'autre part \og l'un de nous deux au plus est un pire\fg{}.
187 A l'aide de la méthode de résolution de Robinson, déduire dans quel groupe
188 appartient Armand et Bertrand.
192 \section{Formes normales en logique des prédicats}\label{sec:form}
195 Pour pouvoir appliquer la méthode de résolution dans la logique des
196 prédicats il est nécessaire
197 d'exprimer ces formules sous la forme clausale qui est une version étendue de la forme clausale propositionnelle.
199 Cette section présente la mise en forme prénexe, Sec.~\ref{sec:prenex},
200 la mise en forme de Skolem, Sec.~\ref{sec:skol} et
201 la mise en forme clausale, Sec.~\ref{sec:cnf}.
203 \subsection{Forme prénexe } \label{sec:prenex}
206 \begin{Def}[Forme prénexe]
207 Une formule $G$ est en forme prénexe si tous ses
208 quantificateurs ($\forall$ et $\exists$) apparaissent en tête, à
209 gauche, dans cette formule.
210 Elle est ainsi de la forme
211 $Q_1 x_1\,.\, Q_2 x_2\, .\, \ldots Q_n x_n\, .\, B$, où $B$ est une
212 formule sans quantificateurs.
215 % \subsubsection{Méthode}
216 La méthode à suivre est la suivante:
218 \item Réduire les connecteurs: on ne conserve que $\et$ ,
221 A\imp B &\leadsto & \non A\ou B \\
222 A\eqv B & \leadsto & (\non A\et\non B)\ou(A\et B)
224 \item Renommer les variables liées, de manière à ce que toute variable
225 liée ne le soit qu'une seule fois, et qu'aucune variable liée ne
226 présente d'occurrence libre, d'après les égalités suivantes:
228 \qqs x\, .\, A(x) & \leadsto & \qqs y \, .\, A(y)\\
229 \exi x \, .\, A(x) & \leadsto & \exi y \, .\, A(y)
231 \item Faire \og remonter\fg{} les quantificateurs en tête, par les
232 réécritures suivantes:
234 \non\non A& \leadsto & A \\
235 \non(\qqs x \, .\, A(x))& \leadsto & \exi x \, . \, \non A(x) \\
236 \non(\exi x \, .\, A(x))& \leadsto & \qqs x \, . \, \non A(x)
238 \noindent et, si $x$ n'est pas variable libre de $C$
240 C\ou\qqs x \, .\, A(x)& \leadsto & \qqs x \, .\, (C\ou A(x))\\
241 C\ou\exi x \, .\, A(x)& \leadsto & \exi x \, .\, (C\ou A(x))\\
242 C\et\qqs x \, .\, A(x)& \leadsto & \qqs x \, .\, (C\et A(x))\\
243 C\et\exi x \, .\, A(x)& \leadsto & \exi x \, .\, (C\et A(x))
249 \begin{Exo}\label{ex:crime}
250 On considère les propositions suivantes:\par
251 \begin{tabular}{ c l}
252 $P_1$ & Tout crime a un auteur \\
253 $P_2$ & Seuls les gens malhonnêtes commettent des crimes \\
254 $P_3$ & On n'arrête que les gens malhonnêtes \\
255 $P_4$ & Les gens malhonnêtes arrêtés ne commettent pas de crimes \\
256 $P_5$ & Des crimes se produisent \\
258 On voudrait en déduire:\par
259 \begin{tabular}{ c l}
260 $Q$ & Il y a des gens malhonnêtes en liberté \\
261 \end{tabular}\par\noindent
262 Sans anticiper sur les méthodes de résolution, on va ajouter aux
263 propositions $P_1$ à $P_5$ la proposition $P_6\approx\non Q$
265 % (si on montre que cet ensemble de propositions est \og insatisfaisable\fg{} , on aura
266 % montré que $Q$ est conséquence de $P_1$ à $P_5$).
268 Pour cela, on considère les prédicats
270 \item $\textit{ar}(x)$: la personne $x$ est arrêtée;
271 \item $\textit{mal}(x)$: la personne $x$ est malhonnête;
272 \item $\textit{cou}(x,y)$: la personne $x$ commet l'action $y$;
273 \item $\textit{cr}(y)$: l'action $y$ est un crime.
276 Traduisez chacune des propositions ci dessus en logique des prédicats et
277 ecrivez chaque formule sous la forme prenexe.
280 % \begin{tabular}{c l}
281 % $F_1$ & $\forall y\, .\, (\textit{cr}(y)\imp\exists x\, .\, {\rm
283 % $F_2$ & $\forall x, y \, .\, (\textit{cr}(y)\et \textit{cou}(x,y)) \imp {\rm
285 % $F_3$ & $\forall x\, .\, \textit{ar}(x)\imp \textit{mal}(x)$ \\
286 % $F_4$ & $\forall x\, .\, (\textit{mal}(x) \et \textit{ar}(x)) \imp
287 % (\forall y\, .\, \textit{cr}(y) \imp \neg \textit{cou}(x,y))$ \\
288 % $F_5$ & $\exists x \, .\, \textit{cr}(x)$ \\
289 % $F_6$ & $\non (\exists x \, .\, \textit{mal}(x) \et \non \textit{ar}(x))$ \\
291 % \noindent qui deviennent, sous forme prénexe,\par
292 % \begin{tabular}{c l}
293 % $F_1$ & $\forall y\,.\,\exists x \, .\, (\non\textit{cr}(y)\ou\textit{cou}(x,y))$ \\
294 % $F_2$ & $\forall x, y \, .\, (\non\textit{cr}(y)\ou\non\textit{cou}(x,y)\ou{\rm
296 % $F'_3$ & $\forall x \, .\, (\non\textit{ar}(x)\ou\textit{mal}(x))$ \\
297 % $F_4$ & $\forall x,y \, .\, (\non\textit{mal}(x)\ou\non
298 % \textit{ar}(x)\ou\non\textit{cr}(y)\ou\non\textit{cou}(x,y))$ \\
299 % $F_5$ & $\exists x\,.\, \textit{cr}(x)$ \\
300 % $F_6$ & $\forall x\,.\, (\non\textit{mal}(x)\ou\textit{ar}(x))$ \\
305 \subsection{Forme de Skolem}\label{sec:skol}
310 \begin{Def}[Forme de Skolem]
312 sous forme normale de Skolem
313 si sa forme prénexe contient uniquement des quantificateurs
317 La démarche qui consiste a supprimer les quantifications
318 existentielles de la forme prénexe est appelée \emph{skolémisation} et
319 est définie comme suit:
322 \item Soit $\exi x_j$ un quantificateur existentiel qui figure
323 après les $n$ quantificateurs universels
324 $\qqs x_{j_1}\qqs x_{j_2}\ldots\qqs x_{j_n}$.
325 La quantification $\exi x_j$ est supprimée et la variable
326 $x_j$ est remplacé par le terme $f(x_{j_1}, x_{j_2}\ldots,
327 x_{j_n})$ où $f$ est un symbole fonctionnel $n$-aire qui n'apparaît
329 \item Soit $\exi x_j$ un quantificateur existentiel qui n'est
330 précédé par aucun quantificateur universel: on peut le supprimer et
331 remplacer $x_j$ par un symbole de constante frais $c_j$
332 %(qui n'est autre qu'un symbole fonctionnel zéro-aire)
335 Cette transformation est autorisée par le théorème suivant, que l'on admettra.
338 \begin{Th}[Théorème de Skolem]
339 Soit ${\cal A}$ un ensemble fini de formules
340 et ${\cal A}_S$ l'ensemble des formes de Skolem de ces formules.
341 Alors, ${\cal A}$ peut être interprétée à \og \vrai\fg{}
342 si et seulement si ${\cal A}_S$ peut aussi être interprétée à \og \vrai\fg{}.
348 % On va vérifier ce théorème pour un ensemble réduit à une seule
350 % $$A = \qqs x\,.\, \exi y\, .\, p(x,y)$$
351 % Sa forme de Skolem est
352 % $$A_S = \qqs x\,.\, p(x,f(x))$$
354 % \item Soit $E$ un modèle de $A$;
355 % % Ce modèle admet une relation binaire $p$.
356 % % $E$ étant un modèle de $A$, par définition, $A$ y
358 % Comme la formule $\exi y\,.\, p(x,y)$ est vraie dans $E$,
361 % pour chaque valeur $\alpha$ de $x$, il existe au moins une
362 % valeur $\beta$ de $y$ telle que $p(\alpha,\beta)$
363 % a la valeur de vérité \og \vrai\fg{}.
364 % On peut définir une fonction $f$ de $E$
365 % dans lui-même en posant, qui associe à chaque valeur de $\alpha$ un
366 % des $\beta$ choisis précédemment ($f(\alpha) = \beta$).
367 % % Le problème se complique s'il existe plusieurs, voire
368 % % une infinité de valeurs de $y$ possibles pour une valeur donnée de $x$.
369 % % Autrement dit, se pose le problème de l'axiome du choix. Mais c'est le
370 % % théorème de Löwenheim-Skolem qui intervient ici; ce théorème
371 % % affirme en effet que, si un ensemble de formules de \og \textit{PR}\fg{} admet un
372 % % modèle, alors il admet un modèle.% de base dénombrable.
374 % % dans ce modèle, le choix auquel il est fait allusion est possible, sans
375 % % recours à l'axiome du choix. Ayant ainsi défini une fonction $f$, E,
376 % % cette fois muni de $p$ et de $f$, constitue
377 % On a donc un modèle pour la formule
378 % $\qqs x \, .\, p(x,f(x))$, c'est à dire pour $A_S$.
379 % \item Réciproquement, si
380 % $E$ est un modèle de $A_S$, alors, évidemment, $\exi y\,.\, p(x,y)$
381 % est valide dans $E$, puisqu'il suffit d'exhiber $y=f(x)$ pour le
383 % donc, $E$ est un modèle de $A$.
388 \begin{Exo}[Suite exemple~\ref{ex:crime}]\label{ex:crime:2}
389 Donnez la forme de Skolem de chacune des formules de l'exercice~\ref{ex:crime}.
391 % Des formes de Skolem des formules énoncées à l'exemple
394 % \begin{tabular}{c l}
395 % $F''_1$ & $\qqs y\,. \, \non\textit{cr}(y) \ou \textit{cou}(f(y),y)$ \\
396 % $F''_2$ & $\qqs x, y \, .\, \non\textit{cr}(y)\ou\non\textit{cou}(x,y)\ou{\rm
398 % $F''_3$ & $\qqs x \, .\, \non\textit{ar}(x)\ou\textit{mal}(x)$ \\
399 % $F''_4$ & $\qqs x, y \, .\, \non
400 % \textit{mal}(x)\ou\non\textit{ar}(x)\ou\non\textit{cr}(y)\ou\non\textit{cou}(x,y)$ \\
401 % $F''_5$ & $\textit{cr}(a)$ \\
402 % $F''_6$ & $\forall x \, . \, \non\textit{mal}(x)\ou\textit{ar}(x)$ \\
406 % $f$ est un symbole fonctionnel frais et
407 % $a$ est une constante fraîche.
411 \subsection{Forme clausale}\label{sec:cnf}
413 % \subsubsection{Suppression des quantificateurs universels}
414 Dans la forme de Skolem
415 d'une formule ne subsistent donc que des quantificateurs
417 sont purement et simplement supprimés. Cette suppression est autorisée
418 par la méthode de déduction utilisée
419 %(et n'est possible que si c'est cette méthode qui est effectivement utilisée).
420 En effet, pour prouver
421 que la formule $T$ est conséquence de l'ensemble de formules ${\cal A}$, on
422 cherche à prouver que ${\cal A}\cup\{\non T\}$ n'admet pas de modèle.
423 Pour cela, il suffit d'exhiber une contradiction dans un \og cas
424 particulier\fg{} , et il est bien clair que, si, dans l'ensemble
426 formules, on supprime les quantificateurs universels, et qu'on prouve
428 ces formules, avec $\non T$, n'admettent pas de modèle, alors les
429 formules \og complètes\fg{} , avec quantificateurs, et $\non T$, n'en
435 On étend enfin la notion de clause propositionnelle en considérant ici
436 des littéraux au lieu de variables propositionnelles.
438 \begin{Def}[Forme clausale]
439 Une \emph{clause} est une disjonction de littéraux (atome ou négation d'un
441 Une formule est en \emph{forme clausale} (CNF)
442 si elle est exprimée comme une conjonction de clauses.
443 On la représente classiquement comme un ensemble de clauses.
448 \begin{Exo}[Suite de l'exo~\ref{ex:crime:2}]
449 Donner la forme clausale des formes de Skolem de l'exo~\ref{ex:crime:2}.
451 % La forme clausale est
455 % \{\non\textit{cr}(y) \ou \textit{cou}(f(y),y), \\
456 % \quad \non \textit{cr}(y)\ou\non\textit{cou}(x,y)\ou\textit{mal}(x), \\
457 % \quad \non\textit{ar}(x)\ou\textit{mal}(x), \\
458 % \quad \non \textit{mal}(x) \ou \non\textit{ar}(x) \ou \non\textit{cr}(y) \ou
459 % \non \textit{cou}(x,y), \\
460 % \quad \textit{cr}(a), \\
461 % \quad \non\textit{mal}(x)\ou\textit{ar}(x)\} \\
466 % \section{Système de Herbrand}
468 % %________________ 61.
470 % \subsection{Introduction}
472 % Pour reconnaître si, oui ou non, un ensemble de formules admet un
473 % modèle, il faut essayer diverses interprétations possibles: à un élément, à
474 % deux éléments, \ldots., à une infinité d'éléments. Chacun de ces
475 % essais conduit lui-même à de nombreux cas; l'intérêt du théorème
476 % de Herbrand est qu'il affirme que tous ces essais peuvent se ramener à un
477 % seul, qui n'utilise que le \og vocabulaire\fg{} des formules qui sont en question,
478 % un \og modèle syntaxique\fg{} unique. Par ailleurs la méthode des \og tables de
479 % vérité\fg{} , ou, ce qui revient au même, la méthode des fonctions de
480 % vérité booléennes, conduit elle aussi à un nombre d'essais très
481 % rapidement beaucoup trop grand (dès que les formules sont un peu
482 % compliquées ou un peu nombreuses et comportent beaucoup de variables. Le
483 % nombre d'essais croît comme $2^n$, et devient très vite trop
486 % %________________ 62.
488 % \subsection{Univers, atomes, système de Herbrand}
489 % Pour un ensemble de formules (mis sous forme de clauses), l'univers de Herbrand associé
490 % est l'ensemble des termes sans variables qui peuvent être construits à
491 % partir du vocabulaire de ces formules (symboles de constantes et symboles
492 % opératoires ou fonctionnels). Pour que cet univers ne soit pas vide, s'il
493 % n'y a pas de constante, on en introduit une. Les atomes de Herbrand sont les
494 % atomes qui interviennent dans ces formules, lorsqu'on a remplacé les
495 % variables par des éléments de l'univers de Herbrand.
497 % Reprenons l'exemple de nos criminels\par
498 % \begin{tabular}{c l}
499 % $F'''_1$ & $\non\textit{cr}(y)\ou\textit{cou}(f(y),y)$ \\
500 % $F'''_2$ & $\non\textit{cr}(y)\ou\non\textit{cou}(x,y)\ou\textit{mal}(x)$ \\
501 % $F'''_3$ & $\non\textit{ar}(x)\ou\textit{mal}(x)$ \\
502 % $F'''_4$ & $\non\textit{mal}(x)\ou\non\textit{ar}(x)\ou\non\textit{cr}(y)\ou\non{\rm
504 % $F'''_5$ & $\textit{cr}(a)$ \\
505 % $F'''_6$ & $\non\textit{mal}(x)\ou\textit{ar}(x)$ \\
506 % \end{tabular}\par\noindent
507 % Les éléments du vocabulaire de ces clauses sont:
509 % \item un symbole de constante ($a$)
510 % \item un symbole opératoire de poids 1 ($f$)
512 % L'univers de Herbrand est donc
513 % $$\{a,f(a),f(f(a)),f(f(f(a))),\ldots\}$$
514 % Un atome de Herbrand est\par
515 % \centerline{$\textit{ar}(a)$, ou $\textit{mal}(f(f(a)))$, ou, etc\ldots}\par\noindent
516 % Le système de Herbrand est obtenu en remplaçant successivement les
517 % variables de l'ensemble de formules considéré par les éléments de
518 % l'univers de Herbrand.
520 % %________________ 63.
522 % \subsection{Théorème de Herbrand}
524 % Un ensemble de clauses admet un modèle si et seulement s'il admet un
525 % modèle basé sur l'univers de Herbrand. De plus, pour que cet ensemble de
526 % clauses soit insatisfaisable, il suffit que l'une des formules du système de
527 % Herbrand ne soit pas satisfaisable.
529 % \noindent Application:
531 % \item 1$^{\hbox{\rm ère}}$ génération: avec $x=a$ , $y=a$\par
532 % \{$\non\textit{cr}(a)\ou\textit{cou}(f(a),a)$ , $\non\textit{cr}(a)\ou\non{\rm
533 % co}(a,a)\ou\textit{mal}(a)$ , $\non\textit{ar}(a)\ou\textit{mal}(a)$ , $\non{\rm
534 % mal}(a)\ou\non\textit{ar}(a)\ou\non\textit{cr}(a)\ou\non\textit{cou}(a,a)$ , ${\rm
535 % cr}(a)$ , $\non\textit{mal}(a)\ou\textit{ar}(a)$\}\vskip 5pt
536 % satisfaisables:\par
537 % \begin{tabular}{c c c c c}
538 % $\textit{cr}(a)$ & $\textit{cou}(f(a),a)$ & $\non\textit{cou}(a,a)$ & $\non\textit{ar}(a)$
539 % & $\non\textit{mal}(a)$ \\ ou \\
540 % $\textit{cr}(a)$ & $\textit{cou}(f(a),a)$ & $\non\textit{cou}(a,a)$ & $\textit{ar}(a)$ &
541 % $\textit{mal}(a)$ \\ \end{tabular}
542 % \item 2$^{\hbox{\rm ème}}$ génération: avec $x=f(a)$ , $y=a$\par
543 % \{$\non\textit{cr}(a)\ou\non\textit{cou}(f(a),a)\ou\textit{mal}(f(a))$ , $\non{\rm
544 % ar}(f(a))\ou \textit{mal}(f(a))$ , $\non\textit{mal}(f(a))\ou\non{\rm
545 % ar}(f(a))\ou\non\textit{cr}(a)\ou\non\textit{cou}(f(a),a)$ , $\non{\rm
546 % mal}(f(a))\ou\textit{ar}(f(a))$\}\vskip 5pt
547 % la première exige $\textit{mal}(f(a))$,
548 % donc la dernière exige $\textit{ar}(f(a))$, donc la troisième ne peut
549 % être satisfaite: c'est terminé.
551 % L'ensemble de clauses n'admet pas de
552 % modèle ayant basé sur l'univers de Herbrand, donc il n'admet aucun
553 % modèle, donc la formule $F_6$ n'est pas conséquence des cinq
554 % premières, donc $\non F_6$ est un théorème, et donc \og il y a bien des
555 % personnes malhonnêtes en liberté\fg{} .
557 % %________________ 64.
559 % \subsection{Algorithme de Herbrand}
561 % Il s'agit du premier algorithme de \og démonstration automatique\fg{} . D'un
562 % point de vue théorique, il ne fait rien de plus que celui qui consisterait
563 % à produire toutes les conséquences possibles (à l'aide des règles
564 % d'inférence) des formules de l'ensemble de départ, pour essayer de
565 % trouver la formule finale comme conséquence de cet ensemble. Il est
566 % cependant plus facile à mettre en \oe uvre, et donne souvent le résultat
567 % plus rapidement que la méthode des tables de vérité. Cependant, il doit
568 % être clair qu'il s'agit d'un algorithme qui s'arrête au bout d'un temps
569 % fini (éventuellement long!) si l'ensemble de clauses est insatisfaisable,
570 % mais qui ne s'arrête pas dans le cas contraire (conséquence
571 % désagréable de l'indécidabilité du calcul des prédicats\ldots).
575 % % \bibliographystyle{alpha}
576 % % \bibliography{biblio}
579 \section{Résolution en logique des prédicats}\label{sec:rob:pred}
580 La méthode de résolution étendue au calcul des prédicats est plus
581 complexe que sa version en calcul propositionnel puisqu'elle doit
582 prendre en compte l'existence de variables.
583 Elle sert de base au langage Prolog qui est étudié en TP.
585 \subsection{Résolvante d'une paire de clauses}
586 Comme précédemment, on ne considère que des formules mises sous la
589 Deux clauses $C_1$ et $C_2$ forment une paire résoluble si et
590 seulement si elles contiennent au moins une paire de littéraux
591 $P(t_1,\ldots, t_n)$ et $\neg P(t'_1,\ldots,t'_n)$ telle qu'il existe
592 une substitution $\sigma$ avec
593 $\sigma(t_1)= \sigma(t'_1)$, \ldots, $\sigma(t_n)= \sigma(t'_n)$.
596 pour tout $i$, $1 \le i \le n$,
597 $t_i\ sigma = t'_i \sigma$.
598 %[[JFC : est ce que qu'il ne doit y avoir qu'un seul literal]]
600 Dans un tel cas, à partir de la liste de paires de termes
601 $\{(t_1, t'_1), \ldots, (t_n, t'_n)\}$, toute substitution
602 telle que $\sigma(t_i)= \sigma(t'_i)$ est appelé \emph{unificateur}.
603 Il s'agit de trouver l'unificateur \emph{le plus général}: c'est celui tel que
604 toute autre substitution se déduit de cet unificateur par composition
605 à partir d'une autre substitution.
607 En pratique, on cherchera la substitution la moins particulière possible.
608 Dans ce cas, on appelle résolvante de $C_1$ et $C_2$ la clause notée
609 $\textit{Res}(C_1,C_2)$ obtenue en prenant la réunion de $C_1$ et de
610 $C_2$, en effectuant $\sigma$ et en supprimant la paire opposée
611 $P(\sigma(t_1),\ldots, \sigma(t_n))$ et
612 $\neg P(\sigma(t'_1),\ldots,\sigma(t'_n))$.
615 Soit deux clauses $C_1 = P(x) \lor Q(g(x))$ et
616 $C_2 = \neg P(f(y))$.
617 La paire $(C_1, C_2)$ est résoluble en prenant comme substitution
619 Sa résolvante est $\textit{Res}(C_1,C_2)= Q(g(f(y)))$.
621 Dans la pratique, on ne mentionne que les substitution qui modifient
622 les variables. On omettra ainsi celles du type $(y/y)$.
626 Peut-on unifier les deux formules atomiques suivantes?
627 $$ P(f(X,g(Z)),X,f(Y,g(b))) \textrm{ et }
628 P(f(U,g(f(a,b))),X,U) $$
632 \subsection{Résolution d'un ensemble de
633 clauses}\label{sub:res:ens:pred}
634 La démarche est exactement la même qu'à la section~\ref{sub:res:ens},
635 modulo le fait qu'on considère ici la règle de résolution avec
639 Démontrons que l'ensemble de clauses
641 \{ & C_1 = P(a,X) \lor Q(Y,X), & \\
642 & C_2 = \neg Q(Z,T) \lor R(a,Z), & \\
643 & C_3 = \neg P(a,b), & \\
644 & C_4 = \neg R(U,V) &\} \\
648 Pour cela on résout les clauses et on calcule leur résolvante:
650 \item $C_1$ et $C_3$ sont résolubles avec comme substitution $(b/X)$.
652 \item $C_2$ et $C_4$ sont résolubles avec comme substitution
653 $(a/U,Z/V)$. Soit $C_6 = \neg Q(Z',T')$;
654 \item $C_5$ et $C_6$ sont résolubles avec comme substitution
655 $(W/Z',b/T')$. Soit $C_7 = \clv$, ce qui termine la démonstration.
659 \subsection{Mise en {\oe}uvre de la résolution}
660 La mise en {\oe}uvre de la résolution est moins immédiate que dans le
661 cas propositionnel: en raison de la présence de variables quantifiées:
663 \item la mise en forme clausale est plus complexe car elle
664 nécessite deux étapes supplémentaires (mise en forme prénexe et
666 \item la résolution est aussi plus complexe car elle nécessite
667 d'exhiber l'unificateur le plus général.
671 Montrer que les figures suivantes sont valides ou contradictoires à
672 l'aide de la méthode de résolution de Robinson.
674 \varphi_1 & = & (\exists X \, . \,
676 S(X) \Ssi S(Y))) \land
677 (\forall Z \, .\, S(Z)) \\
679 \forall X\,.\, \exists Y,Z \,. \,
680 (R(X,X) \Imp R(Z,Y)) \land
681 (\neg R(X,X) \lor R(Y,Z)) \\
684 \exists Z\,.\, (R(X,X)\land R(X,Y)) \Imp R(X,Z) \\
687 \exists Z\,.\, R(X,Y)\land (R(Y,Z) \Imp \neg R(Z,Z)) \\
692 Démontrons la déduction suivante à l'aide de la méthode de
693 résolution de Robinson:
695 \{ & \forall X \,.\, S(X,X) \Imp U(X,X) & \\
696 \{ & \forall X,Z \, .\, \neg (T(Z,F(X)) \land U(Z,F(X))) & \\
697 \{ & \forall Y,Z\, . \, R(Y,Z) \lor S(Y,Z) & \} \theor
698 \exists X,Y\,.\, T(X,Y) \Imp R(X,Y)
706 \item l'inspecteur fouillait tous ceux qui pénétraient dans le
707 bâtiment sauf ceux accompagnés par des membres du personnel de
709 \item certains des hommes de la bande de F. pénétraient dans le
710 bâtiment sans être accompagnés de personne étrangère à la bande de
712 \item l'inspecteur n'a fouillé aucun des hommes de la bande de F..
714 Établir que certains membres de la bande de F. étaient membres du
715 personnel de l'entreprise.
721 \item un oncle est soit le frêre d'une mère, sont le frère d'un père;
722 \item Fred est l'oncle de Jack;
723 \item Bob est le père de Jack;
724 \item Carol est la mère de Jack;
725 \item Bob n'a pas de frère;
727 Déduire par la méthode de résolution le nom du frère de Carol.
733 \item Jack possède un chien;
734 \item Chaque possesseur de chien aime les animaux;
735 \item Un amoureux des animaux ne peux pas tuer un animal
736 \item Soit Jack ou Curiosity ont tué le chat (dont le nom est Tuna)
738 Montrer que c'est Curiosity qui a tué le chat
747 \centerline{\x{Fin du Chapitre}}
752 % \item Article 1: Tout membre non \'Ecossais porte des chaussettes
754 % \item Article 2: Tout membre porte une jupe ou ne porte pas de
755 % chaussettes oranges.
756 % \item Article 3: Les membres mariés ne sortent pas le dimanche.
757 % \item Article 4: Un membre sort le dimanche si et seulement s'il
758 % est \'Ecossais. \item Article 5: Tout membre qui porte une jupe est
760 % marié. \item Article 6: Tout membre \'Ecossais porte une jupe.
764 % Déterminer le nombre de membres de ce club.