Systèmes formels de preuve en logique du premier ordre : exemples II

publicité
Systèmes formels de preuve
en logique du premier ordre : exemples II
0. Résumé des épisodes précédents
Systèmes à la Frege-Hilbert
Déduction Naturelle
Calcul des Séquents
Aujourd’hui : recherche de démonstrations dans le calcul des
séquents sans coupures — Résolution
I. La recherche de démonstrations dans le calcul des séquents sans
coupures
Les règles logiques à droites
Γ ` >, ∆
>-droite
Γ ` A, ∆ Γ ` B, ∆
∧-droite
Γ ` A ∧ B, ∆
Γ ` A, B, ∆
∨-droite
Γ ` A ∨ B, ∆
Γ, A ` B, ∆
⇒-droite
Γ ` A ⇒ B, ∆
Γ, A ` ∆
¬-droite
Γ ` ¬A, ∆
Γ ` A, ∆
∀-droite
Γ ` ∀x A, ∆
Γ ` (t/x)A, ∆
∃-droite
Γ ` ∃x A, ∆
x 6∈ VL(Γ∆)
Les règles logiques à gauches
Γ, ⊥ ` ∆
⊥-gauche
Γ, A, B ` ∆
∧-gauche
Γ, A ∧ B ` ∆
Γ, A ` ∆ Γ, B ` ∆
∨-gauche
Γ, A ∨ B ` ∆
Γ ` A, ∆ Γ, B ` ∆
⇒-gauche
Γ, A ⇒ B ` ∆
Γ ` A, ∆
¬-gauche
Γ, ¬A ` ∆
Γ, (t/x)A ` ∆
∀-gauche
Γ, ∀x A ` ∆
Γ, A ` ∆
∃-gauche
Γ, ∃x A ` ∆
x 6∈ VL(Γ∆)
Axiome, contraction, coupure
Γ, A ` A, ∆
axiome
Γ, A, A ` ∆
contraction-gauche
Γ, A ` ∆
Γ ` A, A, ∆
contraction-droite
Γ ` A, ∆
Γ ` A, ∆ Γ, A ` ∆ coupure
Γ`∆
Quels choix ?
Plus besoin d’énumérer toutes les propositions possibles
Mais ... il reste quelques choix à faire
1. Le choix du séquent
?
?
P, Q ` P
P, Q ` Q
∧-droite
P, Q ` P ∧ Q
2. Le choix de la proposition
P ∧Q `Q ∨R
3. Le choix de la règle : logique, contraction (ou axiome)
4. Le choix du terme
Γ, (t/x)A ` B
∀-gauche
Γ, ∀x A ` B
Les labyrinthes et les œufs mimosa
Choix arborescent
Ou bien A ou ou bien B : on choisit A, si A échoue on choisit B
(cas général)
Choix indiffèrent
Ou bien A ou bien B : peu importe que l’on choisisse A ou B, le
résultat sera le même
(séquentialisation de tâches indépendantes)
1. Le choix du séquent
2. Le choix de la proposition
∀x P(x), ∀x Q(x) ` ∀x (P(x) ∧ Q(x))
3. Le choix de la règle :
` ∃x (¬P(x) ∨ P(S(x)))
4. Le choix du terme
∀x P(x) ` P(4)
Choix finis et infinis
Choix de la proposition : fini
Choix de la règle : fini
Choix du terme : infini
Éviter le choix du terme
axiome
?
∃-droite
P(f (f (c))) ` ∃x P(f (x))
essayer c, f (c), f (f (c)), ...
Quel terme choisir ? Comment l’a-t-on deviné ?
Essayons plutôt de retarder le choix de ce terme
axiome
P(f (f (c))) ` P(f (X ))
∃-droite
P(f (f (c))) ` ∃x P(f (x))
Essayons plutôt de retarder le choix de ce terme
axiome
P(f (f (c))) ` P(f (X ))
∃-droite
P(f (f (c))) ` ∃x P(f (x))
Schéma de démonstration :
I
∃-droite et ∀-gauche limités à une (méta)-variable
I
la règle axiome permet de démontrer n’importe quel séquent
Dans un second temps
axiome
P(f (f (c))) ` P(f (X ))
∃-droite
P(f (f (c))) ` ∃x P(f (x))
Chercher une substitution de X qui parfait ce schéma de
démonstration (c’est-à-dire le transforme en démonstration)
En comparant P(f (f (c))) et P(f (X ))
Parfaire un schéma de démonstration
Dans chaque séquent démontré par la (pseudo) règle axiome
On choisit une proposition atomique à gauche et à droite
Et on cherche une substitution qui rend tous ces couples
identiques : l’algorithme d’unification
(puis on vérifie les conditions x n’apparaît pas dans Γ∆)
L’algorithme d’unification : un exemple
Les solutions du problème
P(f (X )) = P(f (f (c)))
sont les mêmes que celles du problème
f (X ) = f (f (c))
qui sont les mêmes que celles du problème
X = f (c)
et ce problème a une solution qui est la substitution f (c)/X .
L’algorithme d’unification
Une leçon entière
σ mgu : toute solution de la forme η ◦ σ
Exercice
Démontrer la propriété de la sous-formule
Toutes les propositions dans une démonstration sans coupure de A
sont des sous-formules de A
I
S(>) = {>}
I
S(⊥) = {⊥}
I
S(A ∧ B) = {A ∧ B} ∪ S(A) ∪ S(B)
I
S(A ∨ B) = {A ∨ B} ∪ S(A) ∪ S(B)
I
S(A ⇒ B) = {A ⇒ B} ∪ S(A) ∪ S(B)
I
S(¬A) = {¬A} ∪ S(A)
I
S(∀x A) = {∀x A} ∪ {(t/x)A | t ∈ T }
I
S(∃x A) = {∃x A} ∪ {(t/x)A | t ∈ T }
II. Le théorème de Herbrand
La (non) commutation des règles du calcul des séquents
...
` ¬P(0) ∨ P(S(0)), ¬P(S(0)) ∨ P(S(S(0)))
` ¬P(0) ∨ P(S(0)), ∃x (¬P(x) ∨ P(S(x)))
` ∃x (¬P(x) ∨ P(S(x))), ∃x (¬P(x) ∨ P(S(x)))
` ∃x (¬P(x) ∨ P(S(x)))
Impossible de commuter les règles contraction-droite et ∃-droite
Mais commutation dans l’autre sens (contraction vers le bas,
∃-droite vers le haut)
Les séquents de la forme
` ∃A
A sans quantificateurs
Alors une démonstration sans coupures en trois phases :
1. des règles contraction-droite
2. des règles ∃-droite
3. des règles propositionnelles
Corollaire (Théorème de Herbrand)
Si
∃x A
démontrable
alors il existe θ1 , ..., θn , telles que
θ1 A1 ∨ ... ∨ θn An
démontrable (sans quantificateur)
Corollaire (mais précurseur) du théorème d’élimination des coupures
À gauche
Si
∀x A
incohérent
alors il existe θ1 , ..., θn , telles que
θ1 A1 ∧ ... ∧ θn An
incohérent
III. La Résolution
Clauses et formes clausales
Littéral : proposition atomique ou négation proposition atomique
Clause : disjonction de littéraux
Exemple : ¬P(x) ∨ P(S(x))
Quantification universelle implicite
0 littéral : ⊥
Disjonction implicitement AC1 (multiensembles)
Toute proposition peut être mise en forme clausale
Transformer un ensemble de propositions Γ en un ensemble de
clauses Γ0
(les clôtures universelles de) Γ0 cohérent (satisfiable)
si et seulement si
(les clôtures universelles de) Γ cohérent (satisfiable)
Γ, C ∨ (A ∧ B)
Γ, C ∨ (A ⇒ B)
Γ, C ∨ >
Γ, C ∨ ⊥
Γ, C ∨ ∀x A
Γ, C ∨ ∃x A
−→
−→
−→
−→
−→
−→
Γ, C
Γ, C
Γ
Γ, C
Γ, C
Γ, C
∨ A, C ∨ B
∨ ¬A ∨ B
Γ, C ∨ ¬(A ∧ B)
Γ, C ∨ ¬(A ∨ B)
Γ, C ∨ ¬(A ⇒ B)
Γ, C ∨ ¬>
Γ, C ∨ ¬⊥
Γ, C ∨ ¬∀x A
Γ, C ∨ ¬∃x A
Γ, C ∨ ¬¬ A
−→
−→
−→
−→
−→
−→
−→
−→
Γ, C
Γ, C
Γ, C
Γ, C
Γ
Γ, C
Γ, C
Γ, C
∨ ¬A ∨ ¬B
∨ ¬A, C ∨ ¬B
∨ A, C ∨ ¬B
∨ A (∗)
∨ (f (y1 , . . . , yn )/x)A (∗∗)
∨ ¬(f (y1 , . . . , yn )/x)A (∗∗)
∨ ¬A (∗)
∨A
(*) x 6∈ VL(C )
(**) f pas dans l’ensemble et {y1 , ..., yn } = VL(A)
La Résolution
Démontrer Γ ` A
Démontrer Γ, ¬A `
C1 , ..., Cn : forme clausale de Γ, ¬A
Recherche d’une contradiction (clause vide) à partir de C1 , ..., Cn
avec
P ∨ C ¬Q ∨ C 0
σ = mgu(P, Q) Résolution
σ(C ∨ C 0 )
L ∨ L0 ∨ C
σ = mgu(L, L0 ) Factorisation
σ(L ∨ C )
Un exemple
P(0), ∀x (P(x) ⇒ P(S(x)) ` P(S(S(0)))
¬P(x) ∨ P(S(x))
P(0)
¬P(S(S(0)))
P(0) ¬P(x) ∨ P(S(x))
P(S(0))
¬P(x) ∨ P(S(x))
P(S(S(0)))
¬P(S(S(0)))
⊥
La nécessité de la règle Factorisation
P ∨P
¬P ∨ ¬P
P ∨P
P
¬P ∨ ¬P
¬P
⊥
Mais la règle Résolution ne donne que des clauses à deux littéraux
La redondance
P(0) ¬P(x) ∨ P(S(x))
P(S(0))
¬P(x) ∨ P(S(x))
P(S(S(0)))
¬P(S(S(0)))
⊥
¬P(S(S(0))) ¬P(x) ∨ P(S(x))
¬P(S(0))
¬P(x) ∨ P(S(x))
¬P(0)
P(0)
⊥
La correction de la Résolution
Au choix :
Si D dérivable à partir de C1 , ..., Cn , alors ∀C1 , ..., ∀Cn ` ∀D
démontrable en calcul des séquents
Si D dérivable à partir de C1 , ..., Cn , alors ∀C1 , ..., ∀Cn ` ∀D
valide dans tous les modèles
Une même démonstration
Par récurrence sur la structure de la dérivation
Γ = ∀C1 , ..., ∀Cn
Si Γ ` ∀(P ∨ C ) et Γ ` ∀(¬Q ∨ C 0 ) démontrables en calcul des
séquents (resp. valide dans tous les modèles) et σ = mgu(P, Q),
alors ∀(σ(C ∨ C 0 )) aussi
Repose sur deux lemmes triviaux
(∀A) ⇒ (∀σA)
((A ∨ B) ∧ (¬A ∨ B 0 )) ⇒ (B ∨ B 0 )
démontrables en calcul des séquents (resp. valide dans tous les
modèles)
Idem pour la règle Factorisation
(A ∨ A ∨ B) ⇒ (A ∨ B)
démontrable en calcul des séquents (resp. valide dans tous les
modèles)
Donc
Si ⊥ dérivable à partir de C1 , ..., Cn , alors ∀C1 , ..., ∀Cn `
démontrable en calcul des séquents (resp. valide dans tous les
modèles)
Si C1 , ..., Cn forme clausale de Γ, ¬A, alors (correction de la mise en
forme clausale) Γ, ¬A ` démontrable en calcul des séquents (resp.
valide dans tous les modèles) donc Γ ` A aussi
IV. La complétude de la Résolution
Si ∀C1 , ..., ∀Cn ` démontrable en calcul des séquents (resp. valide
dans tous les modèles), alors ⊥ dérivable à partir de C1 , ..., Cn
Deux types de méthodes (deux écoles)
Si ∀C1 , ..., ∀Cn ` démontrable en calcul des séquents,
alors ⊥ dérivable à partir de C1 , ..., Cn
Si ∀C1 , ..., ∀Cn ` valide dans tous les modèles,
alors ⊥ dérivable à partir de C1 , ..., Cn
Hélas : les deux méthodes sont utiles (généralisations de la
Résolution)
Dans les deux cas : un même système intermédiaire (R0 )
P ∨ C ¬P ∨ C 0
Résolution identique
C ∨ C0
L∨L∨C
Factorisation identique
L∨C
C
Substitution
(t/x)C
Et un lemme de relèvement
Si ⊥ dérivable à partir de C dans R0 ,
alors ⊥ dérivable à partir de C dans R
De manière plus générale :
si C 0 copies (renommage) de clauses de C, et θ substitution tels que
⊥ dérivable à partir de θC 0 dans R0 ,
alors ⊥ dérivable à partir de C dans R
Récurrence sur la dérivation dans R0
Substitution : on copie la clause et ajoute (t/x) à θ
Résolution identique (ou Factorisation identique) : on a θP = θQ
donc P = Q unifiable : mgu σ, θ = η ◦ σ, on continue avec η
Complétude et complétude
Démontrer la complétude de R0 suffit pour démontrer celle de R
Si ∀C1 , ..., ∀Cn ` démontrable en calcul des séquents (resp. valide
dans tous les modèles),
alors ⊥ dérivable à partir de C1 , ..., Cn dans R0 (complétude de R0 )
et ⊥ dérivable à partir de C1 , ..., Cn dans R (relèvement)
On oublie R et on se concentre sur R0
Dans les deux cas : un même lemme clé
C ensemble de clauses, C1 et C2 clauses closes
Si ⊥ est dérivable à partir de C, C1 dans R0
alors ⊥ ou C2 est dérivable à partir de C, C1 ∨ C2 dans R0
Si ⊥ est dérivable à partir de C, C1 dans R0
et ⊥ est dérivable à partir de C, C2 dans R0
alors ⊥ est dérivable à partir de C, C1 ∨ C2
La méthode syntaxique
Si ∀C1 , ..., ∀Cn ` démontrable en calcul des séquents, alors ⊥
dérivable à partir de C1 , ..., Cn
Plus généralement : si ∀C1 , ..., ∀Cn ` P1 , ..., Pm démontrable en
calcul des séquents, alors ⊥ dérivable à partir de
C1 , ..., Cn , ¬P1 , ..., ¬Pm
Par récurrence sur la structure d’une preuve close et sans coupures
de ∀C1 , ..., ∀Cn ` P1 , ..., Pm
Six règles possibles
Contraction-gauche, contraction-droite, ¬-gauche, axiome,
∀-gauche, ∨-gauche
Trois cas triviaux
Contraction-gauche, contraction-droite, ¬-gauche,
Même ensemble de clauses
Hypothèse de récurrence
Et trois cas intéressants
I
axiome : (∀Ci ) = Pj , Résolution identique entre Ci et ¬Pj
I
∀-gauche, l’un des Ci remplacée par (t/x)Ci
Hypothèse de récurrence ⊥ dérivable à partir de
C1 , ..., (t/x)Ci , ..., Cn , ¬P1 , ..., ¬Pm
(t/x)Ci est dérivable à partir de Ci (règle Substitution)
⊥ dérivable à partir de C1 , ..., Ci , ..., Cn , ¬P1 , ..., ¬Pm
I
∨-gauche, l’un des Ci disjonction D ∨ D 0 de clauses closes
Hypothèse de récurrence
⊥ dérivable à partir de C1 , ..., D, ..., Cn , ¬P1 , ..., ¬Pm
⊥ dérivable à partir de C1 , ..., D 0 , ..., Cn , ¬P1 , ..., ¬Pm
Lemme clé
⊥ dérivable à partir de C1 , ..., Ci , ..., Cn , ¬P1 , ..., ¬Pm
La méthode sémantique
Si ∀C1 , ..., ∀Cn ` valide dans tous les modèles, alors ⊥ dérivable à
partir de C1 , ..., Cn
Inspiration : preuve de complétude de Gödel de la déduction
naturelle (ou du calcul des séquents) : si A valide dans tous les
modèles, alors A démontrable
Les différentes formes du théorème de complétude de Gödel
Troisième forme :
Si C est cohérent (⊥ non dérivable à partir de C), alors C a un
modèle
Corollaire : ∀C1 , ..., ∀Cn ` valide dans tous les modèles, alors
∀C1 , ..., ∀Cn n’a pas de modèle, donc ⊥ dérivable à partir de
C1 , ..., Cn
Comme dans la démonstration du théorème de complétude
de Gödel
On commence par saturer la théorie C :
Plus simple, pas de ∃ à droite, pas de témoins de Henkin (merci la
Skolémisation)
Plus délicat : règles plus faibles
Au lieu de trois cas : C démontre A, C démontre ¬A, ou ni l’un ni
l’autre
Une autre formulation : ajouter P ou ajouter ¬P (P atomique
close) à un ensemble de clauses préserve la cohérence
La préservation de la cohérence
Si C cohérent, alors C, P cohérent ou C, ¬P cohérent
Contraposée : si ⊥ dérivable à partir de C, P et ⊥ dérivable à partir
de C, ¬P, alors ⊥ dérivable à partir de C
Lemme clé : ⊥ dérivable à partir de C, P ∨ ¬P
puis élimination de la clause inutile P ∨ ¬P
La saturation de la théorie
Énumération des propositions atomiques closes P0 , P1 , ...
U0 = C, cohérent
On suppose Un cohérent
Un , Pn cohérent ou Un , ¬Pn cohérent
Un+1 = Un , Pn ou Un , ¬Pn , cohérent
S
U = i Ui cohérent
Pour chaque proposition atomique close P, P ∈ U ou ¬P ∈ U
La construction du modèle
Rien de nouveau
Domaine : termes clos
fˆ trivial
P̂ fonction qui à t1 , ..., tn associe 0 ou 1 selon que ¬P(t1 , ..., tn ) ou
P(t1 , ..., tn ) appartient à U
M modèle de C
C = L1 ∨ ... ∨ Ln clause de C
ρ valuation qui associe un terme clos à chaque variable de C (aussi
une substitution)
JL1 ∨ ... ∨ Ln Kρ = 1
⊥ a une dérivation à partir de ρC , ¬ρL1 , ..., ¬ρLn
donc (U cohérent) ¬ρL1 , ..., ¬ρLn pas tous dans U
ρLi dans U,
JLi Kρ = 1
JL1 ∨ ... ∨ Ln Kρ = 1
Donc
Si ⊥ non dérivable à partir de C, alors C a un modèle
Si ∀C1 , ..., ∀Cn ` valide dans tous les modèles, alors ⊥ dérivable à
partir de C1 , ..., Cn
Variations sur la démonstration
Arbre sémantique : une fois les propositions atomiques closes
énumérées P0 , P1 , P2 ... un arbre infini
P0
F
V
P1
F
P1
V
F
V
P2
P2
P2
P2
...
...
...
...
Saturation : choix d’un enfant à chaque nœud
Modèle : branche infinie
Arbres et dérivations
Contraposée : si C n’a pas de modèle, alors ⊥ est dérivable a partir
de C
P0
F
V
P1
F
P1
V
F
V
P2
P2
P2
P2
...
...
...
...
Pas de modèle, pas de branche infinie : à chaque feuille : une clause
à partir de laquelle on peut dériver ⊥ avec l’aide de (¬)P0 , ...,
(¬)Pn
On remonte des feuilles à la racine en éliminant un littéral clos à
chaque étape
La Résolution est correcte et complète
De nombreuses méthodes
Qui reviennent au même (démontrabilité = validité dans tous les
modèles)
Mais qui se généralisent plus ou moins bien (ce qui explique leur
existence)
Conclusion
Quatre (familles de) systèmes de preuve : à la Frege-Hilbert,
Déduction naturelle, Calcul des séquents, Résolution
Une tension entre quatre objectifs :
I
la simplicité (Frege-Hilbert, préféré des théoriciens des
modèles)
I
la proximité avec le raisonnement informel (Déduction
naturelle, préféré des philosophes)
I
l’utilité pour démontrer des propriétés du raisonnement (Calcul
des séquents, préféré des théoriciens de la démonstration)
I
la facilité de l’automatisation (Calcul des séquents, Résolution,
préférés des informaticiens)
La prochaine fois
Théories et modèles en logique du premier ordre. Exemples.
Et...
Deux développements
Téléchargement