918 – Systèmes formels de preuve en lo

publicité
918 – Systèmes formels de preuve en logique du premier ordre. Exemples.
est J ; ainsi, les jugements prouvables sont inductivement engendrés par les
règles d’inférence. Si J exprime que la formule A est vraie, on dira également
qu’il s’agit d’une preuve de A, et lorsqu’une telle preuve existe, A est dite
prouvable.
Introduction Il s’agit d’étudier en tant qu’objets mathématiques les
démonstrations mathématiques, les énoncés à prouver étant formulés
dans le langage de la logique du premier ordre. Le caractère syntaxique
formel des preuves ainsi définies permet donc d’obtenir des théorèmes
(méta)mathématiques, mais conduit également à des applications en
informatique : semi-décidabilité théorique, démonstration automatique,
assistants de preuve… Le principe étant que l’existence d’une preuve pour
une formule doit être équivalente à la validité universelle de cette dernière,
on établira à cette fin des théorèmes de correction et complétude sur les
systèmes de preuve.
Définition 3. Un système de preuve est dit :
— cohérent si ⊥ n’est pas prouvable ;
— correct si toute formule prouvable est valide ;
— complet si toute formule valide est prouvable ;
— récursif si la vérification d’une inférence est décidable.
On se fixe, dans toute cette leçon, un ensemble dénombrable de variables
V et un langage L composé pour chaque k ∈ N d’un ensemble Fk et d’un
ensemble Rk de symboles de fonctions (resp. relations) d’arité k. On suppose connues les notions de terme, formule, théorie et modèle en logique du
premier ordre.
Proposition 5. Si un système de preuve est récursif, l’ensemble des preuves
est récursif et l’ensemble des formules prouvables est récursivement énumérable.
1
Remarque 4. Il suffit que les axiomes soient valides et que la validité soit
stable par inférence, pour une notion de validité d’un jugement généralisant
celle d’une formule, pour qu’un système de preuve soit correct. La complétude est souvent plus diffile à établir.
Corollaire 6. À partir de l’existence d’un système de preuve correct, complet et récursif, on montre que l’ensemble des formules valides est récursivement énumérable.
Cadre général
Proposition 7. Cependant, la validité d’une formule n’est pas décidable.
Définition 1. Supposons qu’on ait défini un ensemble de jugements. Une
règle d’inférence spécifie que certaines jugements sont déductibles à partir
d’autres : on écrit
A1
...
B
2 Préliminaires sémantiques
Les résultats de cette section serviront à démontrer des théorèmes de complétude. On suppose ici que L contient des constantes, c’est-à-dire F0 ̸= ∅.
An
lorsque le jugement B se déduit à partir de A1 , . . . , An . (On peut avoir n = 0, Définition 8. On appelle univers de Herbrand l’ensemble des termes clos
(i.e. sans variables).
dans ce cas B est un axiome.)
Définition 2. Un système de preuve consiste en une définition des jugements Proposition 9. Toute partie de l’ensemble des atomes clos définit un moainsi que d’une famille de règles d’inférences associées. Une preuve d’un dèle sur l’univers de Herbrand qui satisfait exactement ces formules, appelé
jugement J est alors un arbre dont les nœuds sont des inférences et la racine modèle de Herbrand.
1
Théorème 10. Soit A = ∃x1 . . . ∃xn B une formule existentielle (B sans Théorème 18 (Élimination des coupures). Si Γ ⊢LK ∆, alors Γ ⊢LK− ∆.
quantificateur). Alors A est valide si et seulement si elle est satisfaite par De plus, on peut obtenir une preuve sans coupures à partir d’une preuve
tout modèle de Herbrand.
avec coupures par un algorithme effectif (système de réécriture fortement
normalisant).
Théorème 11 (Théorème de Herbrand sémantique). Si A = ∃x1 . . . ∃xn B
est une formule existentielle, elle est valide si et seulement s’il existe un entier Remarque 19. Ceci permet de réduire l’espace de recherche des preuves
k et k instances Bσ1 , . . . , Bσk de B telles que Bσ1 ∨ . . . ∨ Bσk soit valide. dans les procédures de semi-décision pour la logique du premier ordre.
Développement 1. Démonstration des deux théorèmes précédents.
Corollaire 20. LK est cohérent.
Proposition 12. Soit A une formule, alors on peut construire à partir de
Théorème 21 (Théorème de Herbrand syntaxtique). Si A est sans quantiA, en ajoutant des symboles de fonction au langage, les formules :
ficateur, ∃x1 . . . ∃xn A est prouvable dans LK si et seulement s’il existe un
— (Skolemisation) AS , universelle, qui est satisfaisable ssi AS l’est ;
entier k et k instances Aσ1 , . . . , Aσk de A telles que Aσ1 ∨ . . . ∨ Aσk soit
— (Herbrandisation) AH , existentielle, qui est valide ssi A l’est.
prouvable dans LK.
3
Lemme 22. A est prouvable dans LK ssi son herbrandisée AH l’est.
Calcul des séquents
Théorème 23. LK est complet.
Définition 13. Le calcul des séquents, noté LK, est un système de preuves
dont les jugements sont de la forme Γ ⊢ ∆, où Γ = Γ1 , . . . , Γn et ∆ =
∆1 , . . . , ∆m sont des ensembles de formules. Interprétation : la conjonction
des Γi entraîne la disjonction des ∆j . Les règles d’inférence sont les règles
axiome et coupure
4 Résolution et programmation logique
Dans cette section, on suppose connue la théorie de l’unification syntaxique de termes. On rappelle que si deux termes t et u sont unifiables,
alors il existe un unificateur le plus général, noté mgu(t, u).
Γ ⊢ A, ∆
Γ′ , A ⊢ ∆′
(Coupure)
Γ, Γ′ ⊢ ∆, ∆′
ainsi que des règles logiques permettant d’introduire les connecteurs logiques Définition 24. Un littéral est un atome ou une négation d’un atome. Une
clause est une disjonction de littéraux, sans quantificateurs. Elle est impli(cf. annexe).
citement universellement quantifiée sur ses variables libres.
Exemple 14 (Paradoxe du buveur). La formule ∃x.(P (x) ⇒ ∀y.P (y)) est
Définition 25. La résolution est un système de preuve dont les jugements
prouvable dans LK (preuve en annexe).
sont des clauses et les règles sont la résolution et la factorisation
Proposition 15. LK est correct et récursif.
C ∨L
¬L′ ∨ C ′
C ∨ L ∨ L′
Définition 16. On appelle preuve sans coupure une preuve n’utilisant pas
Résolution
Factorisation
′
Cσ ∨ Lσ
Cσ ∨ C σ
la règle de coupure. Le calcul des séquents sans cette règle est noté LK− .
(L, L′ littéraux, et σ = mgu(L, L′ ) pour les deux règles) ainsi qu’une règle
Proposition 17 (Propriété de la sous-formule). Toute formule apparaisd’échange correspondant à l’associativité et la commutativité de ∨.
sant à l’intérieur une preuve sans coupure peut être obtenue par substitution d’une sous-formule d’une formule apparaissant dans la conclusion de la Exemple 26. La réfutation de (P (x, a) ∨ P (a, x)) ∧ (P (y, a) ∨ P (a, y)) (cf.
annexe) nécessite la règle de factorisation.
preuve.
Γ, A ⊢ A, ∆
(Axiome)
2
Développements
Proposition 27 (Correction). Si C est déduite de C1 , . . . , Cn par résolution,
alors C1 ∧ . . . ∧ Cn |= C. En particulier, si C est la clause vide ⊥, alors
C1 ∧ . . . ∧ Cn est insatisfaisable.
1. Théorème de Herbrand sémantique
2. Complétude de la méthode de résolution
Lemme 28 (de relèvement). Si C et C ′ sont des clauses, Ĉ et Ĉ ′ des instances avec des termes clos, et D̂ est obtenue à partir de Ĉ et Ĉ ′ par la règle
de résolution propositionnelle, alors il existe D dont D̂ est une instance et
qui découle de C et C ′ par la règle de résolution au premier ordre.
Théorème 29 (Complétude réfutationnelle). Si C1 , . . . , Cn est insatisfaisable, alors il est possible d’obtenir ⊥ par résolution à partir de C1 , . . . , Cn .
Développement 2. Preuve de la complétude réfutationnelle, utilisant les
modèles de Herbrand ainsi que le lemme de König faible : tout arbre binaire
sans branche infinie est fini.
Définition 30. Une clause de Horn est une clause avec 0 ou 1 littéral positif.
On parle de but dans le premier cas, règle dans le second cas. On appelle
aussi fait une clause sans littéral négatif (consistant uniquement d’un littéral
positif).
Proposition 31. Les clauses de Horn sont stables par résolution.
Algorithme 32 (Résolution SLD). On souhaite réfuter un programme logique, composé de règles et d’un but C. Pour cela, on cherche à construire
par résolution une suite de clauses de but C = C1 , . . . , Cn = ⊥, de sorte
que pour tout i, Ci+1 soit obtenue par résolution de Ci et d’une des clauses
de règles, sur son unique littéral positif. L’algorithme est paramétré par une
fonction de sélection qui dit sur quel atome tenter d’effectuer une résolution
à chaque étape.
Proposition 33. La résolution SLD est correcte et réfutationnellement
complète sur les clauses de Horn.
Théorème 34. Si A est une formule existentielle, l’exécution d’un programme logique de but ¬A trouve une preuve par résolution qui fournit des
témoins d’existence de A, ce qui permet de calculer des fonctions. C’est le
principe du langage de programmation Prolog.
Théorème 35. La programmation logique est Turing-complète : toute fonction récursive peut être encodée par des clauses de Horn.
3
Annexes
Exemple de preuve par résolution
P (x, a) ∨ P (a, x)
P (a, a)
Règles du calcul des séquents
⊥
Connecteurs binaires
Γ, A ⊢ ∆
Γ, A ∧ B ⊢ ∆
Γ, B ⊢ ∆
Γ, A ∧ B ⊢ ∆
Γ, A ⊢ ∆
Γ, B ⊢ ∆
Γ, A ∨ B ⊢ ∆
Γ ⊢ A, ∆
Γ ⊢ B, ∆
Γ ⊢ A ∧ B, ∆
Γ ⊢ A, ∆
Γ ⊢ A ∨ B, ∆
Γ ⊢ B, ∆
Γ ⊢ A ∨ B, ∆
Négation
Γ, A ⊢ ∆
Γ ⊢ ¬A, ∆
Γ ⊢ A, ∆
Γ, ¬A ⊢ ∆
Quantificateurs
Γ, A[t/x] ⊢ ∆
Γ, ∀xA ⊢ ∆
¬P (y, a) ∨ ¬P (a, y)
¬P (a, a)
Γ, ∃xA ⊢ ∆
(x non libre dans Γ, ∆)
Γ, A[t/x] ⊢ ∆
Γ ⊢ ∀xA, ∆
(x non libre dans Γ, ∆)
Γ ⊢ A[t/x], ∆
Γ ⊢ A[t/x], ∆
Γ ⊢ ∃xA, ∆
Paradoxe du buveur en calcul des séquents
P (x), P (z) ⊢ P (z), ∀y.P (y)
P (x) ⊢ P (z), P (z) ⇒ ∀y.P (y)
P (x) ⊢ P (z), ∃x(P (x) ⇒ ∀y.P (y))
P (x) ⊢ ∀y.P (y), ∃x.(P (x) ⇒ ∀y.P (y))
⊢ P (x) ⇒ ∀y.P (y), ∃x.(P (x) ⇒ ∀y.P (y))
⊢ ∃x.(P (x) ⇒ ∀y.P (y)), ∃x(P (y) ⇒ ∀y.P (y))
⊢ ∃x.(P (x) ⇒ ∀y.P (y))
4
Téléchargement