1 Preuve semi-formelle et preuve formelle
Transcription
1 Preuve semi-formelle et preuve formelle
Introduction à la logique, 2016 Cours 5 Cours 5: Preuves en logique propositionnelle 1 Preuve semi-formelle et preuve formelle 1.1 Les preuves semi-formelles La notion semi-formelle de preuve remonte au moins à Euclide. Euclide pour la géométrie distingue des définitions, postulats et notions communes. Les preuves d’Euclide disent explicitement quand elles font appel à une définition, à un postulat ou à une notion commune. En revanche, elles ne rendent pas explicites l’usage de règles logiques d’inférences. Les définition ne sont pas purement formelles. L’un des grands mathématiciens de la fin du XIXè siècle est Hilbert, qui propose une axiomatisation nouvelle de la géométrie, où les définitions sont purement des définitions implicites (les notions de “point”, “droite”, sont définies non de façon explicite, mais via les axiomes où les notions interviennent). Cette démarche a conduit Hilbert à s’intéresser à la logique et à développer la logique mathématique (dans la foulée de Russell et Whitehead, et avant eux de Frege). 1.2 La notion formelle de preuve La notion formelle de preuve s’appuie sur une distinction fondamentale entre: • Des axiomes: formules que l’on admet comme primitives, sans preuve • Des règles d’inférences: des règles qui, à partir des axiomes, permettent de dériver de nouvelles formules à partir des axiomes On peut définir une preuve comme suit: une preuve formelle est une suite de formules (A1 , ..., An ) telles que pour chaque i, soit Ai est un axiome, soit Ai résulte des formules qui précèdent par application d’une règle d’inférence. On appelle un théorème une formule A telle que A est la dernière formule d’une suite (A1 , ..., An ) telle que cette suite est une preuve. Etant donné un système T d’axiomes et de règles d’inférence, on note: `T A le fait que A est un théorème dans T . • On peut naturellement ajouter aux axiomes des hypothèses, des énoncés non axiomatiques mais qu’on admet et à partir desquels on peut prouver axiomatiquement d’autres énoncés (les hypothèses sont les prémisses d’un argument) 1.3 1.3.1 Système de Frege-Hilbert pour la logique propositionnelle Schémas d’Axiomes (A1) p → (q → p) (A2) (p → (q → r)) → ((p → q) → (p → r)) (A3) ((¬q → ¬p) → ((¬q → p) → q) 1/6 Introduction à la logique, 2016 1.3.2 Cours 5 Règles d’inférence • modus ponens: de A et A → B, on peut inférer B. • substitution: dans un théorème, on peut substituer n’importe quelle formule à une formule propositionnelle 1.4 Un exemple de dérivation Comment prouver A → A? 1. (p → (q → r)) → ((p → q) → (p → r)) (A2) 2. (A → ((A → A) → A) → ((A → (A → A)) → (A → A)) (par 1 et règle de substitution en remplaçant p par A et q par (A → A) 3. p → (q → p) (A1) 4. (A → ((A → A) → A) (3 et règle de substitution) 5. ((A → (A → A)) → (A → A)) (2, 4 et MP) 6. (A → (A → A)) (3 et règle de substitution) 7. (A → A) (5, 6 et MP). 1.5 Remarques sur l’axiomatisation • L’un des tours de force de Frege dans l’Idéographie est d’avoir proposé une axiomatisation de ce type pour la logique propositionnelle. • Comme le montre l’exemple précédent: l’établissement d’une preuve dans un système de ce type est loin d’être trivial, même pour des vérités évidentes. • Cet exemple fait néanmoins apparaı̂tre les lois logiques sous un jour nouveau: non plus seulement comme des vérités logiques, mais comme des théorèmes dérivables de façon axiomatique à partir de règles explicites. • Pour la recherche de preuves, en revanche, ce genre de système n’est pas le plus aisé à manipuler. Nous verrons d’autres systèmes par la suite. 1.6 Notions de correction et complétude pour un système de preuve Etant donné un système de preuve pour la logique propositionnelle, on dit que ce système est correct ou fiable ssi tout théorème du système est valide logiquement (si ` A alors A). Réciproquement, on dit que le système est sémantiquement complet ssi toute validité logique est dérivable à partir des axiomes et règles d’inférences du système (si A alors ` A). La correction du système donné plus haut est relativement aisée à démontrer. La complétude est un travail qui demande plus d’effort. Frege avait proposé un système correct et complet pour la logique propositionnelle, mais la première preuve de complétude est due à Emil Post (1921). 2/6 Introduction à la logique, 2016 2 Cours 5 Système d’équivalences pour la logique propositionnelle 2.1 Le système On peut aussi proposer pour la logique propositionnelle un système plus riche et plus intuitif, fondé sur des équivalences entre formules. On prend pour axiomes dans ce système les formules et equivalences suivantes: 1) ` > 2) Lois de de Morgan ` ¬(A ∧ B) ↔ (¬A ∨ ¬B) ` ¬(A ∨ B) ↔ (¬A ∧ ¬B) 3) Négation ` ¬¬A ↔ A ` ¬> ↔ ⊥ ` ¬⊥ ↔ > 4) Lois d’associativité ` (A ∧ B) ∧ C ↔ A ∧ (B ∧ C) ` (A ∨ B) ∨ C ↔ A ∨ (B ∨ C) 5) Loi de commutativité `A∧B ↔B∧A `A∨B ↔B∨A 6) Lois de distributivité ` A ∨ (B ∧ C) ↔ (A ∨ B) ∧ (A ∨ C) ` A ∧ (B ∨ C) ↔ (A ∧ B) ∨ (A ∧ C) 7) Idempotence ` (A ∨ A) ↔ A ` (A ∧ A) ↔ A 8) Lois 0-1 ` (A ∧ ⊥) ↔ ⊥ ` (A ∨ ⊥) ↔ A ` (A ∨ ¬A) ↔ > ` (A ∧ >) ↔ A ` (A ∨ >) ↔ > ` (A ∧ ¬A) ↔ ⊥ 9) Elimination du conditionnel ` (A → B) ↔ (¬A ∨ B) ` (A ↔ B) ↔ (A ∧ B) ∨ (¬A ∧ ¬B) 10) Substitution des identiques De ` A ↔ B et de ` C[A/p], inférer ` C[B/p] 3/6 Introduction à la logique, 2016 2.2 Cours 5 Exemple On veut montrer que (A → B) → (¬B → ¬A) est un théorème Cette formule est équivalente à chacune des formules suivantes, par les lois qui précédent ¬(A → B) ∨ (¬B → ¬A) ¬(¬A ∨ B) ∨ (¬¬B ∨ ¬A) (¬¬A ∧ ¬B) ∨ (B ∨ ¬A) (A ∧ ¬B) ∨ (B ∨ ¬A) (A ∨ (B ∨ ¬A)) ∧ (¬B ∨ (B ∨ ¬A)) (B ∨ (A ∨ ¬A)) ∧ ((¬B ∨ B) ∨ A) (B ∨ >) ∧ (> ∨ A) >∧> > • Pour montrer que ` A, il suffit de montrer qu’il existe une chaine d’équivalences (A ↔ A1 ), (A1 ↔ A2 ), ..., (An−1 ↔ >) (cela suit de la règle de substitution) 2.3 Correction et complétude On peut montrer que |= A ssi ` A. • Si ` A, il suit que |= A car tous les axiomes sont des validités, et la validité est préservée par la règle de substitution des identiques. • Si |= A, inversement, alors les règles du système permettent en fait de mettre A sous FND, et de montrer l’équivalence de cette FND avec > (cette partie est plus difficile à prouver rigoureusement) 3 3.1 La déduction naturelle Cadre général - la déduction naturelle n’utilise pas d’axiomes, mais uniquement des règles d’inférences, et des hypothèses, qui peuvent être ‘déchargées’. Nous admettrons cependant une règle comme fondamentale, à savoir l’identité ou réflexivité de la conséquence: A A - chaque connecteur logique comprend des règles d’introduction et des règles d’élimination - le fait que les preuves peuvent être regardées de haut en bas (synthétiquement) ou de bas en haut (analytiquement) - Rq: dans tout ce qui suit, on traite la négation ¬A comme une abbréviation pour A → ⊥ 4/6 Introduction à la logique, 2016 3.2 3.2.1 Cours 5 Règles pour les connecteurs Conjonction A B ∧I A∧B 3.2.2 A∧B ∧E B Conditionnel [A] .. . B →I A→B 3.2.3 A∧B ∧E A A A→B →E B Remarques Deux éléments à remarquer concernant le conditionnel: a) La règle → I correspond à la fois au théorème sémantique de la déduction (A |= B implique |= A → B) et au fait que si un énoncé est vrai, alors il est impliqué par n’importe quel autre. b) La règle → E correspond à la règle du modus ponens. 3.2.4 Exemples 1. A → A [A]1 A → I1 A→A 2. A ∧ B → B ∧ A [A ∧ B]1 [A ∧ B]1 ∧E ∧E B A ∧I B∧A → I1 A∧B →B∧A 3. A → ¬¬A [(A → ⊥)]1 [A]2 →E ⊥ → I1 (A → ⊥) → ⊥ → I2 A → ((A → ⊥) → ⊥) 5/6 Introduction à la logique, 2016 4. 5. 6. 7. 3.2.5 Cours 5 A → (B → A) A∧B →A (A → B) → ((B → C) → (A → C)) A → (B → (A ∧ B)) La négation • Pour la négation il faut distinguer plusieurs règles. La règle de base est la règle qui dit que du faux, on peut inférer n’importe quelle formule: ⊥ ⊥ A • Il faut bien distinguer deux règles, l’une dérivée, l’autre primitive. La première est acceptable en logique intuitionniste, mais non la seconde: [A] .. . ⊥ →I ¬A 3.2.6 [¬A] .. . ⊥ RAA A Exemples 1. (A → B) → (¬B → ¬A) [A → B]3 B [A]1 →E [B → ⊥]2 →E ⊥ →I1 A→⊥ →I2 (¬B → ¬A) →I3 (A → B) → (¬B → ¬A) 2. ¬¬A → A [¬A]1 [¬¬A]2 →I ⊥ RAA 1 A →I2 ¬¬A → A 3. A → (¬A → B) 6/6 Introduction à la logique, 2016 3.2.7 Disjonction A ∨I A∨B 3.2.8 Cours 5 B ∨I A∨B A∨B [A] .. . C C [B] .. . C ∨E Exemples 1. A ∧ B → A ∨ B [A ∧ B] ∧E A ∨I A∨B →I (A ∧ B) → (A ∨ B) 2. A ∨ ¬A [A]1 ∨I A ∨ ¬A [¬(A ∨ ¬A)]2 ⊥ →I 1 ¬A ∨I A ∨ ¬A E [¬(A ∨ ¬A)]2 ⊥ RAA2 A ∨ ¬A →E 3. (A ∧ B) ∨ C → (A ∨ C) [A ∧ B]1 ∧E [C]1 A ∨I ∨I A∨C A∨C [(A ∧ B) ∨ C]2 ∨ E1 A∨C ∨ I2 (A ∧ B) ∨ C → (A ∨ C) 7/6