]> AND Private Git Repository - cours-maths-dis.git/blob - logique/Resolution.tex
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
pgcd, euclide,...
[cours-maths-dis.git] / logique / Resolution.tex
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.
6
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.  
13
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. 
17
18 \section{Cas propositionnel}\label{sec:rob:prop}
19
20 \subsection{Clauses propositionnelles}
21
22 % \subsubsection{Clauses}
23
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.
30 \end{Def} 
31
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 
35 règles de réécriture:
36 \begin{enumerate}
37 \item réduire les connecteurs : on ne conserve que $\et$ ,
38 $\ou$ et $\non$:
39 \begin{eqnarray*}
40 A\imp B &\leadsto  & \non A\ou B \\
41 A\eqv B & \leadsto & (\non A\et\non B)\ou(A\et B)
42 \end{eqnarray*}
43 \item distribuer récursivement chaque  OU sur un ET:
44   \begin{eqnarray*}
45     (A \land B) \lor C & \leadsto &  (A \lor C) \land (B \lor C) 
46   \end{eqnarray*}
47 \item réécrire les conjonctions de clauses comme un ensemble de clauses:
48   \begin{eqnarray*}
49      (B \lor D) \land (A \lor C \lor \neg D)  & \leadsto &  
50     \begin{array}{rcl}
51       \{ C_1 & =&  B \lor D,   \\
52       C_2 & =& A \lor C \lor \neg D \}.
53     \end{array}    
54   \end{eqnarray*}
55 \end{enumerate}
56
57
58 Enfin, la clause vide (sans littéraux) est 
59 représentée par \clv. Elle est insatisfaisable dans
60 toute interprétation.
61
62 \begin{Exo}\label{cnf1}
63 Mettre chacune des formules propositionnelles suivantes sous la forme CNF.
64 \begin{enumerate}
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)$
69 \end{enumerate}
70 \end{Exo}
71
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.
79
80
81 \begin{Exoc}
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$:
84 \begin{eqnarray*}
85 C_1 &= & P \lor \neg Q \lor \neg R \\
86 C_2 &= & \neg P \lor S \\
87 C_3 & =& \neg Q \\
88 C_4 & =& P \lor \neg S 
89 \end{eqnarray*}
90 Quelles paires de clauses sont résolubles et dans ce cas, quelle est la
91 résolvante?
92
93 Réponse:
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$.
96 \end{Exoc}
97
98 \begin{Exo}
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. 
101 \end{Exo}
102
103
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 
107 %de résolution 
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:
112
113 \begin{Th}[Déduction syntaxique par résolution]
114 Soit $\Gamma$ un ensemble de clauses et $C$ une clause, alors
115 \begin{itemize}
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)$ 
119   est contradictoire.
120 \end{itemize}
121 \end{Th}
122
123 \begin{Exoc}
124 Montrer que 
125 $$
126 \begin{array}{lrll}
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.
130 \end{array}  
131 $$
132
133 \noindent Réponse:
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.
138
139 \begin{itemize}
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 $.
146 \end{itemize}
147 On a donc bien le résultat souhaité.
148 \end{Exoc}
149
150
151 \begin{Exo} $ $
152 \begin{enumerate}
153 \item 
154 Montrer que l'ensemble des clauses engendrées par la  formule suivante est
155 contradictoire
156   $$(A \Imp B) \land 
157   (\neg A \Imp B \lor C) \land 
158   (\neg C \Imp \neg B) \land 
159   ((B \land C) \Imp \neg A) \land 
160   (C \Imp A)$$
161 \item Démontrer la déduction suivante:
162 $$
163 \{A \lor B \lor \neg D, \neg A \lor C \lor \neg D, \neg B, D \} \theor
164 C
165 $$
166 \end{enumerate}
167 \end{Exo}
168
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.
173 \begin{enumerate}
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 
181   \og Non\fg{}.
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.
189 \end{enumerate}
190 \end{Exo}
191
192 \section{Formes normales en logique des prédicats}\label{sec:form}
193
194
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.
198
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}.
202
203 \subsection{Forme prénexe } \label{sec:prenex}
204
205
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.
213 \end{Def}
214
215 % \subsubsection{Méthode}
216 La méthode à suivre est la suivante:
217 \begin{itemize}
218 \item Réduire les connecteurs: on ne conserve que $\et$ ,
219 $\ou$, $\non$:
220 \begin{eqnarray*}
221 A\imp B &\leadsto  & \non A\ou B \\
222 A\eqv B & \leadsto & (\non A\et\non B)\ou(A\et B)
223 \end{eqnarray*}
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: 
227 \begin{eqnarray*}
228 \qqs x\, .\,  A(x) & \leadsto & \qqs  y \, .\, A(y)\\
229 \exi x \, .\, A(x) & \leadsto & \exi  y \, .\, A(y)
230 \end{eqnarray*}
231 \item Faire \og remonter\fg{} les quantificateurs en tête, par les
232 réécritures  suivantes:
233 \begin{eqnarray*}
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) 
237 \end{eqnarray*}
238 \noindent et, si $x$ n'est pas variable libre de $C$ 
239 \begin{eqnarray*}
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))
244 \end{eqnarray*}
245 \end{itemize}
246
247
248
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 \\
257 \end{tabular}\par
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$
264
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$).
267 % \par\noindent
268 Pour cela, on considère les prédicats
269 \begin{itemize}
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.
274 \end{itemize}
275
276 Traduisez chacune des propositions ci dessus en logique des prédicats et 
277 ecrivez chaque formule sous la forme prenexe.
278
279 % On obtient\par
280 % \begin{tabular}{c l}
281 % $F_1$ & $\forall y\, .\, (\textit{cr}(y)\imp\exists x\, .\,  {\rm
282 %   co}(x,y))$ \\ 
283 % $F_2$ & $\forall x, y  \, .\, (\textit{cr}(y)\et \textit{cou}(x,y)) \imp {\rm
284 %   mal}(x)$ \\ 
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))$ \\
290 % \end{tabular}\par
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
295 % mal}(x))$ \\
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))$ \\
301 % \end{tabular}
302 \end{Exo}
303
304
305 \subsection{Forme de Skolem}\label{sec:skol}
306
307
308
309  
310 \begin{Def}[Forme de Skolem]
311   Une formule  est
312   sous forme normale de Skolem 
313   si sa forme prénexe contient uniquement des quantificateurs
314   universels. 
315 \end{Def}
316
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:
320
321 \begin{itemize}
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
328  pas ailleurs.
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)
333 \end{itemize}
334
335 Cette transformation est autorisée par le théorème suivant, que l'on admettra.
336
337
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{}.
343 \end{Th}
344
345
346
347
348 % On va vérifier ce théorème pour un ensemble réduit à une seule
349 % formule du type
350 % $$A = \qqs x\,.\, \exi y\, .\,  p(x,y)$$
351 % Sa forme de Skolem est
352 % $$A_S = \qqs x\,.\, p(x,f(x))$$
353 % \begin{itemize}
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
357 % % est satisfaite. 
358 % Comme la formule $\exi y\,.\, p(x,y)$ est vraie dans $E$,
359 % % Ceci
360 % % signifie que, 
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. 
373 % % En se plaçant
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
382 % montrer, et 
383 % donc, $E$ est un modèle de $A$.
384 % \end{itemize}
385
386
387
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}.  
390
391 % Des formes de Skolem des formules énoncées à l'exemple
392 % sont:
393
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
397 % mal}(x)$ \\ 
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)$ \\
403 % \end{tabular}
404
405 % où 
406 % $f$ est un symbole fonctionnel frais et 
407 % $a$ est une constante fraîche. 
408 \end{Exo}
409
410
411 \subsection{Forme clausale}\label{sec:cnf} 
412
413 % \subsubsection{Suppression des quantificateurs universels} 
414 Dans la forme de Skolem 
415 d'une formule ne subsistent donc que des quantificateurs
416 universels. Ceux-ci 
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
425 ${\cal A}$ de 
426 formules, on supprime les quantificateurs universels, et qu'on prouve
427 que 
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
430 auront pas 
431 non plus. 
432
433
434
435 On étend enfin la notion de clause propositionnelle en considérant ici 
436 des littéraux au lieu de variables propositionnelles.
437
438 \begin{Def}[Forme clausale]
439 Une \emph{clause} est une disjonction de littéraux (atome ou négation d'un
440 atome). 
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.
444 \end{Def} 
445
446
447
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}.
450 \end{Exo}
451 % La forme clausale est 
452
453 % $$
454 % \begin{array}{l}
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)\} \\
462 % \end{array}
463 % $$
464 % \end{Ex}
465
466 % \section{Système de Herbrand}
467
468 % %________________ 61.
469
470 % \subsection{Introduction}
471
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
484 % important).
485
486 % %________________ 62.
487
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.
496 % \psaut\noindent
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
503 % co}(x,y)$ \\
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:
508 % \begin{itemize}
509 % \item un symbole de constante ($a$)
510 % \item un symbole opératoire de poids 1 ($f$)
511 % \end{itemize}
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.
519
520 % %________________ 63.
521
522 % \subsection{Théorème de Herbrand}
523
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.
528
529 % \noindent Application:
530 % \begin{itemize} 
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é.
550 % \end{itemize}
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{} .
556
557 % %________________ 64.
558
559 % \subsection{Algorithme de Herbrand}
560
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).
572
573
574
575 % % \bibliographystyle{alpha}
576 % % \bibliography{biblio}
577
578
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.
584
585 \subsection{Résolvante d'une paire de clauses}
586 Comme précédemment, on ne considère que des formules mises sous la
587 forme clausale. 
588
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)$.
594
595
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]]
599
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.
606
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))$.
613
614 \begin{Ex}
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
618 $(f(y)/x, y/y)$. 
619 Sa résolvante est $\textit{Res}(C_1,C_2)= Q(g(f(y)))$.
620
621 Dans la pratique, on ne mentionne que les substitution qui modifient
622 les variables. On omettra ainsi celles du type $(y/y)$.
623 \end{Ex}
624
625 \begin{Exo}
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) $$ 
629 \end{Exo}
630
631
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
636 unificateur.
637
638 \begin{Ex}
639 Démontrons que l'ensemble de clauses 
640 $$\begin{array}{rll}
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) &\} \\
645 \end{array}
646 $$
647 est contradictoire.
648 Pour cela on résout les clauses et on calcule leur résolvante:
649 \begin{itemize}
650 \item $C_1$ et $C_3$ sont résolubles avec comme substitution $(b/X)$. 
651 Soit $C_5 = Q(W,b)$; 
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.
656 \end{itemize}
657 \end{Ex}
658
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:
662 \begin{itemize}
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
665 skolémisation);
666 \item la résolution est aussi plus complexe car elle nécessite 
667 d'exhiber l'unificateur le plus général.
668 \end{itemize}
669
670 \begin{Exo}
671 Montrer que les figures suivantes sont valides ou contradictoires à
672 l'aide de la méthode de résolution de Robinson.
673 \begin{eqnarray*}
674 \varphi_1 & = & (\exists X \, . \, 
675 ( \forall Y \,.\, 
676 S(X) \Ssi S(Y))) \land 
677 (\forall Z \, .\, S(Z)) \\
678 \varphi_2 & = & 
679 \forall X\,.\, \exists Y,Z \,. \,
680 (R(X,X) \Imp R(Z,Y)) \land 
681 (\neg R(X,X) \lor R(Y,Z)) \\
682 \varphi_3 & = & 
683 \forall X,Y\, .\, 
684 \exists Z\,.\, (R(X,X)\land R(X,Y)) \Imp R(X,Z) \\
685 \varphi_4 & = & 
686 \forall X,Y\, .\, 
687 \exists Z\,.\, R(X,Y)\land (R(Y,Z) \Imp \neg R(Z,Z)) \\
688 \end{eqnarray*}
689 \end{Exo}
690
691 \begin{Exo}
692 Démontrons la déduction suivante à l'aide de la méthode de
693 résolution de Robinson:
694 $$\begin{array}{rll}
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)
699 \end{array}
700 $$
701 \end{Exo}
702
703 \begin{Exo}
704 Sachant que :
705 \begin{itemize}
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
708   l'entreprise;
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
711   F.;
712 \item l'inspecteur n'a fouillé aucun des hommes de la bande de F..
713 \end{itemize}
714 Établir que certains membres de la bande de F. étaient membres du
715 personnel de l'entreprise. 
716 \end{Exo}
717
718 \begin{Exo}
719 \item Sachant que :
720 \begin{itemize}
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;
726 \end{itemize}
727 Déduire par la méthode de résolution le nom du frère de Carol.
728 \end{Exo}
729
730 \begin{Exo}
731 \item Sachant que :
732 \begin{itemize}
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)
737 \end{itemize}
738 Montrer que c'est Curiosity qui a tué le chat
739 \end{Exo}
740
741
742
743
744
745  \gsaut
746
747 \centerline{\x{Fin du Chapitre}}
748
749
750
751
752 % \item Article 1: Tout membre non \'Ecossais porte des chaussettes
753 %   oranges. 
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
759 % \'Ecossais et 
760 % marié. \item Article 6: Tout membre \'Ecossais porte une jupe.
761
762 % \end{itemize}
763
764 % Déterminer le nombre de membres de ce club.
765 % \end{Exo}