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