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