Logique - Lancelot PECQUET

publicité
Lancelot Pecquet
Logique
ax
ax
(A ∧ B) ` (A ∧ B)
(A ∧ B) ` A ∧ B
re∧·
re·∧
(A ∧ B) ` B
(A ∧ B) ` A
ri∧
(A ∧ B) ` (B ∧ A)
Université Paris XII, Licence d’Informatique
Version du 11 août 2003
La version originale de ce document est librement consultable en version électronique (.ps.gz)
sur http://www-rocq.inria.fr/~pecquet/pro/teach/teach.html. Celle-ci peut également être
librement copiée et imprimée. Tout commentaire constructif (de l’erreur typographique à la grosse
bourde) est le bienvenu et peut être envoyé à [email protected].
Table des matières
1 Introduction
1.1 Premiers éléments . . . . . . . . . . . . .
1.1.1 Objectifs de ce document . . . . .
1.1.2 Qu’est-ce que la logique ? . . . . .
1.2 Histoire de la Logique . . . . . . . . . . .
1.2.1 La Logique ailleurs qu’en Occident
1.2.2 L’antiquité grècque . . . . . . . . .
1.2.3 La scolastique médiévale . . . . . .
1.2.4 L’époque moderne . . . . . . . . .
1.2.5 Contemporains . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
7
7
7
7
8
8
9
12
16
19
2 Rappels
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.1 Distinction entre langage et métalangage . . . . . . . . . .
2.1.2 Structuration du métalangage . . . . . . . . . . . . . . . . .
2.2 Théorie naı̈ve des ensembles . . . . . . . . . . . . . . . . . . . . . .
2.2.1 Ensembles, relations, fonctions . . . . . . . . . . . . . . . .
2.2.2 Relations d’ordre et d’équivalence . . . . . . . . . . . . . .
2.2.3 Ensembles définis par induction . . . . . . . . . . . . . . . .
2.2.4 Infini, cardinaux, ordinaux . . . . . . . . . . . . . . . . . .
2.2.5 Axiome du choix . . . . . . . . . . . . . . . . . . . . . . . .
2.3 Structures algébriques . . . . . . . . . . . . . . . . . . . . . . . . .
2.4 Langages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.1 Définitions . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.2 Problèmes de décision . . . . . . . . . . . . . . . . . . . . .
2.4.3 Règles de réécriture et grammaires . . . . . . . . . . . . . .
2.4.4 Syntaxe inductive . . . . . . . . . . . . . . . . . . . . . . .
2.4.5 Sémantique inductive . . . . . . . . . . . . . . . . . . . . .
2.5 Fonctions booléennes . . . . . . . . . . . . . . . . . . . . . . . . . .
2.6 Logique des ordinateurs . . . . . . . . . . . . . . . . . . . . . . . .
2.6.1 Instructions conditionnelles des langages de programmation
2.6.2 Circuits booléens . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
29
29
29
29
30
30
31
32
32
33
34
35
35
36
37
37
38
39
40
40
40
3
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
TABLE
DES propositionnelle
MATIÈRES
3
Logique
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Langages des propositions . . . . . . . . . . . . . . . . . .
3.2.1 Syntaxe du langage de Kleene . . . . . . . . . . .
3.2.2 Sémantique booléenne du langage de Kleene . . .
3.2.3 Sous-langages équivalents . . . . . . . . . . . . . .
3.2.4 Formes normales conjonctives et disjonctives . . .
3.2.5 Expressivité booléenne du langage des propositions
3.3 Arbres de Beth . . . . . . . . . . . . . . . . . . . . . . .
3.4 Preuves . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4.1 Introduction . . . . . . . . . . . . . . . . . . . . .
3.4.2 Déduction naturelle . . . . . . . . . . . . . . . . .
3.5 Complétude . . . . . . . . . . . . . . . . . . . . . . . . . .
3.6 Compacité . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.6.1 Définitions . . . . . . . . . . . . . . . . . . . . . .
3.6.2 Théorème de compacité . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
TABLE DES MATIÈRES
41
. . . . . . . . . . . . . 41
. . . . . . . . . . . . . 41
. . . . . . . . . . . . . 41
. . . . . . . . . . . . . 42
. . . . . . . . . . . . . 43
. . . . . . . . . . . . . 44
. . . . . . . . . . . . . 44
. . . . . . . . . . . . . 45
. . . . . . . . . . . . . 46
. . . . . . . . . . . . . 46
. . . . . . . . . . . . . 46
. . . . . . . . . . . . . 47
. . . . . . . . . . . . . 49
. . . . . . . . . . . . . 49
. . . . . . . . . . . . . 50
4 Logique du premier ordre
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 Syntaxe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.1 Construction . . . . . . . . . . . . . . . . . . . . . . .
4.2.2 Sous-formules . . . . . . . . . . . . . . . . . . . . . . .
4.2.3 Variables libres, liées, α-équivalence, renommage . . .
4.2.4 Substitutions . . . . . . . . . . . . . . . . . . . . . . .
4.2.5 Preuves . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.6 Validité des preuves après substitution . . . . . . . . .
4.3 Sémantique . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.1 Interprétations . . . . . . . . . . . . . . . . . . . . . .
4.3.2 Morphismes d’interprétations . . . . . . . . . . . . . .
4.4 Formes normales . . . . . . . . . . . . . . . . . . . . . . . . .
4.4.1 Mise sous forme prénexe . . . . . . . . . . . . . . . . .
4.5 Théories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.5.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . .
4.5.2 Propriétés syntaxiques . . . . . . . . . . . . . . . . . .
4.6 Théorème de complétude . . . . . . . . . . . . . . . . . . . .
4.6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . .
4.6.2 Théorème . . . . . . . . . . . . . . . . . . . . . . . . .
4.6.3 Corollaires : les théorèmes de L öwenheim et Skolem
4.6.4 Corollaire : le théorème de compacité . . . . . . . . .
4.6.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
51
51
51
51
52
53
53
54
54
54
54
57
58
58
60
60
60
60
60
60
61
61
61
5 Exemples de théories
5.1 Théorie de l’égalité . .
5.2 Théorie des groupes .
5.3 Théories arithmétiques
5.3.1 Axiomes . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
63
63
63
64
64
4
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
TABLE DES MATIÈRES
5.3.2 Propriétés arithmétiques . . . . . . . . . . . . . . . . .
5.4 Théorie ZF . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . .
5.4.2 Théorie de Zermelo-Fraenkel . . . . . . . . . . . .
5.4.3 L’Axiome du choix et l’Hypothèse du continu . . . . .
5.5 Théorèmes d’incomplétude . . . . . . . . . . . . . . . . . . . .
5.5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . .
5.5.2 Théorème d’indécidabilité de G ödel de l’arithmétique
5.5.3 Premier Théorème d’incomplétude de G ödel . . . . .
5.5.4 Second Théorème d’incomplétude de G ödel . . . . .
5.5.5 Suites de Goodstein . . . . . . . . . . . . . . . . . .
TABLE DES MATIÈRES
. . . . . . . . . . . . . 65
. . . . . . . . . . . . . 65
. . . . . . . . . . . . . 65
. . . . . . . . . . . . . 66
. . . . . . . . . . . . . 69
. . . . . . . . . . . . . 69
. . . . . . . . . . . . . 69
élémentaire . . . . . . 70
. . . . . . . . . . . . . 70
. . . . . . . . . . . . . 71
. . . . . . . . . . . . . 71
6 Effectivité
6.1 Introduction . . . . . . . . . . . . . . . . . . .
6.2 Test de satisfaisabilité de Herbrand . . . . .
6.2.1 Skolemisation . . . . . . . . . . . . . .
6.2.2 Unification . . . . . . . . . . . . . . .
6.2.3 Algorithme de résolution . . . . . . . .
6.2.4 Test de satisfaisabilité de Herbrand
.
.
.
.
.
.
7 Conclusion
7.1 Logiques d’ordre supérieur . . .
7.2 Logiques non-classiques . . . .
7.2.1 Logiques modales . . . .
7.2.2 Logiques intuitionnistes
7.2.3 Logiques multivalentes .
7.3 Pour finir . . . . . . . . . . . .
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
73
73
73
73
75
78
79
.
.
.
.
.
.
81
81
81
81
81
81
82
5
TABLE DES MATIÈRES
6
TABLE DES MATIÈRES
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
Chapitre 1
Introduction
1.1
1.1.1
Premiers éléments
Objectifs de ce document
Ce document constitue le support du cours que j’ai donné en Licence d’Informatique et de
Mathématiques à l’Université Paris XII. Après un petit historique de la Logique au fil des âges,
nous y présentons le calcul des propositions, puis la logique du premier ordre.
1.1.2
Qu’est-ce que la logique ?
La Logique est sans-doute la seule discipline que l’on retrouve dans les enseignements de Philosophie, de Mathématiques et d’Informatique. Donnons quelques exemples rapides de définitions
de la Logique, selon ces différents points de vue :
– un certain nombre de Philosophes [Lal97, vol. I, pp. 302, 572] définissent la Logique comme
est la « science ayant pour objet le jugement d’appréciation en tant qu’il s’applique à la
distinction du Vrai et du Faux », parallèlement à l’ Éthique, « science ayant pour objet le
jugement d’appréciation en tant qu’il s’applique à la distinction du Bien et du Mal » et à
l’Esthétique, « science ayant pour objet le jugement d’appréciation en tant qu’il s’applique à
la distinction du Beau et du Laid » ;
– la plupart des Mathématiciens considèrent la Logique comme étant l’étude formelle de structures et de méthodes de déduction sur lesquelles les mathématiques sont fondées et permettant
d’établir de façon indiscutable qu’une propriété est vraie ou fausse ;
– pour les Informaticiens, la Logique est, en général, étudiée comme une famille de langages
dont on étudie les propriétés du point de vue effectif. L’intérêt réside par exemple dans la
démonstration automatique qu’un théorème est vrai ou qu’un programme fonctionnera.
Si ces trois conceptions peuvent sembler bien distinctes de prime abord, on verra que la frontière
entre ces trois disciplines est mince, voire perméable, et ce n’est pas étonnant de retrouver, au fil de
l’Histoire des personnages tels qu’Aristote, Euclide ou Leibniz qui étaient à la fois Philosophes
et Scientifiques.
L’observation de la définition philosophique de la Logique conduit à s’interroger sur la notion
de « vérité ». Il conviendra, en effet, de de distinguer deux acceptions de ce mot :
– la vérité formelle : c’est celle dont il est question en mathématique ou en informatique où l’on
s’interroge plutôt sur la pertinence des raisonnements ;
7
1.2. HISTOIRE DE LA LOGIQUE
CHAPITRE 1. INTRODUCTION
– la vérité absolue : celle de la métaphysique, de la religion, où l’on s’interroge plutôt sur ce
qui est Vrai.
Ces deux conceptions ont, a priori, peu en commun. En effet, en ce qui importe le plus, en
mathématiques, ce sont les démonstrations, tandis que dans la religion ou la métaphysique, il est
plutôt question de révélation.
Le Mathématicien se place dans un cadre bien défini d’hypothèses (du grec
: « ce
qu’on met en dessous ») et constate qu’un phénomène se produit. Son travail consiste alors à savoir
si ce phénomène est la manifestation d’une propriété générale qui résulte des hypothèses. S’il croit
que c’est le cas, il baptise cette proposition conjecture et tente d’en trouver une démonstration,
sous la forme d’une raisonnement prouvant la propriété à partir des hypothèses. S’il y parvient, la
proposition devient un théorème (
: ce qui peut être observé). La vérité peut s’exprimer
dans ce contexte de trois façons distinctes :
1. la proposition est vraie, indépendemment du fait qu’elle ait été prouvée ;
2. le raisonnement est juste, indépendemment du fait que les hypothèses soient vraies ;
3. les hypothèses sont vraies.
Pour ce qui est de ce dernier cas, il convient de distinguer deux types d’hypothèses : les hypothèses spécifiques au problème étudié, que le mathématicien module à sa guise et qui apparaitront
explicitement dans l’énoncé du théorème, et les hypothèses fondamentales des mathématiques. Ces
dernières sont le résultat d’un choix consensuel d’un certain nombre de mathématiciens bien que
tous n’en aient pas la même conception. Pour certains, il s’agit de postulats (du latin postŭlāre :
demander) qu’on demande au lecteur d’accepter, au même titre que toute autre hypothèse, pour
: ce qui s’impose à moi comme évident) qu’ils
d’autres, il s’agit d’axiomes (du grec
considèrent comme Vrais, absolument.
Nous verrons que le choix de ces fondements n’est pas complètement arbitraire et qu’un certain
nombre de critères (e.g. cohérence, complétude) seront à prendre en considération mais au delà, on
reste à la limite de la métaphysique. . .
1.2
1.2.1
Histoire de la Logique
La Logique ailleurs qu’en Occident
Nous donnons maintenant un bref aperçu des préoccupations logiques de ces deux mille dernières
années. . . Malgré l’état très avancé en mathématiques des Indiens, des Chinois ou des Arabes, il
semble que la Logique, au sens où on l’entend maintenant, fut essentiellement une préoccupation occidentale. Par exemple, on ne dispose que d’un seul document comportant des preuves mathématiques
pour toute la Chine classique [Che98] : les commentaires de Liu Hui, vers 246, des Neuf Chapitres
sur les Procédures Mathématiques, compilation de textes mathématiques dans lesquels la pensée algorithmique est prépondérante, réalisée vers le I er siècle et qui fit référence jusqu’au XIII ème siècle.
Pour la civilisation Arabo-persique, on pourra mentionner également le médecin et philosophe
d’origine iranienne (l’Iran avait été envahi par les Arabes en 712) Abū Ali al-Husain ibn Abdallah ibn Sinā, dit Avicenne (980–1037), auteur, entre autres, du Livre de la Guérison (Kitāb alShifā), sur la Logique, la Physique et la Métaphysique, ainsi que le philosophe, juriste, théologiste,
mathématicien et médecin Abū Walı̄d Muhammad ibn Ahmad ibn Muhammad ibn Rushd (1126–
1198) dit Averroès dont les commentaires sur les travaux d’Aristote eurent une influence très
8
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
CHAPITRE 1. INTRODUCTION
1.2. HISTOIRE DE LA LOGIQUE
importante dans l’Europe médiévale. Il faut noter d’ailleurs que c’est grâce à ces savants qu’on a
pu reconstituer de nombreux textes grecs, détruits lors des invasions barbares en Occident.
1.2.2
L’antiquité grècque
Des présocratiques à
C’est dans la Grèce antique que l’on trouve l’origine du mot « Logique ». Tout d’abord, sous
la forme du terme grec
, donc l’acception la plus courante est « la parole ».
Chez les présocratiques, le logos est le Verbe divin révélé à l’homme,
chez les sophistes, l’outil de l’orateur pour manipuler l’auditoire ; le sens
est alors plus proche de « raisonnement » rhétorique. Z énon
de
d’Élée (vers. 490–430 av. JC), disciple de Parm énide et inventeur de
, sous-entendu
: l’art de la discussion,
la dialectique (
de l’argumentation), formule des paradoxes dont celui d’Achille 1 et de
la tortue2 et celui de la flèche3 par lesquels il conclue à l’impossibilité
du mouvement. Ces paradoxes seront résolus mathématiquement par
Aristote4
Socrate (470-399 av. JC) dénonce la pratique du sophisme, qui
consiste à donner l’apparence d’une forme logique irréprochable à des
raisonnements fallacieux et chez son disciple Platon (vers 428–347 av.
JC), le logos devient le chemin qui pourra le reconduire vers la réalité
: l’intelligence) du monde des Idées
intelligible et raisonnée (
(
), opposée à la réalité sensible. La pensée mathématique abs- Fig. 1.1 – Source [McT]
Platon
traite est déjà très présente, même en géométrie : on peut lire dans
(427–347 av. J.C.)
République VII.510.d : « Par exemple, c’est du carré en soi, de la diagonale en soi [que les mathématiciens] raisonnent, et non de la diagonale telle qu’ils la tracent et il faut
en dire autant de toutes les figures. Toutes ces figures qu’ils modèlent ou dessinent, qui portent des
ombres et produisent des images dans l’eau, ils les emploient comme si c’étaient aussi des images
pour arriver à voir ces objets supérieurs qu’on n’aperçoit que par la pensée. ». Pour Platon, toute
question mathématique a une réponse, éventuellement inconnue, affirmative ou négative. C’est la
pensée qui est à l’origine de la logique bivalente et du principe du tiers exclus.
! "
1
Il s’agit du héros de l’Iliade d’Homère.
: « Achille au pied léger court derrière la tortue mais il ne pourra jamais la rattraper puisqu’à chaque fois
qu’il arrive là où était la tortue auparavant, celle-ci a avancé, et ainsi de suite à l’infini ». L’écrivain et logicien Lewis
Carroll (1832–1898) en a écrit une version plus compréhensible : « Achille et la tortue devaient faire la course
sur un parcours circulaire ; et comme l’on savait qu’Achille pouvait courir dix fois plus vite que la tortue, celle-ci
se vit accorder une avance de cent mètres. Il n’y avait pas de ligne d’arrivée, la course devant se poursuivre jusqu’à
ce qu’Achille ait, soit rattrapé la tortue, soit abandonné la course. Or il est évident que lorsqu’il aurait effectué les
cent premiers mètres, la tortue en aurait parcouru dix de plus ; et que lorsqu’il aurait parcouru ces dix mètres, elle
en aurait parcouru un de plus ; et ainsi de suite indéfiniment. Par conséquent, pour rattraper la tortue, il lui faudrait
parcourir un nombre infini de distances successives. Par conséquent, Achille ne peut jamais rattraper la tortue. »
3
La flèche, que l’archer lance de A vers B, parcourt d’abord la moitié de la distance qui sépare A et B. Puis elle
parcourt la moitié de la distance qui la sépare de B, c’est-à-dire le quart de la distance AB. Ensuite, elle se déplace à
nouveau de la moitié de la distance restante, c’est-à-dire d’un huitième de la distance AB. En continuant indéfiniment
selon ce principe, on arrive à la conclusion que la flèche n’atteindra jamais son but.
4
Diogène Sinope, dit « le cynique » (vers. 410–323 av. JC) aurait répondu à cette preuve de l’irréalité du
mouvement en se levant et en se mettant à marcher.
2
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
9
1.2. HISTOIRE DE LA LOGIQUE
CHAPITRE 1. INTRODUCTION
Aristote (384–322 av. JC) est l’un des personnages de l’Histoire les plus fascinants. Philosophe,
homme de science et de lettres, précepteur d’Alexandre le Grand, il est, entre autres, le fondateur
de la Logique et ses travaux en ce domaine feront référence des siècles durant. C’est d’ailleurs
à lui qu’on doit l’introduction du terme
(sous-entendu
, l’art, la technique) qui
signifie « Logique », comme on l’entend de nos jours. Il distingue en effet dans Rhétorique 1.1.11 la
notion de syllogisme formel (
) à celle de raisonnement rhétorique (
).
L’ensemble des ouvrages de Logique écrits Aristote s’appelle l’Organon (
: l’outil). Il est composé des Les Catégories (
) exposant les dix manières par lesquelles un
attribut peut être prédiqué à un sujet (en substance : quantité, qualité et en relation : lieu, temps,
situation, avoir, action, passion), De l’Interprétation (
) comportant une théorie des
oppositions et du syllogisme modal ainsi que la question des propositions portant sur des futurs
) où est exposée la théorie du syllocontingents, Les Premières Analytiques (
gisme en général, du point de vue de la validité formelle, et Les Secondes Analytiques (
) où se trouve exposée la théorie de la démonstration, Les Topiques (
) où se
trouve exposée une théorie du raisonnement eristique (
: la controverse), une définition
) qui constidu raisonnement par l’absurde, La réfutation des sophismes (
tuait vraisemblablement le neuvième livre de l’ouvrage précédent, où il est également question de
syllogismes éristiques et de raisonnements dont les prémisses ne sont que probables.
Parmi les points traités par Aristote, on trouve :
– l’utilisation de symboles pour désigner des objets mathématiques ;
en particulier il raisonne logiquement, non plus sur des propositions, mais sur les formes que peuvent prendre ces propositions :
il est le fondateur de la logique formelle ;
– la notion d’axiome qui est une « proposition qui s’impose à l’esprit », comme par exemple (Seconds Analytiques I.10.76.b), la
règle de simplification : « si de deux choses égales on soustrait des
choses égales, les restes sont égaux » ;
– les définitions en compréhension, du type ”{x ∈ A | P (x)}” en
notation mathématique contemporaine : en effet, il écrit dans
Métaphysique Z.XII.1037.b « il n’y a rien d’autre dans la définition
que le genre (
), dit premier [NdlA : ”x ∈ A”], et les différences Fig. 1.2 – Source [McT]
Aristote
(
) [NdlA : ”| P (x)”] ». On retrouve de manière récurrente
(384–322 av. J.C.)
cette décomposition entre la quiddité, c’est-à-dire la nature intrinsèque des choses (
) et ses attributs (
).
– le principe de non-contradiction, dont on trouve déjà trace chez
Parménide (515–440 av. JC), est exposé dans Métaphysique Γ.III.1005.b :
« Il est impossible qu’un seul et même attribut soit, et tout à la
fois ne soit pas, à un même sujet, sous un même rapport. ». Il
.
nomme une proposition contradictoire
– la définition des propositions universelles (
),
et existentielles (appelées particulières,
), respectivement
de la forme ∀x . . . et ∃x . . . en notation contemporaine.
– la définition des propositions affirmatives (
, e.g. « tout
"
! "# %$ "
&(' ) * $ , +
.- (/ 0 " ."
- "21 2$ "2- 10
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
2- CHAPITRE 1. INTRODUCTION
1.2. HISTOIRE DE LA LOGIQUE
homme est blanc ») et négatives (
, e.g. « nul homme n’est
blanc ») dans les Premières Analytiques I.2 et dans les Catégories 6,
qui, dans un cas comme dans l’autre peuvent être vraies ou fausses
selon que ce qu’elles énoncent est conforme ou non à ce qui est.
– les règles de négation des propositions universelles et existentielles ;
ainsi, dans De l’interprétation VII.17.b.16, il explique que la négation
de « tout homme est blanc » (∀x P (x)) n’est pas « nul homme
n’est blanc » (∀x ¬P (x)), mais bien « il existe un homme qui n’est
pas blanc5 » (∃x ¬P (x)), cette dernière proposition pouvant coexister de manière non contradictoire avec « il existe un homme
qui est blanc » (∃x P (x)).
– il définit le syllogisme dans les Premières Analytiques I.1.24.b
comme « un discours dans lequel, certaines choses étant posées,
quelquechose d’autre que ces données en résulte nécessairement
par le fait de ces données ». Cette notion est traitée en détail par
Aristote mais fut reprise au Moyen- Âge par les scholastiques (cf.
infra).
– le raisonnement par l’absurde, dans les Premieres Analytiques permet à Aristote de démonter (bien qu’il en attribue la paternité
aux Pythagoriciens (Pythagore de Samos, vers. 570–500√
av. JC)
6
et qu’on en trouver trace chez Zénon) l’irrationalité de 2.
– La notion de raisonnement « par induction » (
: « action d’amener vers » ou « sur »), dans les Analytiques et les Topiques qui consiste à remonter de l’étude de phénomènes particuliers au cas général7 . Aristote dit : « Quant à l’induction, elle
procède à partir des cas individuels pour accéder aux énoncés universels, par exemple, s’il est vrai que le meilleur pilote est celui
qui s’y connaı̂t, et qu’il en va de même du meilleur cocher, alors,
d’une façon générale, le meilleur en tout domaine est celui qui s’y
connaı̂t. »
%$ Les Mégarico-stoı̈ciens
."
L’école mégarique fondée par Euclide de Mégare 8 (450-380 av. JC), disciple de Socrate est
: le portique, sous lequel enseignait Z énon). Il
a évolué pour donner l’école stoı̈cienne (
y est question de problèmes importants de Logique dont certains de seront résolus qu’à l’époque
contemporaine. En particulier, Eubulide de Mégare (seconde moitié du IV ème siècle av. JC) énonce
5
Aristote semble avoir été un défenseur de l’égalité des hommes au delà de leur couleur de peau, puisqu’on peut
lire dans Métaphysique I.IX.1058.b : « Aussi la couleur blanche ou la couleur noire de l’homme ne produit-elle pas
une différence spécifique ; et il n’y aurait pas de différence d’espèce de l’homme blanc à l’homme noir, quand bien
même on donnerait à chacun d’eux un nom séparé. »
√
6
soit p premier, si p est rationnel, il existe a, b premiers entre-eux tels que a2 = pb2 , donc p divise a2 , donc a.
On peut donc écrire a = pn et en déduire a2 = p2 n2 = pb2 , d’où pn2 = b2 , c’est-à-dire que p divise b2 , donc b. C’est
absurde car a et b sont premiers entre-eux. On trouve également cette démonstration dans le livre IX des Éléments
d’Euclide.
7
Le mot « induction » n’a évidemment rien à voir ici avec la notion de récurrence.
8
à ne pas confondre avec Euclide d’Alexandrie
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
11
1.2. HISTOIRE DE LA LOGIQUE
CHAPITRE 1. INTRODUCTION
le célèbre paradoxe du menteur : « Affirmer que ce que l’on est en train de dire est faux, est-ce
vrai ? ». Une discussion avec Philon (IVe-IIIe siècle av. JC) permet à Diodore Cronos (mort en
296 av. J.-C.) de proposer l’équivalence entre l’implication « si A alors B » et la négation de « A
et non-B ». Chrysippe (281-205 av. JC) posait cinq propositions axiomatiques, dont le modus
ponens : si A implique B et qu’on a A alors on a B.
d’Alexandrie
Euclide d’Alexandrie (vers 325–265 av. JC) donne un exemple de mathématiques rigoureuses,
fondées sur un système d’axiomes et de démonstrations. Dans Les Éléments, il donne la définition
d’un point (ce dont la partie est nulle), d’un segment (longueur sans largeur dont les extrémités
sont des points), de droite, d’angle, de cercle, etc, de droites parallèles (qui prolongées indéfiniment
d’un côté ou de l’autre ne se rencontrent pas), et propose cinq postulats pour la géométrie :
1. Étant donnés deux points A et B, il existe une droite passant par A et B ;
2. Tout segment [AB] est prolongeable en une droite passant par A et B (compte tenu du premier
postulat, elle est unique) ;
3. Pour tout point A et tout point B distinct de A, on peut décrire un cercle de centre A passant
par B ;
4. Tous les angles droits sont égaux entre eux ;
5. Par un point extérieur à une droite, on peut mener une parallèle et une seule à cette droite
(Axiome des parallèles).
Nombreux sont ceux qui ont prétendu avoir démontré le cinquième
postulat à partir des quatre autres : cela n’est, en fait, pas possible car
ces axiomes sont bien indépendants 9 .
Dans le domaine de l’algèbre, on doit également à Euclide de nombreux théorèmes, en particulier, la démonstration du fait que tout entier n > 1 admet un diviseur p premier 10 (Éléments, Livre VII, Prop. 33)
et du fait qu’il existe une infinité de nombres premiers 11 (Éléments,
Livre IX, Prop. 20).
1.2.3
La scolastique médiévale
L’Ars vetus
Entre le IIème et le VIIème siècle, la patristique, doctrine des premiers
auteurs chrétiens (les Pères de l’ Église), est plutôt d’influence platoni9
on peut construire des géométries dites « non euclidiennes » où les quatre premiers postulats sont vérifiés et où
le cinquième postulat peut être remplacé par ceux-ci : 1.) « Deux droites distinctes sont toujours sécantes à l’infini. »
C’est la géométrie projective de Desargues et Poncelet ; 2.) « Par un point extérieur à une droite, il n’y a aucune
parallèle à cette droite. » C’est la géométrie elliptique, comme celle de la sphère, ainsi que
l’ont1.3
étudiée
Gauss,
Klein
Fig.
– Source
[McT]
et Riemann ; 3.) « Par un point extérieur à une droite on peut mener une infinité de parallèles distinctes à cette
Euclide d’Alexandrie
droite. » C’est la géométrie hyperbolique, étudiée par Bolyaı̈, Lobatchevski, Poincaré et Beltrami.
(vers
325–265 av. J.C.)
10
Si n est premier, alors p = n convient, sinon, n admet un diviseur d1 avec 1 < d1 < n ; si d1 n’est pas premier,
alors il admet un diviseur d2 avec 1 < d2 < d1 ,. . . On peut répéter ce procédé jusqu’à obtenir, après un nombre fini
d’étapes, un diviseur p > 1 premier.
11
Sinon, soit n = p1 p2 · · · pk + 1 où pi désigne le i-ième entier premier et pk le plus grand d’entre-eux. L’entier n
possède au moins un diviseur premier p, i.e. n = mp. Si d = p1 , on aurait 1 = p1 (m − p2 · · · pk ), ce qui est impossible,
on voit de même que p 6= pi pour 1 ≤ i ≤ k, donc p > pk , ce qui est absurde.
12
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
CHAPITRE 1. INTRODUCTION
1.2. HISTOIRE DE LA LOGIQUE
cienne et de sa variante mystique développée par Plotin (205–270) à
Alexandrie : le néo-platonisme.
C’est vers le XIème siècle, débute le mouvement scolastique, qui
cherche à accorder la raison et la révélation, en s’appuyant sur l’Organon
d’Aristote. Dans un premier temps, celui de l’Ars vetus, seules Les
) du philosphe
Catégories, De l’Interprétation et l’Isagoge (
grèc d’origine syrienne Porphyre (234–305) sont utilisés.
Le philosophe et logicien le plus important de cette époque est Ab élard (1079-1142) qui, dans
son traité Dialecta, fortement inspiré des enseignements de Bo èce (480–524), fonde l’étude sérieuse
de la logique au Moyen Âge. Il étudie la structure des propositions et introduit le terme de copule
(du latin cōpŭla : ce qui sert à attacher, à unir) pour désigner le mot qui relie le prédicat au sujet
(e.g. « 8 est pair »).
L’Ars nova
Les facultés des arts des nouvelles universités, comme la Sorbonne, fondée en 1257 par Robert
de Sorbon (1201–1294), enseignent alors trois disciplines (le trivium) : la rhétorique, la grammaire
et la logique. Cette dernière est présentée de manière formelle, à l’inverse de l’enseignement fait
dans les facultés de théologie, où elle est un moyen d’argumentation et de preuve lors de discussions
métaphysiques et religieuses.
La Haute scolastique, grande époque de ce mouvement, se situe au XIII ème siècle sous l’influence,
entre autres, de Thomas d’Aquin (1225-1274) qui prône l’Ars nova qui reprend la totalité de
l’Organon pour refonder la philosophie chrétienne proposée par Augustin (354–430). Ce mélange
entre logique et religion est aussi très présente dans l’étude combinatoire de Raymond Lulle (12321315) qu’il appelle l’ars magna et avec laquelle il veut convertir les Juifs et les Musulmans à la
religion chrétienne.
La Logica modernorum
Les antiqui, disciples de l’Ars nova, s’opposent aux moderni qui exploitent également l’Organon
au complet mais qui étudient la logique pour elle-même, sur le plan du langage, et non dans
une perspective chrétienne ou plus généralement métaphysique. C’est ce mouvement de la Logica
modernorum qui dominera entre la fin du XIII ème siècle et le début du XIVème siècle.
Guillaume d’Occam (vers 1280–1348) est le premier représentant
des moderni. Sa conception du Principe d’Omnipotence de Dieu lui fait
dire que nous ne pouvons pas connaı̂tre l’enchaı̂nement des choses et
établir de relation de cause à effet dans le monde réel car seules nous
sont accessibles les faits contingents et pas la cause de cette contingence,
que seul Dieu connaı̂t. Par ailleurs, pour lui, seul le singulier est réel.
Ce qui est universel existe uniquement dans l’esprit. Il en conclue que
la Logique doit servir à analyser la structure formelle du langage plutôt
que de constituer une science de la réalité ou de l’esprit et expose ses
théories dans son œuvre principale : Summa totius logicae.
C’est à lui qu’on doit le Principe d’économie, appelé le rasoir d’Occam : « les entités ne devraient pas être multipliées sans nécessité 12 » :
Fig. 1.4 – Source [McT]
12
on retrouve les traductions Pluralitas non est ponenda sine neccesitate et Frustra fitGuillaume
per plura quod
potest fieri
d’ Occam
(1280–1348)
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
13
1.2. HISTOIRE DE LA LOGIQUE
CHAPITRE 1. INTRODUCTION
en d’autres termes, tous les principes qui ne sont pas nécessaires à l’explication d’une chose doivent être rejetés. C’est le principe scientifique
selon lequel, quand on a deux théories en compétition qui permettent
de prédire exactement les mêmes choses, celle qui est la plus simple qui doit être choisie.
La syllogistique scolastique
"21 " L’un des enseignements essentiels de la Logique au Moyen Âge était la syllogistique d’Aristote
pour lequel, le syllogisme est composé de trois propositions : deux prémisses 13 (
ou
) comprenant une majeure (
), une mineure (
) et une
conclusion (
). Ces propositions font intervenir trois termes (
) : le « grand terme »
`
, le « moyen terme »
et le « petit terme » .
Le plus célèbre exemple de syllogisme est dû à Guillaume d’Occam :
. 2 ' prémisse majeure : « Tout homme est mortel »
prémisse mineure : « Socrate est un homme »
conclusion :
« Socrate est mortel »
Le grand terme est le fait d’être mortel, le moyen terme le fait d’être un homme et le petit
terme le fait d’être Socrate, par ordre décroissant de généralité (Aristote dit d’« extension »).
Il est classiquement trois formes de syllogismes, elle-mêmes déclinées en différents modes selon que
les propositions sont affirmatives, négatives, universelles ou particulières.
Afin de faciliter l’apprentissage de la syllogistique, les scolastiques inventent les vers mnémoniques que l’on retrouve dans Introductiones in logicam de William de Shyreswood (1190–1249)
et dans le manuel par excellence de la logique du XIII ème au XVIIème siècle : Summulae logicales
du médecin ophtalmologue devenu Pape (Jean XXI, en 1276) : Pierre d’Espagne.
Bien que la langue latine était considérée par les médiévaux comme l’accomplissement d’un
langage parvenu à son plus haut degré de rationalité, ils lui préféraient un métalangage pour parler
de syllogistique. Les scolastiques nommaient A les universelles affirmatives, I les particulières affirmatives, E les universelles négatives et O les particulières négatives. Dans les Tables 1.1, 1.2 et 1.3,
qui résument les situations concluantes, la première ligne est la prémisse majeure, la deuxième, la
prémisse mineure, la troisième, la conclusion qu’on en déduit. La première colonne désigne le type
des propositions selon la classification scolastique. Le nom en légende est la désignation scolastique.
Le disciple d’Occam, William Burleigh (1275–1345) présentera la syllogistique comme un cas
particulier du calcul des propositions dans De puritate artis logicae, dont Jean Buridan (vers 1300–
1358) proposera une axiomatisation dans ses Consequentiae. Son disciple Albert de Saxe, distinga
les termes catégorématiques qui peuvent être sujet ou prédicat et les termes syncatégorématiques
qui servent à les joindre et à en déterminer les modes (e.g. quelque, tout, nul,. . .).
Notons également l’étude de John Duns Scot (1266–1308) qui ajoute aux quatre modalités
d’Aristote (contingent, possible, impossible et nécessaire) le vrai, le faux et des modalités dites
subjectives (c’est-à-dire qui relient le locuteur et son énoncé) : douteux, connu, cru, apparent, voulu,
per pauciora dans ses textes tandis que Entia non sunt multiplicanda praeter necessitatem semble être l’œuvre d’un
de ses élèves.
13
le nom féminin « prémisse » vient du latin prae : avant et missus : envoyé. Il convient de le distinguer du nom
masculin « prémice », du latin prı̄mı̆tĭae, qui désigne les premières manifestations d’un phénomène.
14
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
CHAPITRE 1. INTRODUCTION
1.2. HISTOIRE DE LA LOGIQUE
A
A
Tout B est A
Tout C est B
E
A
Nul B n’est A
Tout C est B
A
I
Tout B est A
Quelque C est B
E
I
Nul B n’est A
Quelque C est B
A
Tout C est A
E
Nul C n’est A
I
Quelque C est A
O
Quelque C n’est pas A
(a) Barbara
(b) Celarent
(c) Darii
(d) Ferio
Tab. 1.1 – Modes concluants des syllogismes de la première figure dans lesquels le terme moyen B
est sujet dans la majeure et attribut dans la mineure. Le grand terme est A, et le petit terme C.
E
A
Nul N n’est M
Tout X est M
A
E
Tout N est M
Nul X n’est M
E
I
Nul N n’est M
Quelque X est M
A
O
Tout N est M
Quelque X n’est pas N
E
Nul X n’est N
E
Nul X n’est N
O
Quelque X n’est pas M
O
Quelque X n’est pas M
(a) Cesare
(b) Camestres
(c) Festino
(d) Baroco
Tab. 1.2 – Modes concluants des syllogismes de la deuxième figure dans lesquels le terme moyen M
est attribut dans la majeure et dans la mineure. Le grand terme est N , et le petit terme X.
A
A
Tout S est P
Tout S est R
E
A
Nul S n’est P
Tout S est R
I
A
Quelque S est P
Tout S est R
A
I
Tout S est P
Quelque S est R
I
Quelque R est P
O
Quelque R n’est pas P
I
Quelque R est P
I
Quelque R est P
(a) Darapti
(b) Felapton
(c) Disamis
O
A
Quelque S n’est pas P
Tout S est R
E
I
Nul S n’est P
Quelque S est R
O
Quelque R n’est pas P
O
Quelque R n’est pas P
(e) Bocardo
(d) Datisi
(f) Ferison
Tab. 1.3 – Modes concluants des syllogismes de la deuxième figure dans lesquels le terme moyen S
est sujet dans la majeure et dans la mineure. Le grand terme est P , et le petit terme R.
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
15
1.2. HISTOIRE DE LA LOGIQUE
CHAPITRE 1. INTRODUCTION
choisi. Au delà de l’aléthique (
: littéralement « non caché » d’où « vrai », où l’on ne considère
que le vrai, le faux, et éventuellement l’indéterminé), ce sont des considérations épistémiques (c’està-dire le degré de connaissance de la situation qu’a le locuteur et donc son degré de certitude) et
déontiques (du grec
: ce qui est nécessaire) qui anticipent la théorie moderne des modalités
ainsi que ses élargissements.
1.2.4
L’époque moderne
et la logique de Port-Royal
La Logique évolue peu du XIIIème au XVIIème siècle où la tendance est au rejet de la Logique
formelle au profit d’un art, une méthode de bien penser, comme le souhaite René Descartes (15961650) dans son Discours de la méthode pour bien conduire sa raison et chercher la vérité dans les
sciences (1627) où il défend (assez naı̈vement au demeurant, comme dans la plupart de ses travaux
philosophiques et scientifiques14 ) un raisonnement partant d’« intuitions claires et distinctes » et se
déroulant par l’énumération pas à pas d’une chaı̂ne ininterrompue d’évidences en « ne reconnaissant
comme vrai que ce qui se présente si clairement et si distinctement à l’esprit qu’on ne puisse le
mettre en doute ».
Cette conception sera reprise dans le traité d’Antoine Arnault et Pierre Nicole qui paraı̂t
anonymement, en 1662, et en langue française (et pas en latin, pour se distinguer de la pédanterie
scolastique) sous le titre de La logique ou l’art de penser, plus connu sous le nom de « Logique de
Port-Royal ».
Wilhelm Leibniz (1646–1716) est considéré comme le créateur de la logistique ( Gottfried
: relatif
au raisonnement et/ou au calcul) : la logique mathématique.
Il souligne les insuffisances de la méthode cartésienne qui est de nature psychologique [BR97,
p. 56] : « Descartes a logé la vérité à l’hostellerie de l’évidence mais il a oublié de nous indiquer
l’adresse. » ou encore « Sa mécanique est pleine d’erreurs, sa physique va trop vite, sa géométrie
est bornée, sa métaphysique est tout cela ensemble. ».
Dans De Arte combinatoria, Leibniz présente la combinatoire comme la science générale des
relations abstraites permettant, entre autres, d’exploiter les vérités déjà connues pour en tirer des
vérités nouvelles.
Il en déduit les règles du calcul infinitésimal — découvert simultanément par Isaac Newton
(1642–1727) et dont la manipulation requiert une rigueur dépassant de beaucoup les « intuition
14
Sa théorie des « esprits animaux » qui transmettraient des impulsions physiques du système nerveux à l’esprit
à partir de la glande pinéale du cerveau ne sont que des élucubrations sans fondements. Sa « preuve ontologique de
l’existence de Dieu » est fausse, et d’autant moins acceptable que sa soi-disant résolution du problème du « malin
génie », nécessaire à un raisonnement sans faille, requiert l’existence de Dieu, ce qui conduit à un cercle vicieux
comme l’a fait remarquer le mathématicien, physicien et philosophe Pierre de Gassendi (1592–1655). Blaise Pascal
(1623–1662), scientifique et théologiste, critiquera également la notion de preuve de l’existence de Dieu : « la foi est
différente de la preuve. L’une est humaine et l’autre est un don de Dieu ». Le lecteur rigoureux pourra relever au
moins une erreur logique par page dans le Discours de la méthode. . . Du point de vue éthique, Descartes considérait
les animaux comme des machines et ses disciples clouaient des chiens sur des planches pour faire des expériences ;
Malebranche qui battait son chien régulièrement expliquait que ses hurlements n’étaient qu’un réflexe sans que
« ça ne ressente rien ». . .
16
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
CHAPITRE 1. INTRODUCTION
1.2. HISTOIRE DE LA LOGIQUE
des vérités claires et distinctes » de Descartes — et une amélioration de la machine arithmétique
de Pascal.
Leibniz veut réaliser concrètement l’idée de Thomas Hobbes (1588–
1679) qui affirme dans Computatio sive Logica in De Corpore (1655) que
toute opération de notre esprit est un calcul,
Pour cela, il veut créer un système de symboles, la lingua characteristica universalis, indépendante des langues naturelles. Une fois ce
système symbolique développé, cela permettrait de formuler un calcul
des propositions, le calculus ratiocinator.
Préfigurant ainsi les travaux de Boole, il s’intéresse à la
représentation binaire15 au sujet duquel il dit : « Omnibus ex nihil ducendis sufficit unum » (Un suffit à tirer tout de rien) et découvre le
Yi Jing (Le Livre des Mutations 16 ), et envoyés depuis la Chine par le
père Bouvet dans lequel sont présentés les combinaisons (trigrammes
et hexagrammes) du Yang, le principe positif, représenté par un trait Fig. 1.5 – Source [McT]
Gottfried Leibniz
entier et du Yin, le principe négatif, représenté par un trait évidé.
(1646–1716)
S’inspirant tout de la logique combinatoire de Lulle tout en la critiquant), il met en évidence le parallèle de la composition des concepts logiques et les opérations
arithmétiques et la décomposition des concepts en éléments simples avec la décomposition des
entiers en leurs facteurs premiers.
D’un point de vue à la fois méthodologique et métaphysique, Leibniz distingue les « vérités
nécessaires », qui sont indispensables à tout monde possible et qui ne pourraient pas être autres
(A et non-A ne peuvent être vrais simultanément) des « vérités contingentes » qu’on constate
expérimentalement mais qu’on pourrait imaginer autres dans des contextes différents (ma voiture
est bleue). Il énonce que la vérité est « analytique », c’est-à-dire que toute propriété d’un objet
résulte de la définition de celui-ci. Il explique que Dieu connaı̂t analytiquement et de toute éternité
les vérités contingentes qui ne nous sont accessibles que par l’expérience.
Scission des pratiques Mathématiques et Philosophiques de la Logique
Après Leibniz, le chemin des Philosophes et les Mathématiciens semblent prendre des directions
distinctes.
Pour ce qui est des mathématiciens, on doit à Léonard Euler (1707–1783) la popularisation de
la représentation des syllogismes sous forme de diagrammes (les ”patates”, attribués, à tort, à John
Venn (1834–1923) : ils avaient été découverts par Leibniz) et à Bernard Bolzano (1781–1848),
une tentative, dans Wissenschaftlehre, de fondations de l’édifice mathématique sur la Logique. Les
considérations philosophiques sont toutefois toujours présentes puisque ce dernier s’oppose à tout
subjectivisme : pour lui, il y a une vérité en soi, connue ou non.
En ce qui concerne les philosphes, l’ Éthique, de Baruch Spinoza (1632-1677), bien que rédigée
comme un ouvrage mathématique comme les Éléments d’Euclide, n’est en fait qu’une étude, à
15
L’une des premières trace de codage binaire en occident semble être le Bi-literarie Cipher [Bac06, vol. 6, chap. 1]
(1606) de Francis Bacon (1561–1626). La numération positionnelle binaire remonte, elle, sans doute au De numeris
multiplicibus ex sola characterum numericorum additione agnoscendis (Des caractères de divisibilité des nombres
déduits de la somme de leurs chiffres) présenté en 1654 par Pascal à l’Académie des Sciences.
16
attribués au légendaire empereur Fu Xi qui aurait vécu 3000 ans av. JC, le Yi Jing semble plus probablement
avoir été rédigé entre le quatrième et le troisième siècle av. JC
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
17
1.2. HISTOIRE DE LA LOGIQUE
CHAPITRE 1. INTRODUCTION
l’apparence formelle, de principes métaphysiques comme à l’époque de l’Ars nova, plus de trois
siècles auparavant. Un exemple : Proposition. XVIII. Personne ne peut haı̈r Dieu. Démonstration :
L’idée de Dieu qui est en nous est adéquate et parfaite (II. xlvi. xlvii.) ; par conséquent, quand nous
contemplons Dieu, nous sommes actifs (III. iii.) ; donc (III. lix.) il ne peut y avoir aucune doûleur
accompagnant l’idée de Dieu, en d’autes termes (Déf des Emotions, vii.), on ne peut pas haı̈r Dieu.
Q.E.D.. . .
On peut également s’étonner qu’un peu plus tard, les ambitions exorbitantes d’Immanuel Kant
(1724–1804) ne l’aient pas conduit à s’interroger sur la Logique (il considérait la discipline close
depuis l’Organon). . . En 1781, à 57 ans, il publie, au terme d’une longue élaboration, sa Critique de
la raison pure (le terme « critique » s’entend selon son acception grècque de « jugement » :
)
qui doit établir les droits de la raison pure, c’est-à-dire antérieure ou indépendante de l’expérience
sensible (ce que Kant appelle l’a priori, à opposer à ce qui est a posteriori de l’expérience sensible).
Un exemple de jugement a posteriori est l’affirmation « que cette fleur est rouge » après l’avoir vue
mais Kant affirme qu’on peut également faire des jugements a priori de nature « analytiques »
(c’est-à-dire dont la conclusion s’obtient en analysant logiquement l’objet dont il est question)
et « synthétiques » (c’est-à-dire dont la conclusion relève d’une forme de création, son exemple
célèbre [Kan87, III.36.V.1, pp. 66–67] est « 7 + 5 = 12, or 12 ne ”contient”, ni 7, ni 5.»). Bien
que tout un chapitre de Prolégomènes à toute métaphysique future soit pompeusement baptisé
« Première partie de la question transcendentale capitale : comment la mathématique pure estelle possible », Kant ne semble rien entendre, ni en Logique, ni en Mathématique mais ses idées
prévalant dans la société de l’époque et freinent le développement scientifique puisque Gauss
écrit [Gui, p. 421] en 1829 à Bessel : « j’apréhende la clameur des Béotiens si je voulais exprimer
complètement mes vues [NdlA : sur les géométries non-euclidiennes] » qui allaient à l’encontre du
postulat kantien que la géométrie euclidienne était un a priori absolu. Un naı̈f chassant l’autre,
Kant critique la preuve ontologique de l’existence de Dieu de Descartes et propose, en 1763,
et avec sa modestie habituelle L’Unique fondement possible d’une démonstration de l’existence de
Dieu qui ne fait pas mieux que celui qu’il fustige.
Au sujet de la distinction entre jugements analytiques et synthétiques, selon que la notion du
prédicat est contenue ou non dans celle du sujet, on pourra plutôt s’intéresser à la pertinente
remarque de John Stuart Mill (1806–1873) à l’égard de la syllogistique : « la conclusion du
syllogisme ne nous apprend rien de plus que ce qui est déjà dans les prémisses : la conclusion est
présupposée dans la majeure. ». Une réponse à cette remarque viendra de la distinction tardive
entre syntaxe et sémantique : certes, sémantiquement, la véracité de la conclusion est conséquence
de celle des prémisses mais le raisonnement syntaxique qui conduit des prémisses à la conclusion
n’est, lui, pas implicitement contenu, ni dans les prémisses, ni dans la conclusion.
Évolution de la symbolique
Il semble évident à un scientifique contemporain que le langage usuel n’est pas adapté pour
exprimer des résultats scientifiques précis. Par exemple, dire : « il y a un nombre entier supérieur
à tout nombre entier » peut signifier, ou bien que pour chaque nombre entier, il existe un nombre
entier qui lui est supérieur (ce que l’on pourrait noter ∀x ∃y (y ≥ x) et qui est vrai), ou alors
qu’il existe un nombre entier qui est supérieur à tout nombre entier (ce que l’on pourrait noter
∃x ∀y (y ≥ x) et qui est faux). La notation scientifique a évolué parallèlement à l’augmentation de
la rigueur et de la précision au fil du temps.
L’idée de représenter des objets mathématiques par des symboles est due à Aristote mais son
18
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
CHAPITRE 1. INTRODUCTION
1.2. HISTOIRE DE LA LOGIQUE
utilisation dans un cadre arithmétique semble avoir été introduite par Diophante d’Alexandrie
au milieu du IIIème pour désigner l’inconnue dans une équation algébrique (e.g. 2 · x + 4 = 0).
Ce n’est qu’en 1591 que Viète, considéré comme le fondateur de l’Algèbre moderne, a l’idée de
généraliser cette notation symbolique aux coefficients de telles équations (e.g. a · x + b = 0) afin de
trouver des solutions génériques. On trouve dans Newton les prémices de la notation générique des
fonctions mais c’est Jean Bernouilli (1667–1748) qui désigne pour la première fois les fonctions
polynomiales par un symbole en 1718. La notation des opérations par des symboles apparaı̂t au
début du XIXème siècle : on peut lire dans les actes de la Séance solennelle de l’Académie Impériale
des Sciences de Saint-Petersbourg tenue à l’occasion de sa fête séculaire le 29 décembre 1826 que
l’Académicien E. Collins « adopte des signes généraux d’opération qu’il indique par des traits
placés, comme les signes ordinaires de l’addition, de la soustraction, etc, entre des lettres. Ce
calcul [. . . ] n’est pas là autre chose que la syntaxe du calcul des fonctions ». La symbolique
utilisée en logique est principalement due à Frege (cf. infra). On peut constater dans son ouvrage
Begriffsschrift la distinction qui est faite entre la syntaxe, illustrée par les expressions « 2 + 2 » ou
encore « 22 », et leur sémantique : l’entier 4 qu’elle représentent. Les tables de vérité sont dues à
Charles Peirce [Pei85] (1839–1914).
1.2.5
Contemporains
La logique algébrique de
George Boole (1815–1864) conçoit dans The mathematical analysis of logic, being an essay
towards a calculus of deductive reasoning (1847) et An investigation of the laws of thought on
which are founded the mathematical theories of logic and probabilities (1854) une logique sous la
forme d’un calcul efficace consistant en des procédures de décision, et indépendant de la philosophie.
Il traduit les concepts logiques usuels (vrai, faux, conjonction, disjonction,. . .) sous forme binaire.
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
19
1.2. HISTOIRE DE LA LOGIQUE
CHAPITRE 1. INTRODUCTION
Georg Cantor (1845–1918) publie en 1874 un article marquant le
début de la Théorie des Ensembles et y distingue au moins de types
d’infinis : celui des entiers, dont il montre qu’il est de même taille que
celui des rationnels et même des réels algébriques, et celui de l’ensemble
de tous les réels, ce qui constitue une preuve très élégante du résultat
établi en 1851 par Liouville sur le fait qu’il existe une infinité de réels
transcendants. Il définit la notion de cardinal et montre que montre
également que les cardinaux de Rn et R sont les mêmes à propos de
quoi il dit : « je le vois mais je ne le crois pas ! ». En 1883, Cantor
expose les propriétés des ensembles bien ordonnés, introduit la notion
d’ordinal et établit l’arithmétique transfinie.
En 1899, il met en évidence un paradoxe : quel serait le cardinal de
l’ensemble de tous les ensembles ? Ce paradoxe sera discuté plus tard Fig. 1.6 – Source [McT]
Georg Cantor
par Russel (cf. infra) en 1902.
(1845–1918)
Hilbert décrivait le travail de Cantor comme « la plus fine production du génie mathématique et l’achèvement suprême de l’activité humaine purement intellectuelle ».
Le logicisme de
Ce qu’on appelle la logistique ou encore logique mathématique commence avec la Begriffsschrift [vH67, p. 1–82] (Idéographie, 1879) de
Gottlob Frege (1848-1925) qui reprend des idées, déjà latentes chez
Leibniz, mais en les formalisant jusqu’au bout.
L’école logiciste a une conception platonicienne de la Logique et veut
s’attacher à trouver les « vrais » principes fondamentaux. On peut citer
Frege :
« De fausses prémisses on ne peut, d’une manière générale,
rien conclure. Une pure pensée, non reconnue comme vraie,
ne peut pas être une prémisse. C’est seulement lorsque j’ai
reconnu comme vraie une pensée qu’elle peut être pour moi
une prémisse ; de pures hypothèses ne peuvent être employées
comme prémisses. »
Fig. 1.7 – Source [McT]
Gottlob Frege
Frege exclut les propositions modales de son système logique, sou(1848–1925)
tenant que les modalités n’affectent pas le contenu des propositions, mais
plutôt la capacité à en faire l’assertion. La nécessité implique que nous pouvons inférer le contenu
de la proposition, alors que le possible implique que nous ne pouvons faire cette même assertion
universellement et avec certitude.
Il est clair que la Begriffsschrift constitue le point de départ de la logique contemporaine mais
il n’a failli par voir le jour car, juste avant sa publication en 1902, Bertrand Russel découvrait son
célèbre paradoxe (cf. infra).
Frege ajouta finalement à la fin de son traité :
« Un scientifique peut difficilement se trouver face à quelquechose de plus indésirable
que de voir les fondations céder alors que le travail vient d’être terminé. Dans cette
20
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
CHAPITRE 1. INTRODUCTION
1.2. HISTOIRE DE LA LOGIQUE
position je fus mis par une lettre de M. Bertrand Russel alors que ce travail était
presque déjà sous presse. »
Giuseppe Peano (1858–1932), tout comme chez Frege, considère
la logique comme subordonnée aux mathématiques. Il cherche également
comme Frege à évacuer complètement la langue naturelle des
mathématiques pour la remplacer par des termes logiques. C’est à cette
entreprise qu’il consacre son Formulaire (1895). Peano considère que,
puisque les mathématiques peuvent être entièrement réduites à un langage symbolique, elles acquièrent ainsi un caractère universel. Il en serait
de même pour toute science qui pourrait être exprimée sous forme symbolique.
Les efforts de Grassmann et de Peano donnent lieu à la définition
formelle des espaces vectoriels réels [Pea88], puis à ses Arithmetices
principia [Pea89], dont il montre [Pea91] en 1891, l’indépendance des
Fig. 1.8 – Source [McT]
axiomes
Giuseppe Peano
Bien que Peano présente son calcul comme une axiomatique, il n’or(1858–1932)
ganise pas ses lois logiques en un système déductif comme le fait Frege.
Les propositions servant de base à l’arithmétique ne sont que des postulats.
On retient toutefois de Peano son idéographie, beaucoup moins compliquée que celle de Frege,
et qui deviendra, après quelques ajustements de Russell et Whitehead, la langue symbolique de
la logistique moderne.
La théorie des types simples de
Fortement influencé par Peano, Bertrand Russell (1872-1970) critique Frege, entre autres, sur la théorie des ensembles, dans son ouvrage Principles of mathematics (1903). Il met en évidence des paradoxes dont le plus célèbre d’entre-eux est présenté dès 1902 (et trouvé
indépendemment par Zermelo) demande si, étant donné l’ensemble
E = {x | x ∈
/ x}, on a E ∈ E ou pas. On voit aisément que E ∈ E ssi
E ∈
/ E, ce qui constitua un paradoxe qu’il proposa de regler en introduisant la théorie des types simples, parus dans un premier temps dans
l’article Mathematical logic as based on the theory of type (1908), puis
dans son ouvrage Principia mathematica (1910).
Fig. 1.9 – Source [McT]
Bertrand Russel
David Hilbert (1862–1943) propose un programme de recherche
(1872–1970)
pour le XXème siècle, au Congrès International de Mathématiques de
Paris en 1900. Il propose en particulier de rechercher une preuve absolue de la cohérence de
l’arithmétique, considérant que les preuves de cohérence des mathématiques n’étaient jusque là
que relatives et fondées uniquement sur l’arithmétique, qui elle-même ne pouvait être ramenée à la
cohérence d’une autre théorie plus fondamentale.
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
21
1.2. HISTOIRE DE LA LOGIQUE
CHAPITRE 1. INTRODUCTION
Dans les années 1920, Hilbert met au point une méthode de démonstration, afin de déterminer
mécaniquement si une formule est ou n’est pas un théorème. Toutefois, Church et Turing montreront en 1936 qu’il n’existe pas de procédure mécanique de décision pour la logique du premier
ordre et pour l’arithmétique.
Hilbert reconnaı̂tra, même avant la preuve de Church et Turing,
que la preuve de cohérence issue de sa théorie de la démonstration ne
saurait être absolue et qu’elle doit reposer sur un ensemble de méthodes
élémentaires, intuitivement correctes. Il devra également admettre l’impossibilité de démontrer, par des procédés dits finitistes, la non contradiction de l’arithmétique et de toute la théorie la contenant ainsi que,
plus généralement, la non contradiction d’un système formel à l’aide des
seules ressources qu’il contient lui-même.
Hilbert insiste sur le fait que le processus de déduction « n’a pas
de sens », c’est-à-dire ne constitue qu’une suite de réécriture selon des
règles calculatoires. Le sens, les certitudes et les fondements doivent être
distinctes de ces processus et être fondées sur les preuves de cohérence
et d’absence de contradiction formelle. Ces preuves doivent être données Fig. 1.10 – Source [McT]
David Hilbert
dans une mathématique externe aux mathématiques usuelles : les
(1862–1943)
métamathématiques. La métathéorie est écrite dans un métalangage.
Hilbert conjecture, dans son programme de fondations des mathématiques, qu’on pourra
démontrer la décidabilité et la complétude (tout énoncé ou sa négation est démontrable) des axiomatiques formelles.
Les débuts C’est en 1928 que Kurt Gödel (1906-1978) s’intéresse
aux problèmes de logique mathématique et de théorie des ensembles.
Ce tournant est pris grâce aux leçons de Rudolf Carnap (1891-1970)
sur les fondements philosophiques de l’arithmétique et à la parution
du livre de Hilbert et Wilhelm Ackermann (1896–1962) : Grundzüge
der theoretischen Logik (Éléments de logique théorique). La même année
se tient à Bologne le premier congrès international des mathématiciens
depuis la guerre ; Hilbert y fait une conférence, dont G ödel a probablement connaissance, sur les problèmes posés aux mathématiciens par
« le fondement » de leur science.
Lors de cette conférence, les deux problèmes logiques explicitement
formulés par le traité de Hilbert et Ackermann sont celui de la
complétude sémantique et celui de la décidabilité du calcul des prédicats Fig. 1.11 – Source [McT]
Kurt Gödel, jeune
du premier ordre. Le problème général de la complétude est le suivant :
(1906–1978)
l’ensemble des axiomes posés pour le calcul des prédicats du premier
ordre suffit-il à la dérivation de n’importe quel énoncé valide universellement ? Le problème général
de la décision, considéré alors comme « le problème fondamental de la logique symbolique »,
consiste à trouver une méthode systématique qui permette de décider en un nombre fini d’étapes si
un énoncé quelconque du calcul des prédicats du premier ordre est valide ou satisfiable (vrai pour
une interprétation). Les quatre problèmes proposés au congrès de Bologne sont les suivants :
1. donner une preuve finitiste, c’est-à-dire, en gros, excluant tout raisonnement sur les collec22
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
CHAPITRE 1. INTRODUCTION
1.2. HISTOIRE DE LA LOGIQUE
tions infinies, de la consistance (ou non-contradiction) de l’analyse. Hilbert croyait, à tort, ce
problème résolu pour l’arithmétique ;
2. donner une preuve finitiste de la consistance de la théorie des ensembles ;
3. démontrer la complétude syntaxique de la théorie élémentaire des nombres entiers ou réels ;
4. démontrer la complétude sémantique du calcul des prédicats du premier ordre au sens défini
dans les Grundzüge der theoretischen Logik.
Le Théorème de complétude Le Théorème de complétude de G ödel établit dans la vingtaine
de pages que constitue son Die Vollständigkeit der Axiome des logischen Funktionenkalküls (1930)
que que toute formule du premier ordre universellement valide peut être prouvée dans un certain
système formel.
Les Théorèmes d’incomplétude G ödel montre également dans ses
deux Théorèmes d’incomplétude, l’impossibilité de réaliser le programme
de Hilbert :
1. il existe un énoncé élémentaire vrai mais qui ne peut être
prouvé dans l’arithmétique de Peano (supposément cohérente).
Comme ce système contient toutes les méthodes élémentaires de
preuve, Gödel montre par le fait même qu’il existe des vérités
arithmétiques élémentaires qui n’ont pas de preuve élémentaire.
Cette affirmation réfute donc une partie du programme de Hilbert.
2. Le second théorème montre que, parmi ces énoncés vrais mais
non prouvables, on peut choisir l’énoncé de la cohérence de
l’arithmétique comme n’ayant pas de preuve élémentaire, ce qui
discrédite l’autre partie du programme de Hilbert, qui vise jus- Fig. 1.12 – Source [McT]
Kurt Gödel, plus âgé
tement à prouver la cohérence de l’arithmétique.
Au cours des années 1930, les logiciens précisent la notion hilbertienne de déduction formelle
comme « procédure effective ». Plusieurs notions de fonctions calculables sont données et Kurt
Gödel code les formules du langage logique par des entiers (gödelisation), ce qui permet de relier
la métathéorie à la théorie qu’elle décrit et de faire des démonstrations des fonctions calculables.
En 1931, Gödel montre son Théorème d’Incomplétude qui établit que l’arithmétique formelle
n’est pas complète, ni décidable.
Entre 1929 et 1931, Gödel aura résolu tous ces problèmes sauf celui de la décidabilité du calcul
des prédicats du premier ordre (résolu négativement en 1936, par Alonzo Church (1903–1995)) et
celui de la complétude syntaxique de la théorie élémentaire des nombres réels (résolu ultérieurement
d’une façon positive par Tarski).
Sous la pression des événements politiques, G ödel quitte définitivement
l’Autriche en 1940 pour Princeton (NJ, USA), à l’Institute for Advanced Studies. Il continue ses
travaux de logique mais il se consacre de plus en plus à la philosophie et à la philosophie des
mathématiques. Il publie notamment (1944) un important article sur Bertrand Russell, où il
expose simultanément ses vues sur la nature et l’histoire de la logique, et sur le rôle des analyses de
concepts dans la recherche de solutions exactes à des problèmes techniques. En 1947, G ödel publie
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
23
1.2. HISTOIRE DE LA LOGIQUE
CHAPITRE 1. INTRODUCTION
un commentaire au problème du continu (What is Cantor’s continuum problem ? ), où il propose
la recherche de nouveaux axiomes, en particulier d’axiomes de l’infini plus forts que l’axiome usuel
de ZF, pour affirmer l’existence de très grands cardinaux.
La philosophie de Gödel ressemble au platonisme : les concepts mathématiques ou logiques
existent indépendamment des moyens que nous avons de les appréhender ou de les décrire. C’est
pourquoi l’hypothèse du continu, par exemple, doit être vraie ou fausse en dépit de son caractère
indécidable. Elle diffère des théories platoniciennes en ce que la compréhension de ces réalités proviennent d’une activité constructive (comme dans la récursivité et les ensembles constructibles),
plutôt que d’une contemplation. Cette construction semble ne pas reposer totalement sur la réalité
sensible, ni totalement sur la pure réflexion intellectuelle. Cette position intermédiaire rappelle
le schématisme kantien et la conception kantienne de l’espace et du temps amène G ödel à travailler avec Einstein sur la théorie de la relativité, entre 1947 et 1951 et à proposer des modèles
cosmologiques très curieux qui permettent, théoriquement, le voyage dans le passé.
En 1953–1954, Gödel rédige un important article sur la philosophie de Carnap. Il existe
plusieurs versions manuscrites de cet article, malheureusement jamais publié. G ödel y défend un
point de vue totalement opposé à celui de Carnap : les mathématiques ne sont pas la syntaxe du
langage.
Vers 1958, Gödel s’isole progressivement et développe une paranoı̈a hypocondriaque. Par peur
d’un empoisonnement, il refuse de s’alimenter et meurt le 14 janvier 1978, à 72 ans.
Modèles de
, et
Suite au développement syntaxique de la logique, certains logiciens
s’intéressent à son aspect sémantique, soit l’étude non plus uniquement
de la relation des expressions entre elles, mais également de ces expressions avec un référent. La théorie des modèles, qui trouve ses racines chez
Leopold Löwenheim (1878–1957) et Thoralf Skolem (1887–1963), devra attendre le travail d’Alfred Tarski (1902–1983) pour être popularisée. Elle repose principalement sur deux théorèmes fondateurs :
1. Le théorème de compacité : un ensemble d’énoncés admet un
modèle si et seulement si tous ses sous-ensembles finis admettent
un modèle.
2. Le théorème de Löwenheim-Skolem : une théorie dans un langage dénombrable qui admet un modèle infini admet un modèle Fig. 1.13 – Source [McT]
Thoralf Skolem
dénombrable (ce dernier pouvant toutefois contenir des ensembles
(1887–1963)
non dénombrables).
La déduction naturelle et le calcul des séquents de
Gerhard Gentzen (1909-1945) développe une méthode de déduction sous hypothèses, la déduction
naturelle. Cette méthode consiste à faire une preuve en éliminant toutes les hypothèses de départ :
« Une preuve est un cas dégénéré de déduction, dans lequel l’ensemble des hypothèses est vide ».
Cette méthode est régie principalement par les règles d’introduction et d’élimination des divers
opérateurs, qui décomposent chaque expression en ses termes les plus simples. C’est parce que les
propositions sont composées de termes simples dont on fait l’hypothèse séparément les uns des autres
que cette déduction est dite « naturelle ». Gentzen montre également le hauptsatz (Théorème
24
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
CHAPITRE 1. INTRODUCTION
1.2. HISTOIRE DE LA LOGIQUE
d’élimination des coupures) qui, couplé à une variante de la déduction naturelle baptisée calcul des
séquents, permet de trouver certaines démonstrations de manière automatique.
L’intuitionnisme de
,
et
En marge du courant logiciste de Frege et Russell et du courant formaliste de Hilbert,
Luitzen Brouwer (1881–1966) développe une approche bien différente. Le mathématicien Arend
Heyting (1898–1980) commente :
« Le programme de Brouwer consiste à explorer les constructions mathématiques
mentales en tant que telles, sans référence aux questions qui touchent à la nature même
des objets construits, telle que celle de savoir si ces objets existent indépendamment de la
connaissance que nous avons d’eux. Les mathématiques, du point de vue intuitionniste,
sont l’étude de certaines fonctions de l’esprit humain. »
Cette perspective considère que les énoncés ne peuvent être vrais si
nous ne pouvons nous faire l’expérience mentale de cette vérité. Brouwer
propose donc de justifier une assertion, non pas en faisant une preuve
par l’absurde, mais plutôt en vérifiant si nous pouvons construire mentalement cet objet dont il est question. Brouwer souligne le fait que les
principes de la logiques classiques ne sont pas fiables, dans la mesure où
ils ne donnent que l’illusion de posséder la vérité, vérité qui ne peut être
« expérimentée ». L’intuitionnisme est donc une philosophie au sein de
laquelle les actes mentaux de preuve ou de justification jouent un rôle
fondamental.
Pour illustrer le problème qui gène Brouwer, prenons une
démonstration non constructive, qui part du principe qu’une proposiFig. 1.14 – Source [McT]
tion est soit vraie, soit fausse (le tiers exclus) :
Théorème 1 Il existe deux irrationnels a et b tels que a b soit rationnel.
Luitzen Brouwer
(1881–1966)
√
Démonstration: Soit a = b = 2, alors on deux cas possibles :
– soit ab est rationnel ;
b
– soit ab n’est pas rationnel, auquel cas, soit a0 = ab , on a a0 = 2 qui est rationnel.
On a montré qu’il existe deux irrationnels a et b tels que a b soit rationnel mais on n’est pas
capable17 de donner un exemple de tels a et b.
Heyting, correspondant avec Brouwer et le fameux Andrey Kolmogorov formulera une
axiomatisation de référence pour la logique propositionnelle intuitionniste (1930). Ce système ressemble sensiblement à celui de la logique classique, mais n’admet pas les principes de double
négation et de tiers exclu. Une interprétation intéressante de cette nuovelle logique est appelée
BHK (Brouwer, Heyting et Kolmogorov), selon laquelle on définit l’acte capable de justifier
l’assertion d’un énoncé en fonction des actes capables de justifier l’assertion de ses constituants
immédiats. Exemple : Un acte qui justifie (A ∧ B) est la donnée d’un acte de justification pour
les énoncés A et B séparément. La logique intuitionniste s’intéresse donc aux actes eux-mêmes,
plutôt qu’à leur seul résultat. Church critiquera toutefois le fait que cette logique soit énoncée à la
fois dans le langage et le métalangage, faisant en sorte qu’elle ne puisse justement être considérée
comme une logique au sens traditionnel.
17
En fait, on peut montrer, mais c’est très difficile, que
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
√ √2
2 est irrationnel. . .
25
1.2. HISTOIRE DE LA LOGIQUE
CHAPITRE 1. INTRODUCTION
Gödel s’intéressera ultérieurement à la logique intuitionniste, en énonçant la « propriété de
disjonction » : en logique intuitionniste, si (A ∨ B) est un théorème, alors A en est un ou bien
B en est un. Ensuite, il établit (1933) une traduction négative de la logique classique en logique
intuitionniste : chaque théorème classique aura un théorème correspondant dans la logique intuitionniste. Finalement, il cherche à la traduire dans la logique classique augmentée d’un opérateur de
prouvabilité (équivalent du système modal S4). Ainsi, il interprète l’opérateur modal de nécessité
en termes de prouvabilité, interprétation qui intéresse toujours d’ailleurs les logiciens.
Théorie des ensembles de
et
Vers 1922, Ernst Zermelo (1871–1953), Adolf Fraenkel (1891–1965), en collaboration avec
Skolem, construisent le système d’axiomes de la Théorie des Ensembles qui porte leur nom (ZF)
et sur lequel est fondé la quasi-totalité des mathématiques contemporaines, malgré le résultat
d’incomplétude de Gödel qui s’applique à ce système.
L’Axiome du Choix, noté AC, est un axiome permettant de faire un nombre non-dénombrables
de choix simultanés. Zermelo avait prouvé en 1908 l’équivalence de cet axiome avec celui du
bon ordre, selon lequel tout ensemble peut être bien ordonné, c’est-à-dire ordonné en sorte que
chacun de ses sous-ensembles ait un plus petit élément. C’est un axiome communément accepté
en mathématiques, grâce auquel on peut, par exemple, démontrer que tout espace vectoriel admet
une base. Il conduit cependant à des situations assez contre-intuitives comme le célèbre paradoxe
de Banach-Tarski, qu’on évoquera à la Section 2.2.5, p. 33.
L’Hypothèse du Continu, notée CH pour continuum hypothesis, exprime le fait qu’il n’y a pas
d’ensemble dont le cardinal soit compris strictement entre celui de N et celui des parties P(N )
de N. On peut étendre cette hypothèse en l’Hypothèse du Continu Généralisée, notée GCH pour
generalized continuum hypothesis au fait que pour tout ensemble E, le plus petit cardinal supérieur
à |E| est |P(E)|.
Gödel s’est attaqué à ces questions aussitôt après avoir obtenu les grands résultats de 1930
et 1931. Cette fois encore, il prend son point de départ dans un travail de Hilbert : Sur l’infini
(1925), qui contient une esquisse de preuve de la consistance de CH dans une théorie axiomatisée
des ensembles. Gödel explique l’échec de la tentative de Hilbert par deux raisons : d’une part, la
croyance en la coextension des concepts de vérité et de démontrabilité, d’autre part, les exigences
finitistes qui empêchent Hilbert d’admettre comme donnés tous les ordinaux.
Gödel parvient à montrer en 1937 que, si ZF n’est pas contradictoire, alors AC et GCH sont
consistants (on note ZF 0 ¬AC et ZF 0 ¬GCH). Paul Cohen (1934– ) montre en 1963 que, si ZF
n’est pas contradictoire, ZF 0 AC et que ZF 0 HC, et prouve par là-même que l’Axiome du choix
et l’Hypothèse du continu généralisée sont indépendants de ZF. On peut donc décider de prendre
ou de ne pas prendre ces hypothèses pour travailler, selon sa propre philosophie.
Métalogique
La logique contemporaine, en particulier sous l’influence de G ödel, a mis en évidence un certain
nombre de propriétés fondamentales dites métalogiques de tous les systèmes logiques :
– consistance : un raisonnement à partir des axiomes n’aboutit pas à une absurdité ;
– non-contradiction : la théorie est satisfaisable sémantiquement ;
– fiabilité : tout ce qui est démontrable est vrai ;
– complétude sémantique : tout ce qui est vrai est démontrable ;
26
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
CHAPITRE 1. INTRODUCTION
1.2. HISTOIRE DE LA LOGIQUE
– compacité : c’est la complétude sémantique pour les théories infinies ;
– complétude syntaxique : l’ajout d’une formule qui n’est pas un théorème entraine une contradiction ;
– décidabilité : il existe un algorithme permettant de savoir si une formule est vraie ou fausse ;
– indépendance : parmi les axiomes choisis, aucun n’est la conséquence des autres ;
Emil Post (1897–1954) démontre en 1921 la consistance (non contradiction), la complétude
(forte et faible) ainsi que la décidabilité du calcul des propositions :
– ce calcul est consistant au sens large i.e. que la théorie possède au moins une expression bien
formée qui n’est pas un théorème et est non contradictoire ;
– il est complet au sens fort (complétude syntaxique) i.e. qu’il est impossible d’ajouter aux
axiomes une formule qui n’est pas un théorème sans entraı̂ner une contradiction ;
– il est par le fait même complet au sens faible (complétude sémantique) i.e. que tous les
théorèmes qui ne sont pas des axiomes sont démontrables ;
– ce calcul est décidable étant donné que la méthode des tables de vérité est un algorithme fini
et que les expressions du calcul des propositions ont un nombre fini de valeurs de vérité.
Post (1921), Hilbert et Ackermann (1928) ainsi que G ödel (1930) démontrent la consistance, la non contradiction et la complétude au sens faible du calcul des prédicats :
– ce calcul est consistant et non contradictoire (Hilbert et Ackermann) ;
– ce calcul est complet sémantiquement (Post et G ödel) ;
– le calcul des prédicats n’est pas complet syntaxiquement puisque la classe d’objets des fonctions prédicatives est habituellement indéterminée ;
– ce calcul est aussi indécidable, étant donné que les tables de vérité ne peuvent être construites
que d’après des variables d’objets déterminées et finies (selon la théorème de Church).
Les démonstrations métalogiques du calcul des prédicats du premier ordre se font en général par
le théorème de Skolem, selon lequel toute formule de ce calcul a une forme normale de Skolem
déductivement équivalente à elle-même. Il s’agit d’une technique inductive de décision (syntaxique)
fondée sur des présupposés sémantiques.
Conclusion
De ce qui précède, on constate l’importance de la distinction entre syntaxe et sémantique.
Cependant, même si la syntaxe est rigoureusement définie et si la sémantique est non-ambiguë, il
reste le problème de la formalisation, c’est-à-dire de la modélisation : il se peut que le formalisme
n’exprime pas ce qu’on a l’intention de lui faire dire. Par ailleurs, le choix des axiomes est délicat
(la vérité est au fond d’un puit). . .
car, comme le dit Démocrite,
$ Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
27
1.2. HISTOIRE DE LA LOGIQUE
28
CHAPITRE 1. INTRODUCTION
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
Chapitre 2
Rappels
2.1
2.1.1
Introduction
Distinction entre langage et métalangage
Lorsqu’on fait de la logique, il faut bien prendre garde au fait que deux langages coexistent :
– le langage objet (e.g. le langage des propositions) qui est formalisé mathématiquement ;
– le métalangage (ici, la langue française) qui sert à décrire le langage objet.
Un parallèle peut être fait avec les langages de programmation. Par exemple, si en C, on écrit :
char e = ’=’ ;
Le premier signe = désigne l’affectation du langage C qui est celui dans lequel on décrit les
instructions (donc le métalangage). La ligne de commande ci-dessus consiste à lui dire d’assigner
la variable e à la valeur du caractère ASCII = qui est mis entr’apostrophes selon les conventions
du C pour le distinguer du métacaractère d’affectation. Le second = est donc un élément du langage
objet que ce programme C est en train de manipuler.
2.1.2
Structuration du métalangage
Pour structurer le métalangage, on introduit des notions mathématiques dites « naives » car
elles ne sont pas formelles et reposent sur l’intuition qu’on en a (comme par exemple la définition
d’un ensemble comme une « collection d’objets »). Une fois établie une liste la plus restreinte
possible de notions naı̈ves, on définit avec les mots du métalangage ce qu’est un langage formel,
ainsi que les règles applicables sur ces langages. La totalité des mathématiques sont ensuite déduites
de ce langage formel par les règles formelles qu’on s’est fixées (c’est ce qu’on verra avec la Théorie
ZF). À l’inverse du métalangage naivement structuré, les langages formels pourront faire l’objet
d’un traitement automatique par des ordinateurs.
Nous commençons nos rappels par les définitions premières de la théorie naı̈ve des ensembles.
29
2.2. THÉORIE NAÏVE DES ENSEMBLES
2.2
2.2.1
CHAPITRE 2. RAPPELS
Théorie naı̈ve des ensembles
Ensembles, relations, fonctions
Définition 1 On appelle ensemble naı̈f une collection E d’élements. Si deux éléments x et y
sont les mêmes, on notera x = y, sinon, on notera x 6= y. On notera x ∈ E si x est un élément
de E et x ∈
/ E sinon. Si deux ensemble E et F ont les mêmes éléments, on notera E = F , sinon
E 6= F . Un sous-ensemble (ou une partie) A de E est un ensemble dont tous les éléments
sont dans E. L’ensemble des parties de E, noté P(E) est l’ensemble dont les éléments sont les
sous-ensembles de E.
On note A ⊆ E. S’il existe un élément de E qui n’est pas dans A, on dit que A est un sousensemble strict (ou une partie propre) 1 de E et on note A ( E.
On définit deux mécanismes pour définir un ensemble :
– en extension : où l’on explicite tous les éléments de l’ensemble, comme par exemple dans
le cas du singleton {x} qui désigne l’ensemble ne contenant que l’élément x ou de la paire
{x, y} qui est l’ensemble contenant x et y. Lorsqu’on peut énumérer les éléments d’un ensemble de telle sorte qu’un élément est relié à celui qui le précède et à celui qui lui succède
par une règle évidente, on prend une notation abrégée comme pour l’ensemble fini {1, . . . , n}
qui désigne l’ensemble des entiers entre 1 et n, ou de l’ensemble infini {2, 4, . . . , 2k, . . .} qui
désigne l’ensemble infini des entiers pairs.
– en compréhension : où l’on exploite une propriété caractéristique P des éléments de l’ensemble2 . Par exemple, pour un entier n, la propriété P (n) est le fait que n est divisible par
deux. On définit l’ensemble des entiers pairs comme {n ∈ N | P (n)} (lire « l’ensemble des n
dans N tels que P (n) »).
L’ensemble vide, noté ∅, ne contient aucun élément. Si X et Y sont deux ensembles :
– X ∪ Y désigne l’ensemble dont les éléments z vérifient z ∈ X ou z ∈ Y ;
– X ∩ Y désigne l’ensemble dont les éléments z vérifient z ∈ X et z ∈ Y ;
– X t Y désigne un ensemble X ∪ Y pour lequel X ∩ Y = ∅ ;
– X \ Y désigne l’ensemble dont les éléments z vérifient z ∈ X et z ∈
/Y;
– X4Y désigne l’ensemble dont
les
éléments
z
vérifient
z
∈
X
et
z
∈
Y mais z ∈
/ X ∩Y.
Le couple (x, y) est l’ensemble3 x, {x, y} . Le produit cartésien E ×F est l’ensemble des couples
(x, y) avec x ∈ E et y ∈ F . Cette notion se généralise au produit E 1 × · · · × En de n ensembles
dont les éléments (x1 , . . . , xn ) s’appellent des n-uplets.
Définition 2 Une relation n-aire sur X 1 × · · · × Xn est un sous-ensemble R ⊆ X1 × · · · × Xn .
Définition 3 Une relation binaire f ⊆ X × Y est fonctionnelle ssi pour tout x ∈ X, il existe un
unique y ∈ Y tel que (x, y) ∈ f . Dans ce cas, on utilise la « notation fonctionnelle » qui consiste
à écrire f : X −→ Y au lieu de f ⊆ X × Y et à noter f (x) l’élément y ∈ Y tel que (x, y) ∈ f , ce
qu’on écrit x 7−→ f (x). L’image de f notée im(f ) def
= {f (x) : x ∈ X}, désigne le sous-ensemble
de Y constitué de tous les f (x) lorsque x décrit tous les éléments de X. On a f = {(x, f (x)) : x ∈
X}. Une relation fonctionnelle s’appelle une fonction (on dit aussi application). L’ensemble X
1
La notation A ⊂ E désigne parfois l’inclusion stricte ; pour éviter les confusions, nous écrirons toujours ⊆ pour
« inclus ou égal » et ( pour « inclus strictement ».
2
Les travaux de Russel ont montré que cette propriété ne peut pas être n’importe quoi, sinon on s’expose à des
paradoxes.
3
on a bien (x, y) 6= (y, x) et (x, y) = (x0 , y 0 ) ssi x = x0 et y = y 0
30
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
CHAPITRE 2. RAPPELS
2.2. THÉORIE NAÏVE DES ENSEMBLES
s’appelle le domaine de f et Y son codomaine. On note Y X l’ensemble des applications de
X −→ Y . Une application f : X −→ Y est
– injective ssi, pour tout x, x0 ∈ X, f (x) = f (x0 ) implique x = x0 ;
– surjective ssi, pour tout y ∈ Y , il existe x ∈ X tel que f (x) = y (c’est-à-dire si im(f ) = Y ) ;
– bijective ssi elle est injective et bijective.
Si f : X −→ Y et g : Y −→ Z,on appelle composée de f et g l’application g ◦ f : X −→ Z qui à
tout x ∈ X associe z = g f (x) . L’application identique de X est l’application Id X : X −→ X
telle que x 7−→ x. Une involution est une application f : X −→ X telle que f ◦ f = Id X . Si f
est bijective, on appelle application réciproque de f : X −→ Y l’application f −1 : Y −→ X qui
à tout y associe l’unique x ∈ X tel que f (x) = y. Plus généralement, pour toute fonction f , on
définit une application réciproque ensembliste f −1 : Y −→ P(X) qui, à tout y ∈ Y associe
l’ensemble des x ∈ X tels que f (x) = y. Lorsque f est bijective, f −1 (y) = x ssi f −1 (y) = {x}. Une
famille d’éléments de X indexée par un ensemble I est une application f : I −→ X. On note
souvent xi l’élément f (i) pour i ∈ I et (xi )i∈I désigne en général l’application f . Une suite est une
famille de la forme (xi )i∈N ou (xi )1≤i≤n . Soit f : X −→ Y une fonction et que X est un produit
cartésien de la forme X = E1 × · · · × En , l’entier n s’appelle l’arité de f et se note ar(f ) et on dit
que f est n-aire.
2.2.2
Relations d’ordre et d’équivalence
Définition 4 Une relation R ⊆ X × X est :
– réflexive ssi (x, x) ∈ R pour tout x ∈ X ;
– transitive ssi, lorsque (x, y) ∈ R et (y, z) ∈ R, alors (x, z) ∈ R, pour tout x, y, z ∈ X.
Une relation réflexive et transitive s’appelle une relation de préordre. Deux éléments x, y sont
comparables ssi on a (x, y) ∈ R ou (y, x) ∈ R. Une relation R ⊆ X × X est :
– symétrique ssi, lorsque (x, y) ∈ R, alors (y, x) ∈ R pour tout x, y ∈ X ;
– antisymétrique ssi, lorsque (x, y) ∈ R et (y, x) ∈ R, alors x = y, pour tout x, y ∈ X ;
Un préordre antisymétrique s’appelle une relation d’ordre. Soit (X, ≤) un ensemble muni d’une
relation d’ordre. Si deux éléments de X sont toujours comparables, ≤ est un ordre total. Une partie
de X totalement ordonnée s’appelle une chaı̂ne de X. Un minimum (resp. maximum) de X
est un élément x ∈ X, noté min X (resp. max X) tel que, pour tout y ∈ X, x ≤ y (resp. y ≤ x).
Soit E une partie de X, un minorant (resp. majorant) de E est un élément x ∈ X tel que x est
un minimum (resp. un maximum) de {x} ∪ E. Un infimum (resp. supremum) de E est un plus
grand minorant (resp. plus petit majorant) de E, noté inf E (resp. sup E). L’ordre ≤ est bon ssi
toute partie non-vide de X contient un minimum. L’ensemble (X, ≤) est inductif ssi toute chaı̂ne
de X admet un majorant. Un préordre symétrique s’appelle une relation d’équivalence. Dans
ce cas, soit x ∈ X, on appelle classe d’équivalence de x modulo R l’ensemble, noté x mod R,
des y ∈ X tels que (x, y) ∈ R. On note y ≡ x mod R et on lit (« y est congru à x modulo R »). On
appelle ensemble des classes d’équivalence de X modulo R l’ensemble X/R def
= {x mod R :
x ∈ X} et x s’appelle un représentant de x mod R. Dans ces deux cas, on utilise la « notation
opérationnelle infixe », c’est-à-dire qu’on note x R y, plutôt que (x, y) ∈ R et x 6R y pour (x, y) ∈
/ R.
Exemple 1 La relation 6= est symétrique mais ni réflexive, ni transitive.
Exemple 2 La relation R = {(X, Y ) ⊆ Z × Z | X ⊆ Y } est une relation d’ordre partiel. En
effet, elle est bien réflexive, antisymétrique et transitive mais pas totale car {1, 3, 5} 6⊆ {3, 4} et
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
31
2.2. THÉORIE NAÏVE DES ENSEMBLES
CHAPITRE 2. RAPPELS
{3, 4} 6⊆ {1, 3, 5}. De même, la relation « divise » est un ordre sur les entiers mais il n’est pas total
car, par exemple 3 et 5 ne sont pas comparables.
Exemple 3 La relation R = {(x, y) ∈ Z | x ≤ y} est une relation d’ordre total.
Exemple 4 La relation R = {(x, y) ∈ Z×Z | x−y est divisible par 2} est une relation d’équivalence
sur les entiers. La classe d’équivalence de 0 est l’ensemble des entiers pairs, la classe d’équivalence
de 1 est l’ensemble des entiers impairs. L’ensemble des classes d’équivalence des entiers modulo R
se note Z/2Z.
Définition 5 Un arbre est un ensemble ordonné (X, ≤) admettant un minimum, appelé racine
et tel que, pour tout x ∈ X, {y ∈ X | y ≤ x} est fini. Une feuille de X est un élément maximal.
2.2.3
Ensembles définis par induction
Une façon pratique de définir un ensemble consiste à partir d’une famille de fonctions et de
construire le nouvel ensemble en itérant ces fonctions sur un ensemble de base. Ce mécanisme
généralise le principe de récurrence sur les entiers. On retrouvera plus loin ce mécanisme d’induction
dans la section sur les langages.
Définition 6 Soit E un ensemble, B un sous-ensemble non-vide de E et F un ensemble de fonctions f : E n −→ E où n = ar(f ) désigne l’arité de f . L’ensemble défini par induction sur F
à partir de B est le plus petit4 sous-ensemble X de E contenant B et tel que pour toute fonction
n-aire f ∈ F , et tout x1 , . . . , xn ∈ X, on ait f (x1 , . . . , xn ) ∈ X.
Proposition 1 (Démonstration par induction) Avec les notations de la définition précédente,
soit P (x) une propriété a priori vraie ou fausse d’un élément x de X, alors les psse :
1. (a) P (x) est vrai pour tout x ∈ B ;
(b) pour toute fonction n-aire f∈ F et tout x 1 , . . . , xn ∈ X, si P (x1 ), . . . , P (xn ) sont tous
vrais, alors P f (x1 , . . . , xn ) est vrai ;
2. pour tout x ∈ X, P (x) est vrai.
Démonstration: Il est clair que 2. implique 1. Inversement, soit Y = {x ∈ X | P (x) est vrai}, alors B ⊆ Y
d’après (a). Soient x1 , . . . , xn ∈ Y , on a donc P (x1 ), . . . , P (xn ) qui sont tous vrais. D’après (b), pour toute
fonction n-aire f , on a f (x1 , . . . , xn ) est vrai, donc f (x1 , . . . , xn ) ∈ Y , c’est-à-dire que Y satisfait les clauses
de la définition inductive de X. Comme ce dernier est minimal, on a X ⊆ Y et puisque Y ⊆ X, on déduit
X =Y.
2.2.4
Infini, cardinaux, ordinaux
Définition 7 Deux ensembles sont équipotents s’il existe une bijection entre-eux ; c’est une relation d’équivalence notée '.
Dedekind se fonde sur la propriété caractéristique d’Euclide des les ensembles finis qui dit
que « le tout est plus grand que la partie » pour définir ce qu’est un ensemble infini :
4
Il existe car les parties d’un ensemble sont bien ordonnée pour l’inclusion et comme toutes les parties considérées
contiennent B, elles sont donc non-vides et admettent un élément minimal.
32
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
CHAPITRE 2. RAPPELS
2.2. THÉORIE NAÏVE DES ENSEMBLES
Définition 8 Un ensemble X est infini ssi il est équipotent à une de ses parties propres. Sinon,
il est fini.
Exemple 5 Soit P = {2k : k ∈ N} l’ensemble des entiers pairs. On a bien P ( N et l’application
f : N −→ P qui à tout entier k associe 2k est bijective, donc N est infini au sens de la définition
précédente.
Définition 9 Soit X un ensemble, le cardinal de X est la classe d’équivalence des ensembles
équipotents à X. On le note |X|. On a |X| + |Y | def
= |X t Y |, |X| · |Y | def
= |X × Y |, |X||Y | def
= |X Y |.
On note |X| ≤ |Y | ssi il existe une injection de X dans Y .
Théorème 2 (Premier Théorème de
) Pour tout ensemble X, |X| < |P(X)|.
Démonstration: L’application x 7−→ {x} de E dans P(X) est injective donc |X| ≤ |P(X)|. Soit f : X −→
P(X) et Y = {x ∈ E | x ∈
/ f (x)}. L’élément Y ∈ P(X) n’a pas d’antécédant par f car :
– si x ∈
/ Y alors x ∈ f (x) par définition de Y , donc f (x) 6= Y ;
– si x ∈ Y , alors x ∈
/ f (x) par définition de Y , donc f (x) 6= Y .
Théorème 3 (Théorème de
les cardinaux.
% ) La relation ≤ est une relation d’ordre sur
Démonstration:La relation est clairement réflexive et transitive. Montrons qu’elle est antisymétrique. Soient
f : X −→ Y et g : Y −→ X des injections. Soit U = {U ⊂ X | g Y \ f (U ) ∩ U = ∅}. Cet ensemble est
stable par réunion, donc admet un élément maximal Ū (l’union de tous ses éléments) pour l’inclusion et on a
Ū t g Y \ f (Ū ) = X. La fonction ϕ : X −→ Y telle que ϕ(x) = f (x) si x ∈ Ū et ϕ(x) = y où y est l’unique
élément tel que g(y) = x si x ∈
/ Ū est une bijection.
Définition 10 Un ensemble X est dit transitif ssi x ∈ X implique x ⊂ X. Si, en outre, X est bien
ordonné pour l’ordre strict ∈, on dit que X est un ordinal. Si X est un ordinal, son successeur
est l’ordinal X ∪ {X} et X est appelé le prédécesseur de ce dernier. L’ensemble vide n’a pas de
prédécesseur. Un ordinal X est fini ssi tout ordinal non-vide inclus dans X admet un prédécesseur.
Un ordinal fini s’appelle aussi un entier naturel.
n
o
Exemple 6 L’ensemble X = ∅, {∅}, {∅, ∅}
est un ordinal fini : on le note 3.
Ni les cardinaux, ni les ordinaux ne forment un ensemble.
2.2.5
Axiome du choix
La relation d’ordre que nous avons établie sur les cardinaux dit que |X| ≤ |Y | s’il existe une
injection de X dans Y . Pour que notre intuition soit tout-à-fait satisfaite, on voudrait bien pouvoir
dire que s’il existe une surjection de X dans Y , alors |Y | ≤ |X|. Pour pouvoir déduire cela, il faut
montrer que, si f : X −→ Y est surjective, il existe une injection g : Y −→ X. L’idée naturelle est
de choisir pour chaque y ∈ Y , un x ∈ X tel que f (x) = y et de prendre g(y) = x, de telle sorte
que f ◦ g = IdY ; pour cette raison, g s’appelle une fonction de choix. Cependant, si f n’est pas
injective, il n’est pas clair a priori que, pour chaque y, qu’on puisse isoler un x parmi tous ceux
pour lesquels f (x) = y et construire g.
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
33
2.3. STRUCTURES ALGÉBRIQUES
CHAPITRE 2. RAPPELS
5
Les axiomes usuels des mathématiques ne permet pas de conclure que cette construction est
impossible, comme l’a montré Gödel dans les années 1940. Paul Cohen a démontré en 1963 que,
sous ces mêmes conditions, on ne peut pas conclure que cette construction est possible. Finalement, on peut décider (ou pas) d’accepter que cette construction est possible comme un axiome,
indépendant des autres, c’est l’axiome du choix :
Axiome 1 (Axiome du choix) Toute surjection est inversible à gauche.
On formule souvent l’Axiome du choix sous la forme équivalente :
Théorème 4 (Lemme de
) Tout ensemble ordonné inductif possède un élément maximal.
L’Axiome du choix est rejeté par certains mathématiciens (un petit nombre, disons. . .), notamment ceux de l’école intuitionniste qui n’accepte que les principes constructifs. L’Axiome du choix
recèle des conséquences surprenantes comme le Paradoxe de Banach-Tarski (1924) qui dit qu’il
existe une façon de partitionner une boule de R 3 en six morceaux qui, après une succession de
translations et de rotations, forment deux boules disjointes de rayon identique à celle dont on était
parti. Le paradoxe dit qu’une suite de déplacements ne peut ainsi augmenter le volume de départ.
En fait, le découpage n’est possible qu’en parties non-mesurables donc, dont le volume n’est pas
défini.
2.3
Structures algébriques
Définition 11 Un magma est un couple (X, ?) où X est un ensemble et ? une application ? :
X × X −→ X appelée loi interne que l’on note de manière infixe ( i.e. x ? y est l’élément de X
obtenu par l’application de ? à x et y). Un élément x est :
– neutre à gauche (resp. à droite) ssi, pour tout y ∈ X, x ? y = y (resp. y ? x = y) ;
(s’il existe, il est unique et le magma est dit unifère) ; x ? u = x ? u 0 implique u = u0 (resp.
u ? x = u0 ? x implique u = u0 ) pour tout u, u0 ∈ X (c’est en particulier le cas s’il admet un
inverse) ;
– inversible à gauche (resp. à droite), dans un magma unifère d’élément neutre e, ssi il
existe y ∈ X tel que y ? x = e (resp. x ? y = e) ;
– simplifiable à gauche (resp. à droite) ssi l’égalité x ? y = x ? z (resp. y ? x = z ? x)
implique y = z.
– absorbant à gauche (resp. à droite) ssi, pour tout y ∈ X, x ? y = x (resp. x ? y = x) ;
– idempotent x ? x = x ;
– nilpotent d’ordre n, dans un magma unifère d’élément neutre e, ssi x
· · ? x} = e avec n
| ? ·{z
minimal satisfaisant cette propriété.
n fois
La loi ? est :
– associative ssi, pour tout x, y, z, (x ? y) ? z = x ? (y ? z) ;
– commutative ssi x ? y = y ? x pour tout x, y ∈ X ;
Un magma associatif s’appelle un semigroupe, un semigroupe unifère s’appelle un monoı̈de. Si
tout élément de X est inversible, on dit que c’est un groupe.
5
En l’occurence, l’axiomatique de Zermelo-Fraenkel, augmentée de l’Axiome de Fondation et sous réserve que
cette théorie soit non-contradictoire.
34
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
CHAPITRE 2. RAPPELS
2.4. LANGAGES
Soient (X, ?, ) un triplet tel que (X, ?) soit un groupe commutatif et (X, ) un monoı̈de. On
dit que est distributif à gauche (resp. à droite) sur ? ssi x (y ? z) = (x y) ? (x z) (resp.
(y ? z) x = (y x) ? (z x)). Si est distributif à gauche et à droite, (X, ?, ) est un anneau. Si en
outre, (X \ {0}, ) est un groupe (où 0 désigne l’élément neutre de ?), on dit que c’est un corps.
Exemple 7 L’ensemble (N, ·) est un monoı̈de commutatif dont l’élément neutre est 0 et dont tout
élément non-nul est simplifiable.
Exemple 8 L’ensemble (Z, −) est un magma non-associatif ( e.g. 2−(1−4) = 5 6= (2−1)−4 = −3)
et 0 est neutre à droite (n − 0 = n) mais pas à gauche (0 − n = −n).
Exemple 9 Soit x un élément d’un anneau (A, +, ·). Si x · a = x · b alors x · a − x · b = 0, i.e.
x · (a − b) = 0 donc, soit a = b, c’est-à-dire que x est simplifiable à gauche, soit c’est un diviseur
de zéro.
Exemple 10 L’ensemble (Z, +) est un groupe commutatif simplifiable ; pour tout n, son inverse
pour + (appelé opposé) est −n.
Exemple 11 L’ensemble (Q \ {0}, ·) est un groupe commutatif ; l’inverse de tout élément a/b nonnul est b/a.
2.4
2.4.1
Langages
Définitions
Définition 12 Soit Σ un ensemble quelconque, un mot (on dit aussi une chaı̂ne) sur l’alphabet Σ
est une suite finie d’éléments de Σ, c’est-à-dire une application x : {1, . . . , n} −→ Σ où n ∈ N
s’appelle la longueur de x, notée |x|. L’ensemble des mots de Σ se note Σ ∗ . Le mot de longueur
nulle se note et s’appelle le mot vide. Le concaténé z = x · y des mots x et y est le mot de
longueur |x| + |y| dont la i-ième lettre est x i pour 1 ≤ i ≤ |x| et yi−|x| pour |x| < i ≤ |z|. On note xp
le mot constitué de la concaténation de p copies du mot x.
Proposition 2 Tout mot de Σ∗ se décompose de manière unique en produit de lettres de Σ et
l’ensemble (Σ∗ , ·, ) est un monoı̈de simplifiable.
Démonstration: Si ϕ : Σ −→ Σ∗ désigne l’injection canonique, on a clairement x = ϕ(x1 ) · · · ϕ(xn ). La
concaténation laisse stable Σ∗ par définition, on a bien |(x · y) · z| = |x · (y · z)| par associativité de l’addition
et on vérifie immédiatement que la i-ième lettre de (x · y) · z est la même que celle de x · (y · z) et que est
neutre. Spgops que la simplification a lieu à gauche : si ux = uy, alors |x| = |ux| − |u| = |uy| − |u| = |y|. Soit
i ∈ {1, . . . , |x|}, alors xi = (u · x)|u|+i = (u · y)|u|+i = yi , donc x = y.
Définition 13 Avec les notations précédentes, Σ ∗ appelé le monoı̈de libre sur Σ. Un langage
sur Σ est une partie de Σ∗ . Le produit de deux langages L1 et L2 est le langage L1 · L2 dont les
éléments sont les concaténés x · y avec x ∈ L 1 et y ∈ L2 .
On montre directement :
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
35
2.4. LANGAGES
CHAPITRE 2. RAPPELS
Proposition 3 L’ensemble des langages sur Σ, munis de la concaténation est un monoı̈de dont
l’élément neutre est le langage {}.
Définition 14 On note Lp le langage dont les mots sont la concaténations de p mots de L. La
fermeture de
d’un langage L est :
=
L∗ def
[
Lp .
p∈N
2.4.2
Problèmes de décision
En informatique, on a souvent affaire à des problèmes de décision :
Définition 15 Soit L, un langage sur un alphabet Σ, le problème de décision associé à L
consiste à savoir si, étant donné un mot x ∈ Σ ∗ , on a x ∈ L ou x ∈
/ L. Un programme PL à valeurs
booléennes semi-décide L ssi, pour tout mot x ∈ L, le programme répond true en temps fini et que,
lorsque x ∈
/ L, soit le programme répond false, soit il ne termine pas. Le P L décide L si, en outre,
il termine toujours et permet donc de tester si x ∈ L ou x ∈
/ L pour tout x ∈ Σ ∗ . Le langage L est
semi-décidable (resp. décidable) ssi il existe un programme qui semi-décide (resp. décide) L.
Exemple 12 Soit Σ = {0, . . . , 9}, et L l’ensemble des écritures décimales des nombres pairs. Le
problème de décision consistant à savoir si un nombre dont l’écriture décimale est x ∈ Σ ∗ est pair
est décidable par le programme PL qui répond true si le dernier chiffre de x est 0, 2, 4, 6, 8 et false,
sinon (il termine toujours).
Exemple 13 On rappelle la conjecture 3x + 1 6 qui dit que, pour tout u0 ∈ N, la suite (un )n∈N
définie par :
(
3n + 1 si n est impair ;
un+1 =
n/2
si n est pair ;
finit toujours par boucler sur les valeurs 4, 2, 1.
Considérons, sur Σ = {0, . . . , 9}, le langage L des écritures décimales d’entiers vérifiant cette
conjecture. Le programme PL qui, sur un entier x ∈ Σ∗ , calcule u0 = x, puis u1 , u2 , . . . et répond true
si, pour un certain n, un ∈ {1, 2, 4} semi-décide L car, pour tout x ∈ L, il est clair que P L (x) = true.
Par contre, si la conjecture est fausse et que L 6= Σ ∗ , il existe un entier dont l’écriture décimale x
fera tourner indéfiniment le programme P L si on la lui donne comme entrée.
Le programme PL peut être considéré comme un mot de Σ ∗ (l’exécutable ou le code source par
exemple sont bien des suites finies de caractères) et l’application du premier Théorème de Cantor
dans cette situation montre qu’il existe des langages pour lesquels le problème de décision n’est pas
résoluble car le nombre de programmes qu’on peut écrire est majoré par |Σ| ∗ et que ce cardinal est
inférieur à celui |P(Σ∗ )| de l’ensemble de tous les langages possibles. On en verra les conséquences
dans le Chapitre 5.5, p. 69
6
36
dite aussi, de Syracuse (Université de Syracuse NY, aux USA, pas Syracuse en Sicile), de Kakutani. . .
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
CHAPITRE 2. RAPPELS
2.4.3
2.4. LANGAGES
Règles de réécriture et grammaires
Une façon très utile de définir un langage consiste à se donner une façon de transformer des
mot en d’autres mots et de considérer le langage obtenu en itérant ce processus à partir d’un mot
initial7 .
Définition 16 Une règle de réécriture sur Σ ∗ est une relation binaire R sur Σ∗ . On note
souvent x ` y, plutôt que (x, y) ∈ R et on dit que y se dérive de x ou que x se réécrit en y.
Pour p ∈ N, on note x `p y pour dire que y se dérive à partir de x en p réécritures, avec la
convention que `0 est l’identité, et x `∗ y pour dire que que y se dérive à partir de x en un nombre
fini de réécritures. Une production sur Σ est un couple (u, u 0 ) que l’on note souvent u → u0 , où
u ∈ Σ+ et u0 ∈ Σ∗ . À toute production u → u0 , on peut associer une règle de réécriture ` u→u0
définie par le fait que x `u→u0 x0 ssi il existe v, w des mots tels que x = v · u · w et x 0 = v · u0 · w.
Une grammaire est un quadruplet G = (V, Σ, P, s) où :
– Σ est un alphabet disjoint de V dit alphabet des terminaux ;
– V est un alphabet disjoint de Σ dit alphabet des variables, nous noterons x, y, z, . . . les
éléments de V ;
– P est un ensemble de productions sur l’alphabet V t Σ et où s ∈ V s’appelle la variable
initiale. On regroupe les productions u → u 1 ,. . . ,u → un en notant : u → u1 | · · · | un (la
barre se lit « ou »).
On note x `G y et on dit que y est G-dérivable à partir de x s’il existe une production de G qui
permette de réécrire x en y. Le langage engendré par G est l’ensemble des mots terminaux qui
sont G-dérivables en un nombre fini d’étapes, à partir de s.
Exemple 14 Soient V def
= {s, a, b}, Σ def
= {a, b}, P def
= {s → a, s → b, b → bb, a → aa, a → , b → }
def
et soit G = (V, Σ, P, s), alors les mot aaa et bb sont dans le langage engendré par G car :
s→a
d’après la règle s → a
a → aa
d’après la règle a → aa
aa → aaa d’après la règle a → aa
et
s→b
b → bb
bb → bbb
bbb → bb
d’après
d’après
d’après
d’après
la
la
la
la
règle
règle
règle
règle
s→b
b → bb
b → bb
b→
Plus précisément, on a s `3G aaa et s `4G bb. On a également, par exemple b `2G bbb
2.4.4
Syntaxe inductive
Sur le modèle des ensembles définis inductivement, nous définissons ici les langages définis
inductivement. Les premiers exemples viendront lors de la définition des langages des propositions
(cf. infra).
F
Définition 17 Soit S un ensemble, une signature de S est une partition S = n∈N Sn où Sn
s’appelle les symboles d’arité n (dits symboles n-aires). L’ensemble S 0 s’appelle
les
constantes.
Soit G = (V, Σ, P, s) la grammaire où V l’alphabet des variables, Σ def
= S t (, ), , , s ∈ V est la
variable initiale et où P est l’ensemble des productions de la forme :
1. s → x | nfois
z }| {
2. x → x | f (x, . . . ,x) | c , où f ∈ Sn et c ∈ S0 .
7
C’est un système dynamique à temps discret.
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
37
2.4. LANGAGES
CHAPITRE 2. RAPPELS
Le langage des termes définis par G est l’ensemble des mots dérivables de s dans G, c’est-à-dire
le plus petit langage LS sur V t Σ tel que :
1. toute constante c ∈ S0 et toute variable x ∈ V est un terme atomique de L S ;
2. f (M1 , . . . ,Mn ) ∈ LS pour tout n > 0, M1 , . . . , Mn ∈ LS et f ∈ Sn .
Soit M un terme, l’ensemble des variables de M est le plus petit ensemble, noté var(M ) tel
que :
1. var(c) = ∅ pour toute constante c ∈ S 0 ;
2. var(x) = {x} pour tout x ∈ V.
3. pour tout n > 0, M1 , . . . , Mn ∈ LS , et f ∈ Sn , var f (M1 , . . . ,Mn ) =
n
[
var(Mi ) .
i=1
Les termes M tels que var(M ) = ∅ sont dits clos et on note L S l’ensemble des termes clos.
Une substitution dans LS est une application σ : V −→ LS qui est l’identité presque partout
(sauf sur une partie finie de V). L’ensemble supp(σ) def
= {x ∈ V | σ(x) 6= x} est appelé le support
de σ. On définit la profondeur π d’un terme est :
1. π(c) = 1 pour tout c ∈ S0 ;
2. π(x) = 1 pour tout x ∈ V ;
3. pour tout M1 , . . . , Mn ∈ LS , f ∈ Sn ,
π f (M1 , . . . ,Mn ) = 1 +
n
X
π(Mi ) .
i=1
On définit de même des variantes syntaxiques où les symboles ne sont pas préfixes ou bien dans
lesquelles les parenthèses sont omises dans certains cas 8 . Par exemple, on écrira : (-x), ou même
-x au lieu de -(x) pour le symbole - ∈ S 1 et (x+y), voire x+y au lieu de +(x, y)
2.4.5
Sémantique inductive
On va relier les notions purement syntaxiques de la section précédente (c’est-à-dire concernant
le langage objet qu’on a défini) à des objets de la métathéorie :
Définition 18 Avec les notations de la section précédente, une interprétation sur L S à valeurs
dans le domaine d’interprétation X est une application v telle que :
1. v(x) ∈ X, pour toute variable x ∈ V ;
2. v(c) ∈ X, pour toute constante c ∈ S 0 ;
3. v(f ) : X n −→ X, pour tout symbole f ∈ Sn avec n > 0 ;
étendue par induction à tout mot de L S par induction en définissant que, pour tout symbole f ∈ S n ,
avec n > 0 et tout n-uplet de termes (M 1 , . . . , Mn ) ∈ LnS :
v f (M1 , . . . ,Mn ) def
= v(f ) v(M1 ), . . . , v(Mn ) .
|
{z
}
|{z} | {z }
| {z }
∈LS
X n →X
∈X
∈X
8
Elles ne sont pas, à strictement parler, nécessaires car si tous les symboles sont préfixes, la chaı̂ne f M 1 · · · Mn est
parfaitement bien identifiée mais ce serait moins lisible.
38
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
CHAPITRE 2. RAPPELS
2.5. FONCTIONS BOOL ÉENNES
Soit une variable x ∈ V et un élément x ∈ X, on note v[x x] l’interprétation v 0 telle que v 0 (x) = x
et v 0 (f ) = v(f ) pour tout f ∈ Sn et v 0 (x0 ) = v(x0 ) pour toute variable x0 6= x. On note IX (LS )
l’ensemble des interprétations de L S dans X. Soient L, L0 deux sous-langages de LS . On dit que
L est moins expressif que L0 et on note L ≤ L0 ssi pour toute interprétation v, et tout m ∈ L, il
existe m0 ∈ L0 tel que v(m) = v(m0 ).
2.5
Fonctions booléennes
Toujours dans la métathéorie, définissons un certain nombre de fonctions qui nous serviront
pour définir la sémantique du calcul des propositions.
Définition 19 Un treillis est un triplet (X, M, O) où X est un ensemble et M et O sont deux lois
internes vérifiant :
1. M et O sont associatives ;
2. M et O sont commutatives ;
3. M et O sont mutuellement absorbantes :
– pour tout x, y ∈ X, x M (x O y) = x ;
– pour tout x, y ∈ X, x O (x M y) = x ;
Si M et O sont distributives l’une sur l’autre on dit que X est distributif. Un élément nul (resp.
unité) est un un élément neutre (resp. absorbant) pour M et absorbant (resp. neutre) pour O.
S’il existe deux tels éléments, et que tout élément admet un inverse commun pour M et O appelé
complémentaire, on dit que X est complémenté. Un treillis distributif complémenté est dit
).
booléen (on dit aussi algèbre9 de
Exemple 15 Les ensembles (N, min, max) et (N, pgcd, ppcm) forment des treillis distributifs.
Exemple 16 Soit E un ensemble, l’ensemble X des parties de E, munies des lois M
O def
= ∪ et un treillis booléen dont l’élément nul est ∅ et l’élément unité est E.
def
= ∩ et
Proposition 4 Soit (X, M, O) un treillis distributif et x, y, z ∈ X. Si x M z = y M z et que
x O z = y O z alors on a x = y. En particulier, si (X, M, O) est booléen, alors le complémentaire
de tout élément est unique.
Démonstration: L’égalité x M z = y M z implique : x O (x M z) = x O (y M z). La règle d’absorption
appliquée à gauche de l’égalité et celle de distributivité à sa droite donnent l’égalité équivalente : x =
(x O y) M (x O z). De même, on montre que y = (x O y) M (y O z). Comme, par hypothèse, x O z = yOz,
on conclut que x = y.
Proposition 5 On vérifie immédiatement que :
1. un treillis (X, M, O) est muni d’une relation d’ordre naturelle où x ≤ y ssi x = x M y ; on a
inf(x, y) = x M y et sup(x, y) = x O y ;
9
le terme « algèbre » n’est pas le même que celui, classiquement utilisé en mathématiques désignant un module
muni d’une structure d’anneau compatible.
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
39
2.6. LOGIQUE DES ORDINATEURS
CHAPITRE 2. RAPPELS
2. soit (X, ≤) un ensemble ordonné pour lequel tout couple x, y admet un infimum et un supremum, alors (X, inf, sup) est un treillis. Si, en outre, X contient un minimum et un maximum,
alors ces éléments sont respectivement l’élément nul et l’élément unité du treillis (X, inf, sup).
Définition 20 Un anneau booléen est un anneau (X, +, ·) commutatif dont tout élément est
idempotent pour + et · .
Proposition 6 On vérifie immédiatement que :
1. si (X, M, O) est un treillis booléen, alors (X, +, ·) est un anneau booléen en prenant :
(a) x + y def
= (x M y 0 ) O (x0 M y) où x0 et y 0 désignent respectivement les inverses de x et y ;
(b) x · y def
= x M y;
2. si (X, +, ·) est un anneau booléen, alors (X, M, O) est un treillis booléen en prenant :
(a) x M y def
= x·y;
(b) x O y def
= x+y+x·y;
(c) x0 def
= u + x où u est l’élément unité de (X, M, O).
Définition 21 L’ensemble B def
= {false, true} s’appelle l’ensemble des booléens. Une fonction
n
booléenne est une fonction B → B où B = {true, false}. On définit en particulier non : B → B,
and : B2 → B, or : B2 → B, impl : B2 → B, equi : B2 → B par leurs valeurs indiquées dans la
Table 2.1. La table de vérité d’une fonction booléenne n-aire f est la table à 2 n lignes et n + 1
colonnes dont les n premières colonnes accueillent les coordonnées des 2 n arguments (x1 , . . . , xn )
possibles distincts de f , selon que chaque x i vaut true ou false, et la dernière colonne, la valeur
f (x1 , . . . , xn ).
x
true
false
non(x)
false
true
x
true
true
false
false
y
true
false
true
false
and(x, y)
true
false
false
false
or(x, y)
true
true
true
false
impl(x, y)
true
false
true
true
equi(x, y)
true
false
false
true
Tab. 2.1 – Tables de vérité des fonctions booléennes élémentaires.
Proposition 7 Avec les notations de la définition précédente, (B, and, or) est un treillis booléen
dont l’élément nul est false et l’élément unité est true.
2.6
Logique des ordinateurs
2.6.1
Instructions conditionnelles des langages de programmation
2.6.2
Circuits booléens
[AU93, chap. 13, pp. 761–797]
40
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
Chapitre 3
Logique propositionnelle
3.1
Introduction
Référence facile [AU93, chap. 12]
3.2
3.2.1
Langages des propositions
Syntaxe du langage de
Définition
22 On appelle ensemble des connecteurs propositionnels de
l’ensemble :
F
C K = n∈N CnK avec C0K def
= {⊥, >}, C1K def
= {¬}, C2K def
= {∧, ∨, →, ↔} et CnK = ∅ pour tout n ≥ 0
et où :
⊥ se lit bottom
> se lit top
¬ se lit non
∧ se lit et
∨ se lit ou
→ se lit implique
↔ se lit si et seulement si
Définition 23 Soit R
0 un ensemble de constantes relationnelles on construit une signature
def S
sur l’ensemble S = n∈N Sn en convenant que S0 = C0K t R0 , et Sn = CnK pour tout n ≥ 1 où :
1. ¬ est unaire préfixe ;
2. ∧, ∨, →, ↔ sont binaires infixes ;
Soit R un ensemble de variables relationnelles, on définit le langage des propositions (on
dit aussi formules propositionnelles) de
comme étant l’ensemble L K des formules
closes construite à partir des propositions atomiques (closes) de S 0 par induction sur le modèle
de la Définition 17, p. 37 de telle sorte que 1 :
1. S0 ⊆ LK ;
4. si A, B ∈ LK , alors (A ∨ B) ∈ LK ;
2. si A ∈ LK , alors (¬A) ∈ LK ;
5. si A, B ∈ LK , alors (A → B) ∈ LK ;
3. si A, B ∈ LK , alors (A ∧ B) ∈ LK ;
6. si A, B ∈ LK , alors (A ↔ B) ∈ LK .
1
Bien qu’une proposition soit forcément une formule close, nous notons LK et pas LS pour ne pas alourdir
l’écriture.
41
3.2. LANGAGES DES PROPOSITIONS
3.2.2
CHAPITRE 3. LOGIQUE PROPOSITIONNELLE
Sémantique booléenne du langage de
Définition 24 L’ensemble des interprétations standard de L K est l’ensemble I K des interprétations v : S0 −→ B (au sens de la Définition 18, p. 38, restreinte aux termes clos), étendues
par induction à LK de telle sorte que, pour tout A, B ∈ LK :
1. v(¬A) = non v(A) ;
2. v(A ∧ B) = and v(A), v(B)
3. v(>) = true, v(⊥) = false ;
4. v(A ∨ B) = or v(A), v(B) ;
5. v(A → B) = impl v(A), v(B) :
6. v(A ↔ B) = equi v(A), v(B) .
avec les notations de la Table. 2.1, p. 40. Une formule A ∈ L K est :
1. satisfaite par v ssi v(A) = true, auquel cas v est un modèle de A et on note v A ;
2. falsifiée par v ssi v(A) = false, auquel cas on dit que v est un contre-modèle de A ;
3. tautologique ssi elle est satisfaite pour toute interprétation v et on note A ;
4. antilogique ssi elle est falsifiée pour toute interprétation v ;
5. contingente ssi elle admet au moins une interprétation satisfaisante et une interprétation
falsifiante ;
et, pour toute formule B ∈ LK :
1. A implique sémantiquement B et on note (A ⇒ B) ssi (A → B), c’est-à-dire ssi pour
toute interprétation v, on a v(A) ≤ v(B) ;
2. A équivaut sémantiquement à B et on note (A ⇔ B) ssi (A ↔ B), c’est-à-dire ssi pour
toute interprétation v, on a v(A) = v(B).
Une théorie propositionnelle est un ensemble T ⊆ L K de formules propositionnelles appelées
axiomes. Une interprétation v est un modèle de T et on note v T ssi pour toute A ∈ T ,
v A. La théorie T est satisfaisable ssi elle admet un modèle. On dit qu’une formule A est un
théorème d’une théorie T ssi tout modèle de T est un modèle de A et on note T A.
Proposition 8 On a directement les propriétés suivantes :
1. ∧ et ∨ sont sémantiquement associatifs,
commutatifs, idempotents, et distributifs
l’un à l’égard de l’autre ;
2. ¬ est involutif ;
3. ⊥ est neutre pour ∨ et absorbant pour ∧ ;
4. > est neutre pour ∧ et absorbant pour ∨ ;
5. (¬>) ⇔ ⊥ et (¬⊥) ⇔ > ;
6. les lois de Morgan : ¬(x ∧ y) ⇔ (¬x) ∨
(¬y) et ¬(x ∨ y) ⇔ (¬x) ∧ (¬y) pour
tout x, y ;
7. le tiers exclu : x ∨ (¬x) ⇔ > pour tout x ;
8. la règle de non-contradiction : x ∧ (¬x) ⇔
⊥ pour tout x.
Démonstration: Montrons 1., les autres démonstrations sont du mêmetype. Soit v une valuation
booléenne,
alors, pour tout x, y, z, on a v x ∧ (y ∧ z) = and(v(x), v(y ∧ z)) = and v(x), and v(y), v(z) . De même, on
42
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
CHAPITRE 3. LOGIQUE
PROPOSITIONNELLE
3.2. LANGAGES DES PROPOSITIONS
a v (x ∧ y) ∧ z = and and v(x), v(y) , v(z) . En dressant la table de vérité :
v(x) v(y) v(z) and v(x), and v(y), v(z)
and and v(x), v(y) , v(z)
false
false
false
true
false
true
true
true
false
false
true
false
true
false
true
true
false
true
false
false
true
true
false
true
false
false
false
false
false
false
false
true
false
false
false
false
false
false
false
true
,
on voit que v x ∧ (y ∧ z) = v (x ∧ y) ∧ z pour tout v.
On vérifie directement que :
Proposition 9 L’ensemble des classes d’équivalence des formules du calcul propositionnel forment
un treillis booléen (X̄, M, O) où x̄ M ȳ def
= x ∧ y, x̄ O ȳ def
= x ∨ y, l’élément nul (resp. unité) de ( X̄, M
¯ des antilogies (resp. la classe >
¯ des tautologies) et l’inverse x̄0 d’un élément x̄
, O) est la classe ⊥
est (¬x).
3.2.3
Sous-langages équivalents
Définition 25 On appelle ensemble des connecteurs propositionnels de
l’ensemble :
C R = C1R t C2R avec C1K def
= {¬}, C2K def
= {∧}. On définit de la même façon que les propositions de
Kleene le langage des propositions de
LR
Proposition 10 Toute proposition de Kleene équivaut à une proposition de Rosser.
Démonstration: Soient d, i, e les fonctions de LK × LK −→ LK qui à tout A, B ∈ LK associent respectivement :
d(A, B) def
= ¬(¬A ∧ ¬B) , i(A, B) def
= (d(¬A, B)) , and e(A, B) def
= i(A, B) ∧ i(B, A) ,
ainsi que f def
= A ∧ (¬A) pour tout A ∈ S0 et t def
= (¬f ). Toute formule de LK est, soit une formule de la
forme (¬A) ou (A ∧ B), soit de l’une des formes suivantes : >, ⊥, (A ∨ B), (A → B) ou (A ↔ B), où, par
hypothèse d’induction, A et B sont supposées dans LR . On vérifie que :
1. (¬A), (A∧B), d(A, B), i(A, B) et e(A, B), ainsi
que t et f sont dans LR ;
2. v(t) = v(>) = true et v(f ) = v(⊥) = false ;
3. v(A ∨ B) = v d(A, B) ;
4. v(A → B) = v i(A, B) ;
5. v(A ↔ B) = v e(A, B) .
même que toute formule de Kleene équivaut à une formule d’
On montre
où cesde dernières
sont construites avec les seuls connecteurs propositionnels ¬ et ∨. Pour
conclure, plusieurs choix sont possibles pour définir le calcul des propositions. Ces choix conduisent
à des langages sémantiquement équivalents. L’avantage du langage de Kleene est qu’il est riche
et plus proche du langage mathématique usuel. En outre, les notions de vrai et le faux, du point de
vue syntaxique, sont représentées de manière canonique par les symboles > et ⊥. L’avantage des
sous-langages de Rosser ou d’Ackermann-Hilbert est qu’ils contiennent moins de connecteurs
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
43
3.2. LANGAGES DES PROPOSITIONS
CHAPITRE 3. LOGIQUE PROPOSITIONNELLE
2
et sont plus simples à décrire Par contre, la traduction des notions usuelles telles que l’implication
requièrent des définitions supplémentaires. Il n’y a pas, a priori, de meilleur choix.
On notera désormais L le langage des propositions sans préciser l’ensemble de connecteurs
choisis à condition que le langage résultant soit aussi expressif que L K . Sauf mention explicite, nous
supposerons le langage doté des connecteurs ¬, ∧, ∨, →, ⊥, >. De même, nous noterons I l’ensemble
des interprétations de L.
3.2.4
Formes normales conjonctives et disjonctives
Dans ce qui suit, on notera (A1 ∨· · · ∨ An ) la formule (· · · (A1 ∨ A2 ) · · · ) ∨ An et (A1 ∧ · · · ∧ An )
la formule (· · · (A1 ∧ A2 ) · · · ) ∧ An . Cela est justifié car ∧ et ∨ sont sémantiquement associatifs.
Définition 26 Un littéral est une proposition atomique ou sa négation. Une clause disjonctive
est une formule du type (l1 ∨ · · · ∨ ln ) où li est un littéral. Elle est dite réduite ssi chaque l i
n’apparaı̂t qu’une fois. On note K∨ l’ensemble des clauses disjonctives. Une forme conjonctive
est une conjonction de clauses disjonctives, c’est à dire une formule du type C 1 ∧ · · · ∧ Cn , où Ci
est une clause disjonctive. On note N ∧ l’ensemble des formes conjonctives. On définit, mutatis
mutandis, l’ensemble K∧ clauses conjonctives et l’ensemble N ∨ des formes disjonctives. Une
forme est réduite ssi chaque clause n’apparaı̂t qu’une fois.
Exemple 17 Soient A, B, C, D desformules atomiques, alors
:
– (D ∨ A ∨ C)
∧
D
∨
(¬B)
∨
C
∧
(¬A)
∨
(¬B)
∨
C
est
une
forme conjonctive ;
– A ∧ (¬B) ∨ C ∨ D ∨ (¬A) est une forme disjonctive ;
– A ∧ (¬B) est une forme conjonctive et disjonctive.
Définition 27 Spgops que les seuls connecteurs utilisés sont ∧, ∨ et ¬. La fonction forme normale conjonctive fnc : L −→ N∧ est définie récursivement :
1. fnc(A) def
= A pour tout A ∈ S0 ;
2. fnc(A ∧ B) def
= fnc(A) ∧ fnc(B) ;
3. pour A = A1 ∧· · ·∧An et B = B1 ∧· · ·∧Bm :
^
fnc(A ∨ B) def
=
(Ai ∨ Bj )
1≤i≤n
1≤j≤m
4. fnc ¬(¬A) def
= fnc(A) ;
5. fnc ¬(A ∨ B) def
= (¬fnc(A)) ∧ (¬fnc(B)) ;
def
6. fnc ¬(A ∧ B) = (fnc(¬A)) ∧ (fnc(¬B)).
On montre immédiatement que :
Théorème 5 Pour toute formule A, on a fnc(A) ⇔ A.
3.2.5
Expressivité booléenne du langage des propositions
Définition 28 Une formule A dans laquelle apparaissent n propositions atomiques p 1 , . . . , pn représente une fonction booléenne
n-aire f si et seulement si, pour toute interprétation v, on
a v(A) = f v(p1 ), . . . , v(pn ) . Soit p = (p1 , . . . , pn ), on définit les ensembles Vp (f ) def
= {v ∈
2
Le langage nand, dans lequel le seul connecteur binaire 6 ∧ est utilisé, associé à la fonction booléenne nand telle
que nand(x, y) = false ssi x = y = true possède cette même propriété.
44
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
CHAPITRE 3. LOGIQUE PROPOSITIONNELLE
3.3. ARBRES DE BETH
def
I | f (v(p1 ), . . . , v(pn ) = true} et Fp (f ) = {v ∈ I | f (v(p1 ), . . . , v(pn ) = false} Si f n’est pas
identiquement false, sa formule normale disjonctive construite avec p est :
(
^
n
_
pi
si v(pi ) = true ;
fndp (f ) def
=
εv (pi )
où εv (pi ) def
=
(¬pi ) si v(pi ) = false .
v∈V (f ) i=1
p
et si f n’est pas identiquement true, sa formule normale conjonctive, construite avec p est :
(
_
n
^
pi
si v(pi ) = false ;
ε̄v (pi )
où ε̄v (pi ) def
=
fncp (f ) def
=
(¬pi ) si v(pi ) = true .
v∈A (f ) i=1
p
Proposition 11 Pour toute fonction booléenne f , et tout n-uplet p = (p 1 , . . . , pn ) de propositions
atomiques, les formules fndp (f ) et fncp (f ) représentent f .
Démonstration: Soit w une valuation. On note A = fnd p (f ) et B = fncp (f ). On a :
w(A) =
or
v∈Vp (f )
and w εv (pi )
1≤i≤n
and w εv (pi ) =
(
w(pi )
si v(pi ) = true
w(¬pi ) si v(pi ) = false
Par conséquent v = w ssi w εv (p
i ) = true pour tout i ∈ {1, . . . , n}. On en déduit w ∈ Vp (f ) ssi w(A) = true,
c’est-à-dire f w(p1 ), . . . , w(pn ) = w(A). De même, on a :
w(B) = and
v∈Fp (f )
n
or w ε̄v (pi )
i=1
(
w(pi )
and w ε̄v (pi ) =
w(¬pi )
si v(pi ) = false
si v(pi ) = true
Par conséquent v = w ssi w ε̄v (pi ) = false pour tout i ∈ {1, . . . , n}. On en déduit w ∈ Fp (f ) ssi w(B) = false,
c’est-à-dire f w(p1 ), . . . , w(pn ) = w(A).
3.3
Problème SAT et arbres de
Le problème de décision consistant, étant donnée une formule A, à répondre à la question :
« existe-t-il une valuation qui satisfasse A » s’appelle le problème SAT. Soient p 1 , . . . , pn les propositions atomiques apparaissant dans A, on peut répondre à la question précédente en examinant
les 2n valuations correspondant aux substitution de p i par false ou par true, dans A, pour 1 ≤ i ≤ n.
Cook et Levin ont démontré [Deh00, Proposition 3.3, p. 237] qu’il était difficile de trouver une
méthode rapide pour décider de la satisfaisabilité d’une formule en général. Nous utiliserons cependant une méthode non-triviale, recourant aux arbres de Beth.
On se place dans le langage de Rosser et on va se ramener récursivement à des sous-formules
de plus en plus petites jusqu’à aboutir à des variables. En effet, supposons qu’il existe une interprétation v satisfaisant une formule F , alors :
– si F est de la forme (¬F 0 ), alors v falsifie F 0 ;
– si F est de la forme (F 0 ∧ F 00 ), alors v satisfait F 0 et F 00 .
De même, supposons qu’il existe une interprétation v falsifiant une formule G alors :
– si G est de la forme (¬G0 ), alors v satisfait G0 ;
– si G est de la forme (G0 ∧ G00 ), alors v falsifie au moins l’une des deux sous-formule G 0 ou G00 ;
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
45
3.4. PREUVES
CHAPITRE 3. LOGIQUE PROPOSITIONNELLE
En poursuivant récursivement ce raisonnement, on construit, étape par étape, un ensemble de
sous-formules Φ à satisfaire et un ensemble Ψ de sous-formules à falsifier pour chaque cas envisagé.
À l’issue d’un nombre fini d’étapes, on aboutit à une situation où on n’a que des formules atomiques
(i.e. des variables).
% est arbre dont les nœuds sont étiquetés par un couple (Φ, Ψ)
Définition 29 Un arbre de
d’ensemble de formules telles que, pour tout nœud N de l’arbre, étiqueté par (Φ, Ψ), avec Φ =
{F1 , . . . , Fn } et Ψ = {G1 , . . . , Gm }, on ait :
– pour tout i ∈ {1, . . . , n} :
0
– si Fi = ¬F 0 , alors N a un fils, étiqueté par Φ \ {F
i }, Ψ ∪ {F } ;
– si Fi = (F 0 ∧ F 00 ), alors N a un fils, étiqueté par Φ \ {Fi } ∪ {F 0 , F 00 }, Ψ ;
– pour tout j ∈ {1, . . . , m} :
– si Gi = ¬G0 , alors N a un fils, étiqueté par Φ ∪ {G0 }, Ψ \{G0 } ;
– si Gi = (G0 ∧ G00 ), alors N a deux fils, l’un étiqueté par Φ, Ψ \ {Gi } ∪ {G0 } , l’autre,
par Φ, Ψ \ {Gi } ∪ {G00 } .
Un tel arbre dont la racine la racine est étiquetée par {A}, ∅ (resp. ∅, {A} ) s’appelle l’arbre
de A.
de satisfaction (resp. de falsification) de
% Proposition 12 Soit une feuille de l’arbre de satisfaction (resp. falsification) de Beth de A,
étiquetée par (Φ, Ψ). Si Φ et Ψ sont disjoints, alors la substitution par true des variables de A
apparaissant dans Φ et la substitution par false de celles apparaissant dans Ψ correspond à une
interprétation satisfaisant (resp. falsifiant) A. En outre :
– si aucune feuille de l’arbre de satisfaction de Beth de A n’est de la forme précédente, A est
une antilogie ;
– si aucune feuille de l’arbre de falsification de Beth de A n’est de la forme précédente, A est
une tautologie.
D’un point de vue algorithmique, la non-disjonction des deux sous-ensemble de formules étiquetant un nœud de l’arbre de satisfaction (resp. de falsification) constitue une incohérence qui suffit à
conclure que la branche en cours d’examen ne peut pas conduire à une interprétation satisfaisante
(resp. falsifiante).
3.4
3.4.1
Preuves
Introduction
Une preuve est un objet purement syntaxique : c’est une suite de réécritures qui transforme
les axiomes en la proposition à démontrer. Le fait que cette preuve soit valide sémantiquement,
signifie que, dans la suite des réécritures, si l’on passe d’une formule A n à une formule An+1 , alors
(An ⇒ An+1 ).
3.4.2
Déduction naturelle
Définition 30 Un séquent est un couple (Γ, A), noté Γ ` A (on lit « Γ these A ») où :
– Γ est un ensemble fini de formules, appelé contexte, représentant les hypothèses de travail ;
46
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
CHAPITRE 3. LOGIQUE PROPOSITIONNELLE
3.5. COMPL ÉTUDE
– A est une formule, appelée conclusion.
Un séquent est trivial ssi il est de la forme Γ, A ` A. Un séquent Γ ` A est valide ssi on a Γ A.
Une règle de démonstration n-aire est une fonction n-aire R qui, à tout n-uplet de séquents
(P1 , . . . , Pn ) appelés prémisses associe un séquent C = R(P 1 , . . . , Pn ) appelé conclusion. On note
la situation ainsi :
P1
...
Pn
R
C
Soit R un ensemble de règles de démonstration, un raisonnement dans R est est une forêt
ont les nœuds des arbres la constituant sont étiquetés par des séquents et de règles de R de telle
sorte que :
1. si un nœud est étiqueté par un séquent, alors son fils est étiqueté par une règle ;
2. si un nœud est étiqueté par une règle, alors son fils est étiqueté par un séquent ;
3. le père d’un nœud N étiqueté par une règle n-aire R avec n ≥ 1 est étiqueté par le séquent
R(P1 , . . . , Pn ) où P1 , . . . , Pn sont les étiquettes des nœuds fils de N ;
4. un nœud étiqueté par une règle 0-aire n’a pas de fils.
Une démonstration est un raisonnement connexe ( i.e. qui est un arbre). On note Γ ` R A pour
dire qu’il existe une démonstration dans R du séquent Γ ` A. Soit T une théorie propositionnelle,
on note T `R A pour dire qu’il existe une sous-théorie finie Γ ⊆ T telle que Γ ` R A. La Table 4.1
regroupe l’ensemble des règles de la déduction naturelle et on notera Γ ` nat A pour dire que
Γ ` A est prouvable en déduction naturelle.
Définition 31 Une règle R est valide ssi, pour tout P 1 = Γ1 ` A1 , . . . , Pn = Γn ` An et C = Γ `
A = R(P1 , . . . , Pn ), le fait que Γ1 A1 , . . . , Γn An implique que Γ A.
Proposition 13 Les règles de déduction naturelle sont valides.
Démonstration: C’est trivial pour les règles axiome et affaiblissement, pour la règle d’introduction à droite
de l’implication. Soit v une interprétation et supposons que v(F ) = true pour toute formule F ∈ Γ. Si
Γ, A B et que v(A) = true, cela implique que v(B) = true, donc v(A → B) = equi v(A), v(B) =
equi v(A), v(B) = true, par conséquent Γ (A → B). On montre la validité des autres règles de la même
façon.
Exemple 18 Voici une preuve de (A ∧ B) ` (B ∧ A) en déduction naturelle :
ax
ax
(A ∧ B) ` (A ∧ B)
(A ∧ B) ` A ∧ B
re∧·
re·∧
(A ∧ B) ` B
(A ∧ B) ` A
ri∧
(A ∧ B) ` (B ∧ A)
3.5
Complétude
Définition 32 Une théorie propositionnelle T est :
– cohérente ssi il n’existe pas de formule A telle que T ` A et T ` (¬A).
– insatifsaisable ssi il n’existe pas de modèle de T ;
– consistante ssi T 0 ⊥ ;
– complète ssi T est consistante et si, pour toute proposition, on a T ` A ou T ` (¬A).
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
47
3.5. COMPLÉTUDE
CHAPITRE 3. LOGIQUE PROPOSITIONNELLE
Tab. 3.1 – Table des règles de déduction naturelle pour les propositions.
Axiome : si la conclusion est dans les hypothèses, le
séquent est prouvable :
Γ, A ` A
ax
Affaiblissement : si l’on peut démonter un séquent, le
fait de rajouter une hypothèse est indépendant :
Γ`A
aff
Γ, B ` A
Introduction à droite de l’implication : pour montrer A −→ B, il suffit de supposer A et de prouver B :
Γ, A ` B
ri→
Γ ` (A → B)
Élimination à droite de l’implication (modus ponens) : si A → B est prouvable et que A alors on a B :
Γ ` (A → B)
Γ`B
Γ`A
re→
Introduction à droite de la conjonction : pour montrer A ∧ B, il suffit de montrer A et de montrer B :
Γ`A
Γ`B
ri∧
Γ ` (A ∧ B)
Éliminations à droite de la conjonction : si A ∧ B
alors on peut déduire A et B :
Γ ` (A ∧ B)
re·∧ et
Γ`A
48
Γ ` (A ∧ B)
re∧·
Γ`B
Introductions à droite de la disjonction : pour montrer A ∨ B, il suffit de montrer A ou de montrer B :
Γ`A
ri·∨ et
Γ ` (A ∨ B)
Γ`B
ri∨·
Γ ` (A ∨ B)
Élimination à droite de la disjonction : pour montrer C et que (A ∨ B) est prouvé, il suffit de montrer C
en supposant d’une part A, d’autre part B :
Γ ` (A ∨ B)
Γ, A ` C
Γ`C
Γ, B ` C
re∨
Introduction à droite de la négation : pour montrer
¬A, on suppose A et on démontre ⊥ :
Γ, A ` ⊥
ri¬
Γ ` (¬A)
Élimination à droite de la négation : si on a montré
(¬A) et A, alors on a montré ⊥ :
Γ, (¬A) ` ⊥
Γ`⊥
Γ`A
re¬
Introduction à droite de ⊥ (absurdité classique) :
pour démontrer A, il suffit de démontrer ⊥ en supposant
(¬A) :
Γ, (¬A) ` ⊥
ri⊥
Γ`A
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
CHAPITRE 3. LOGIQUE PROPOSITIONNELLE
3.6. COMPACIT É
On énonce sans démonstration le Théorème de complétude qui est un cas particulier du Théorème
de complétude du calcul des prédicats qu’on verra au chapitre suivant.
Théorème 6 (Théorème de complétude) Soit T une théorie et A une proposition, alors :
T ` A ssi T A .
3.6
Compacité
On donne dans cette section une démonstration topologique directe du Théorème de compacité
bien qu’on puisse le déduire du Théorème de complétude.
3.6.1
Définitions
Définition 33 Un espace topologique est un ensemble (X, O) où O est un ensemble de parties
de X appelés ouverts tel que :
[
1. O est stable par réunion avec la convention que
Ui = ∅ ;
i∈∅
2. O est stable par intersection finie avec la convention que
\
Ui = X.
i∈∅
Les fermés de X sont les complémentaires des ouverts. Un voisinage d’un point x ∈ X est
une partie de X contenant un ouvert. La topologie discrète sur X est la topologie pour laquelle
O = P(X). La topologie grossière est celle pour laquelle O = {∅, X}. Soit B une famille
de parties stables par intersection finie, la topologie engendrée par B est la topologie dont les
ouverts sont les réunions d’éléments de B. L’ensemble S
B est appelée une base d’ouverts.
Une famille (Ai )i∈X de parties de X telle que X = i∈I Ai est un recouvrement de X.
L’ensemble X est compact ssi :
– il satisfait la propriété de séparation de Hausdorff : deux points distincts admettent des
voisinages disjoints ;
– il satisfait la propriété de Borel-Lebesgue : de tout recouvrement de X par des ouverts,
on peut extraire un sous-recouvrement fini.
Soient X un espace produit, les produits d’ouverts des composants de X constituent une base
d’ouvert de X et la topologie engendrée est la topologie produit.
Exemple 19 L’ensemble B def
= {B(x, r) : x ∈ Rn , r ∈ R}, où B(x, r) def
= {y ∈ Rn | ky − xk < r}
constituent une base d’ouverts sur R n . On montre que tout fermé borné de R n est compact.
Proposition 14 Soit X un espace topologique alors les psse :
1. X satisfait la propriété de Borel-Lebesgue ;
2. toute famille de fermés de X d’intersection finie non-vide est d’intersection quelconque nonvide.
Démonstration: Soit (Ui )i∈I une famille d’ouverts recouvrant X, et (Fi )i∈I , la famille de fermés où Fi def
= X\
Ui , qui est donc, par complémentarité, d’intersection vide. Toujours par complémentarité, on remarque que
les psse :
1. il existe J ⊂ I avec J fini tel que (Uj )j∈J recouvre X ;
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
49
3.6. COMPACITÉ
CHAPITRE 3. LOGIQUE PROPOSITIONNELLE
2. il existe J ⊂ I avec J fini tel que (Fj )j∈J soit d’intersection vide ;
donc les psse :
1. X satisfait la propriété de Borel-Lebesgue ;
2. toute famille de fermés d’intersection vide admet une sous-famille finie d’intersection vide ;
3. toute famille de fermés d’intersection finie non-vide est d’intersection non-vide.
On démontre avec l’axiome du choix :
Théorème 7 (Théorème de
) Tout produit de compacts est compact.
En réalité, une démonstration plus facile existe dans le cas où les espaces sont dénombrables.
3.6.2
Théorème de compacité
Théorème 8 (Théorème de compacité du calcul propositionnel) Une théorie T a un modèle
ssi toute sous-théorie finie de T a un modèle.
Démonstration: Pour la topologie discrète, B est compact. Soit S0 l’ensemble des propositions atomiques,
alors l’ensemble des valuations est X = BA qui, muni de la topologie produit, est compact d’après le
Théorème de Tychonoff.
1. Pour toute formule F , l’ensemble V (F ) def
= {v valuation v(F ) = true} est ouvert et fermé. En effet, soit
n le nombre de variables apparaissant dans F . L’ensemble V (F ) est une union d’ouverts élémentaires 3
de X, donc V (F ) est ouvert. Comme X \ V (F ) = V (¬F ), V (F ) est également un fermé.
2. Soit T une théorie telle que toute sous-théorie finie est non-contradictoire (i.e. admet un modèle),
alors {V (F ) : F ∈ T } est stable par intersection finie non-vide. En effet, soient F1 , . . . , Fn des
formules de T , la sous-théorie Γ = {F1 , . . . , Fn } est non-contradictoire donc l’intersection des fermés
V (F1 ), . . . , V (Fn ) est non-vide.
3. Comme X est compact, d’après la Proposition 14, on déduit de 2. que l’intersection de tous les V (F )
pour F ∈ T est non-vide, i.e. que T est non-contradictoire.
3
50
il y en a au plus 2n
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
Chapitre 4
Logique du premier ordre
4.1
Introduction
Le langage des propositions ne permet pas de rendre compte de nombreuses situations. Il faut
donc recourir à la notion de prédicat et de quantificateurs. Référence facile [AU93, chap. 14].
4.2
4.2.1
Syntaxe
Construction
Définition
34 On appelle ensemble des connecteurs logiques du premier ordre l’ensemble :
F
C = n∈N Cn avec C0 def
= {⊥, >}, C1 def
= {¬}, C2 def
= {∧, ∨, →, ∀, ∃} et Cn = ∅ pour tout n ≥ 0 et
où :
⊥ se lit bottom
> se lit top
¬ se lit non
∧ se lit et
∨ se lit ou
→ se lit implique
∀ se lit pour tout
∃ se lit il existe
On appelle quantificateur universel et quantificateur existentiel les symboles ∀ et ∃ respectivement.
Définition 35 Soient R un ensemble de symboles relationnels, et F un ensemble de symboles
fonctionnels où :
G
G
F =
Fn et R =
Rn ,
n∈N
n∈N
on définit une signature sur l’ensemble S = F t C t R en convenant que S n = Fn t Cn t Rn
avec :
1. ¬ est unaire préfixe ;
2. ∧, ∨, →, ↔ sont binaires infixes ;
3. ∀, ∃ sont binaires préfixes.
Soit F un ensemble de variables fonctionnelles, le langage des termes fonctionnels sur S
est défini comme étant l’ensemble T des termes construits par induction sur le modèle de la
Définition 17, p. 37 de telle sorte que :
51
4.2. SYNTAXE
CHAPITRE 4. LOGIQUE DU PREMIER ORDRE
1. toute constante fonctionnelle c ∈ F 0 et toute variable fonctionnelle x ∈ F est un terme
fonctionnel atomique de T ;
2. pour n > 0, si M1 , . . . , Mn ∈ T , et f ∈ Fn alors f (M1 , . . . , ,Mn ) ∈ T .
Soit R un ensemble de variables fonctionnelles, le langage des termes relationnels élémentaires (formules atomiques) sur S est défini comme étant l’ensemble A des termes clos
construits par induction sur le modèle de la Définition 17, p. 37 de telle sorte que :
1. les connecteurs ⊥, > ∈ C0 , ainsi que toute constante relationnelle p ∈ R 0 sont des formule
atomique de A ;
2. pour n > 0, si M1 , . . . , Mn ∈ T et R ∈ Rn , alors R(M1 , . . . , ,Mn ) ∈ A.
Le langage LS des formules sur S est défini par induction, toujours sur le modèle de la Définition 17,
p. 37 de telle sorte que1 :
1. A ⊆ LS ;
2. si A, B ∈ LS , alors :
(a) (¬A) ∈ LS ;
(b) (A ∧ B) ∈ LS ;
(c) (A ∨ B) ∈ LS ;
(d) (A → B) ∈ LS ;
3. si A ∈ LS , et x ∈ F, alors :
(a) (∀x A) ∈ LS ;
(b) (∃x A) ∈ LS .
On note (∀x1 , . .. , xn A) au lieu de ∀x1 · · · (∀xn A) · · · et, de même, (∃x1 , . . . , xn A) au lieu de
∃x1 · · · (∃xn A) · · · . On dit que ∀ et ∃ sont le dual l’un de l’autre. On prend les règles de priorité
suivantes : 1. pour ¬, ∀ et ∃, 2. pour ∨, ∧ et 3. pour →. Pour tout connecteur binaire infixe c et
tout terme M , on notera :
– (∀x c M, A) ( e.g. (∀x ∈ M, x ≥ 0)) pour ∀x (x c M ) → A .
– (∃x c M | A) ( e.g. (∃x ∈ M | x ≥ 0)) pour ∃x (x c M ) → A .
On notera
(A ↔ B) pour (A → B) ∧
(B → A) et A 1 → A2 → · · · → An → B désignera l’expression
A1 → A2 → · · · → (An → B) · · · .
Exemple 20 Soit F0 = {0, . . . , 9} et F = {x}, F2 = {+, .}, et R2 = {=, <}. On peut construire :
1. le terme fonctionnel (3.x) ;
2. puis le terme fonctionnel (3.x) + 1 ;
3. puis la formule atomique ((3.x) + 1) < 5 ;
4. puis la formule ∀x ((3.x) + 1) < 5 ∧ (x < 2.x) ;
L’expression (3 + 1) = (1 < 4) est en revanche syntaxiquement incorrecte car comme = est un
symbole relationnel binaire infixe, il ne peut avoir de part et d’autre que des termes fonctionnels ;
or (3 + 1) est bien un terme fonctionnel mais (1 < 4) est une formule atomique.
4.2.2
Sous-formules
Définition 36 Pour toute formule A ∈ L l’ensemble ssf(A) de ses sous-formules est défini par
induction :
1
Il convient de remarquer que si les formules atomiques sont toujours closes, les termes fonctionnels et a fortiori
les formules ne le sont pas, en général et font apparaı̂tre des variables fonctionnelles de F.
52
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
CHAPITRE 4. LOGIQUE DU PREMIER ORDRE
1. si A ∈ A, alors ssf(A) def
= {A} ;
4.2. SYNTAXE
2. si A = (¬B) ou A = (∀x B) ou A = (∃x B), alors ssf(A) def
= {A} ∪ ssf(B) ;
3. si A = (B ∧ C) ou A = (B ∨ C) ou A = (B → C), alors ssf(A) def
= ssf(B) ∪ ssf(C).
4.2.3
Variables libres, liées, α-équivalence, renommage
Définition 37 Pour toute formule A ∈ L l’ensemble free(A) de ses variables libres et l’ensemble bound(A) de ses variables liée (on dit aussi variables muette) est défini par induction :
S
1. si A = R(M1 , . . . ,Mn ) ∈ A alors free(A) = ni=1 var(Mi ) et bound(A) = ∅.
2. si A = (¬B) alors free(A) def
= free(B) et bound(A) def
= bound(B) ;
3. si A = (B ∧ C) ou A = (B ∨ C) ou A = (B → C), alors free(A) def
= free(B) ∪ free(C) et
def
bound(A) = bound(B) ∪ bound(C) ;
4. si A = (∀x B) ou A = (∃x B), alors free(A) def
= free(B) \ {x} et bound(A) def
= bound(B) ∪ {x}.
Si free(A) = 0, on dit que A est close2 Si |free(A)| = n, on dit que A est n-aire et si free(A) ⊆
{x1 , . . . , xn }, on la note A[x1 , . . . , xn ]. La clôture universelle de A[x1 , . . . , xn ] est la formule close :
¯ A).
∀x1 , . . . , xn A[x1 , . . . , xn ]. On la notera3 (∀
Exemple 21 Dans la formule A def
= ∀x (x ? y = y ? x) , on a free(A) = {y} et bound(A) = {x}. Si
B désigne la sous-formule (x ? y = y ? x), on a free(B) = {x, y} et bound(B) = ∅.
Exemple 22 Dans la formule A def
= ∀x (x2 ≥ 0) ∧ (x = 5), on a :
1. d’une part free(A) = free(B) ∪ free(C) avec B def
= ∀x (x2 ≥ 0) et C def
= (x = 5) et free(B) = ∅
tandis que free(C) = x d’où free(A) = {x}.
2. d’autre part bound(A) = bound(B) ∪ bound(C) avec B def
= ∀x (x2 ≥ 0) et C def
= (x = 5) et
bound(B) = {x} tandis que bound(C) = ∅ d’où bound(A) = {x}.
La variable x est donc libre et liée dans A.
4.2.4
Substitutions
Définition 38 Pour une formule A[x], et un terme M dans lequel x n’apparaı̂t pas liée, on note
A[x M ], voire A[M ] si le contexte est clair, la formule A dans laquelle on a remplacé toutes les
occurences libres de x par M .
Exemple 23 On a :
– Soit A[x, y] def
= x+y, alors A[x (x+1), y] = (x+1)+y ;
def
– Soit A[x] = ∀x (x2 > 0) ∧ (x < 1), alors A[x sin(y)] = ∀x (x2 > 0) ∧ sin(y) < 1 ;
Définition 39 Deux formules A et B sont α-équivalentes (on note A ≡ α B) ssi elles sont
syntaxiquement identiques à une substitution près des occurences liées des variables liées par des
variables qui n’apparaissent pas libres dans ces formules.
2
Attention ! Cela ne signifie pas la même chose que jusqu’alors, où l’on disait qu’une expression était close lorsqu’elle
ne présentait pas de variables. Ici, close signifie que l’expression n’a pas de variables libres.
3
¯ n’est pas un symbole d’un langage du premier ordre mais une abbréviation du
Attention : le symbole ∀
métalangage pour dire « clôture universelle de ».
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
53
4.3. SÉMANTIQUE
Exemple 24 On a :
CHAPITRE 4. LOGIQUE DU PREMIER ORDRE
1. ∀y (x ? y = y ? x) ≡α ∀z (x ? z = z ? x) ;
2. ∀y (x ? y = y ? x) 6≡α ∀y (z ? y = y ? z) ;
3. ∀y (x ? y = y ? x) 6≡α ∀y (y ? y = y ? y) : il y a capture de la variable libre z.
Si x apparaı̂t liée dans M , soit z une variable n’apparaissant pas dans A, et B def
= A[x z] ≡α A,
on notera toujours A[x M ] pour B[z M ].
Ces notions de substitution et les
à prendre sont usuelles en mathématiques. Par
R 1 précautions
2
exemple, dans l’expression A[x] def
= 0 e(x+y) dy, la variable y est liée par le terme dy et on ne peut
pas brutalement substituer x y car le résultat n’aurait pas le sens qu’on attend. Il Rfaut donc faire
2
1
une α-équivalence (i.e. un changement de variable) préliminaire : A[x] ≡ α B[x] def
= 0 e(x+z) dz et
R1
2
B[x y] = 0 e(y+z) dz. Comme on l’a mentionné précédemment, on écrira A[x y], voire A[y],
pour désigner l’expression B[x y].
4.2.5
Preuves
La Table 4.1 complète la Table 3.1 de la p. 48 et on notera, de même Γ ` nat A pour dire qu’une
formule A du premier ordre est démontrable en déduction naturelle dans un contexte Γ.
Proposition 15 Soient A et Γ, respectivement une proposition et un ensemble de propositions,
alors il existe une démonstration du séquent Γ ` A avec les règles de la Table 3.1 de la p. 48 ssi il
existe une démonstration du séquent Γ ` A avec les règles de la Table 4.1 dans laquelle n’apparaı̂t
aucune des règles ri∀ , re∀ , ri∃ , re∃ .
4.2.6
Validité des preuves après substitution
Définition 40 Soit Γ = {A1 , . . . , An } ⊆ L, M ∈ T et x ∈ F, on note Γ[x M ] l’ensemble de
formules {A1 [x M ], . . . , An [x M ]}.
Théorème 9 Si Γ ` A alors Γ[x M ] ` A[x M ].
Démonstration: cf. [DNR01, p. 50–52].
4.3
4.3.1
Sémantique
Interprétations
Définition 41 L’ensemble des interprétations standard à valeurs dans un ensemble X
de L est l’ensemble I des interprétations v : S 0 −→ X (au sens de la Définition 18, p. 38) vérifiant
que si :
1. x ∈ F est une variable ;
4. n > 0 est un entier ;
3. p ∈ R0 est une constante relationnelle ;
6. R ∈ Rn est un symbole relationnel n-aire ;
2. c ∈ F0 est une constante fonctionnelle ;
54
5. f ∈ Fn est un symbole fonctionnel n-aire ;
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
CHAPITRE 4. LOGIQUE DU PREMIER ORDRE
4.3. S ÉMANTIQUE
Tab. 4.1 – Table des règles de déduction naturelle.
Axiome : si la conclusion est dans les hypothèses, le
séquent est prouvable :
Γ, A ` A
Introduction à droite de la négation : pour montrer
¬A, on suppose A et on démontre ⊥ :
Γ, A ` ⊥
ri¬
Γ ` (¬A)
ax
Affaiblissement : si l’on peut démonter un séquent, le
fait de rajouter une hypothèse est indépendant :
Γ`A
aff
Γ, B ` A
Introduction à droite de l’implication : pour montrer A −→ B, il suffit de supposer A et de prouver B :
Γ, A ` B
ri→
Γ ` (A → B)
Élimination à droite de l’implication (modus ponens) : si A → B est prouvable et que A alors on a B :
Γ ` (A → B)
Γ`B
Γ`A
re→
Élimination à droite de la négation : si on a montré
(¬A) et A, alors on a montré ⊥ :
Γ, (¬A) ` ⊥
Γ`⊥
Γ ` A où x n’est pas libre dans Γ
ri∀
Γ ` (∀x A)
Élimination à droite du quantificateur universel :
de (∀xA), on peut déduire A[x M ] pour tout terme M :
Éliminations à droite de la conjonction : si A ∧ B
alors on peut déduire A et B :
Γ ` (A ∧ B)
re·∧ et
Γ`A
Γ ` (A ∧ B)
re∧·
Γ`B
Γ`A
ri·∨ et
Γ ` (A ∨ B)
Γ`B
ri∨·
Γ ` (A ∨ B)
Introductions à droite de la disjonction : pour montrer A ∨ B, il suffit de montrer A ou de montrer B :
Élimination à droite de la disjonction : pour montrer C et que (A ∨ B) est prouvé, il suffit de montrer C
en supposant d’une part A, d’autre part B :
Γ ` (A ∨ B)
Γ, A ` C
Γ`C
Γ, B ` C
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
re¬
Introduction à droite de ⊥ (absurdité classique) :
pour démontrer A, il suffit de démontrer ⊥ en supposant
(¬A) :
Γ, (¬A) ` ⊥
ri⊥
Γ`A
Introduction à droite du quantificateur universel :
pour démontrer (∀x A), il suffit de montrer A sans faire
aucune hypothèse sur x :
Introduction à droite de la conjonction : pour montrer A ∧ B, il suffit de montrer A et de montrer B :
Γ`A
Γ`B
ri∧
Γ ` (A ∧ B)
Γ`A
re∨
Γ ` (∀x A)
re∀
Γ ` A[x M ]
Introduction à droite du quantificateur existentiel : pour démontrer (∃x A), il suffit de montrer A[x M ] pour un certain terme M :
Γ ` A[x M ]
ri∃
Γ ` (∃x A)
Élimination à droite du quantificateur existentiel :
si il existe un x pour lequel on a A et qu’en supposant A,
on a C, alors en prenant x, on a C :
Γ ` (∃x A)
Γ, A ` C
où x n’est pas libre sur Γ et C
re∃
Γ`C
55
4.3. SÉMANTIQUE
alors :
CHAPITRE 4. LOGIQUE DU PREMIER ORDRE
4. v(⊥) def
= false ;
def
5. v(>) = true ;
1. v(x) ∈ X ;
2. v(c) ∈ X ;
3. v(p) ∈ B ;
6. v(f ) : X n → X ;
7. v(R) : X n → B ;
et étendues par induction à LK de telle sorte que, pour tous les termes fonctionnels M 1 , . . . , Mn ∈
T :
8. v R(M1 , . . . , ,Mn ) = v(R) v(M1 ), . . . , v(M ) ;
9. v f (M1 , . . . , ,Mn ) = v(f ) v(M1 ), . . . , v(M ) ;
et telles que, avec les notations de la Table. 2.1, p. 40, si
10. v(¬A) def
= non v(A) ;
13.
11. v(A ∧ B) def
= and v(A), v(B) ;
14.
def
12. v(∀x A) = and v[x x](A) ;
15.
x∈X
A, B ∈ L sont des formules alors :
v(A → B) def
= impl v(A), v(B)
;
v(A ∨ B) def
= or v(A), v(B) ; v(∃x A) def
= or v[x x](A) .
x∈X
où, pour tout x ∈ X, on notera v[x x] l’interprétation v 0 telle que v 0 (x) = x et v 0 (s) = v(s)
pour tout s ∈ Sn et v 0 (x0 ) = v(x0 ) pour toute variable x0 6= x.
Une formule A ∈ L est :
1. satisfaite par v ssi v(A) = true, auquel cas v est un modèle de A et on note v A ;
2. falsifiée par v ssi v(A) = false, auquel cas on dit que v est un contre-modèle de A ;
3. tautologique ssi elle est satisfaite pour toute interprétation v et on note A ;
4. antilogique ssi elle est falsifiée pour toute interprétation v ;
5. contingente ssi elle admet au moins une interprétation satisfaisante et une interprétation
falsifiante ;
et, pour toute formule B ∈ LK :
1. A implique sémantiquement B et on note (A ⇒ B) ssi (A → B) ;
2. A équivaut sémantiquement à B et on note (A ⇔ B) ssi (A ↔ B).
On vérifie immédiatement que :
Théorème 10 On a les formules :
(A ∧ B) ⇔ ¬ (¬A) ∨ (¬B) ,
(A → B) ⇔ (¬A) ∨ B ,
(∀x A) ⇔ ¬ ∃x (¬A) ,
par conséquent, l’Algorithme 1, p. 57, transforme toute formule du premier ordre en une formule
du premier ordre équivalente ne contenant que les connecteurs logiques ¬, ∨, ∃. On a également les
formules
(A ∨ B) ⇔ ¬ (¬A) ∧ (¬B) ,
(A → B) ⇔ (¬A) ∨ B ,
(∃x A) ⇔ ¬ ∀x (¬A) ,
et il existe donc un algorithme qui transforme toute formule du premier ordre en une formule du
premier ordre équivalente ne contenant que les connecteurs logiques ¬, ∧, ∀.
56
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
CHAPITRE 4. LOGIQUE DU PREMIER ORDRE
4.3. S ÉMANTIQUE
Algorithme 1 Réduction aux connecteurs ¬, ∨, ∃
Nom : redc // Réduit les connecteurs
Entrée : Une formule A
Sortie : Une formule A0 ne contenant que les connecteurs ¬, ∨, ∃, telle que A ⇔ A 0
// Cas
if
else if
else if
// Cas
triviaux :
A est atomique then
return A ;
A est de la forme ∃x B
then return ∃x redc(B) ; A est de la forme (B ∨ B 0 ) then return redc(B) ∨ (B 0 ) ;
non-triviaux :
else if A est de la forme (B ∧ B 0 ) then return ¬ (¬redc(B)) ∨ (¬redc(B 0 )) ;
0) ;
else if A est de la forme (B → B 0 ) then return (¬redc(B)) ∨ redc(B
else if A est de la forme ∀x B
then return ¬ ∃x (¬redc(B)) .
4.3.2
Morphismes d’interprétations
Définition 42 Soient v et v 0 deux interprétations de L sur X et X 0 respectivement, un morphisme de v sur v 0 est une fonction ϕ : X −→ X 0 telle que :
1. pour toute constante c ∈ A0 , ϕ v(c) = v 0 (c) ;
2. pour toute proposition atomique P ∈ A 0 , ϕ v(P ) = v 0 (P ) ;
3. pour tout symbole fonctionnel n-aire f , et tout x 1 , . . . , xn ∈ X :
ϕ v(f )(x1 , . . . , xn ) = v 0 (f ) ϕ(x1 ), . . . , ϕ(xn ) ;
4. pour tout symbole relationnel n-aire R, et tout x 1 , . . . , xn ∈ X :
ϕ v(R)(x1 , . . . , xn ) = v 0 (R) ϕ(x1 ), . . . , ϕ(xn ) .
Un isomorphisme est un morphisme bijectif. S’il existe un isomorphisme, on dit que v et v 0 sont
isomorphes et on note v ' v 0 .
Le fait qu’un morphisme ϕ soit injectif signifie que ϕ(x) = ϕ(y) ssi x = y.
Exemple 25 Soient F0 = {c}, F2 = {f }, R2 = {R}. Les interprétations de L :
1. v, sur X = R, telle que v(c) = 0, v(f ) : (a, b) 7−→ a + b et v(R) : (a, b) 7−→ a ≤ b ;
2. v 0 , sur X =]0, ∞[, telle que v(c) = 1, v(f ) : (a, b) 7−→ a · b et v(R) : (a, b) 7−→ a ≤ b ;
sont isomorphes.
Théorème 11 Soient v et v 0 deux interprétations de L sur X et X 0 respectivement, ϕ : X −→ X 0
un isomorphisme. Pour toute formule A, v A ssi v 0 A.
Démonstration: cf. [DNR01, p. 73].
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
57
4.4. FORMES NORMALES
4.4
4.4.1
CHAPITRE 4. LOGIQUE DU PREMIER ORDRE
Formes normales
Mise sous forme prénexe
Définition 43 Une formule A est prénexe ssi elle est de la forme q 1 x1 · · · qn xn B où qi ∈ {∀, ∃} et
où B n’a pas de quantificateurs. Le préfixe de A est q 1 x1 · · · qn xn . Elle est dite prénexe conjonctive (resp. disjonctive) si, en outre, B est sous forme normale conjonctive (resp. disjonctive).
Lemme 1 Soit A, B des formules. Si x n’est pas libre dans B, alors :
` (∀x A) ∨ B ↔ (∀x (A ∨ B)
et
` (∃x A) ∨ B ↔ (∃x (A ∨ B) .
Par conséquent, si A et B sont des formules telles que x 1 , . . . , xn ne sont pas libres dans B et
0 ,
x01 , . . . , x0m ne sont pas libres dans A, alors, pour tout choix de quantificateurs q 1 , . . . , qn , q10 , . . . , qm
on a :
0 0
0 0
xm (A ∨ B)
xm B) ↔ q1 x1 · · · qn xn q10 x01 · · · qm
` (q1 x1 · · · qn xn A) ∨ (q10 x01 · · · qm
Démonstration: Montrons ` (∀x A) ∨ B → (∀x (A ∨ B) :
(1) ` (∀x A) ∨ B → (∀x (A ∨ B) . . . . ri→ (2)
(2) (∀x A) ∨ B ` (∀x (A
∨ B) . . . . .li∨ (3) (4)
(3) (∀x A) ` ∀x (A ∨
B)
. . . . . . . . . . . . . . . ri∀ (5)
(4) B ` ∀x (A ∨ B) . . . . . . . . . . . . . . . . . . . . ri∀ (6)
(5)
(6)
(7)
(8)
(9)
(∀x A) ` (A ∨ B) . . . . . . . . . . . . . . . . . . . . li∀ (7)
B ` (A ∨ B) . . . . . . . . . . . . . . . . . . . . . . . . .ri∨· (8)
(∀x A), A ` (A ∨ B) . . . . . . . . . . . . . . . . . ri·∨ (9)
B ` B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ax
(∀x A), A ` A . . . . . . . . . . . . . . . . . . . . . . . . . . . ax
les autres résultats se prouvent de même et on prouve le dernier séquent par récurrence sur n + m.
Théorème 12 Toute formule équivaut à une formule prénexe conjonctive et à une formule prénexe
disjonctive. C’est la preuve de l’Algorithme 2.
Démonstration: D’après le Théorème 10, p. 56, sgops que la formule ne contient que ∃, ¬, ∨. On raisonne
ensuite par induction pour la prénexité :
1. si A est atomique, c’est clair ;
2. si A = (¬B), alors par hypothèse d’induction, B ⇔ q1 x1 · · · qn xn C donc A ⇔ q10 x1 · · · qn0 xn (¬C) où qi0
est le dual de qi ;
0 0
3. si A = (B ∨ B 0 ), par hypothèse d’induction, B ⇔ q1 x1 · · · qn xn C et B 0 ⇔ q10 x01 · · · qm
xm C 0 . Quitte à
0
0
renommer les variables liées, spgops x1 , . . . , xn , x1 , . . . , xm sont distinctes. D’après le Lemme 1, on a
0 0
donc : A ⇔ q1 x1 · · · qn xn q10 x01 · · · qm
xm (C ∨ C 0 ) ;
4. si A = (∃x B), par hypothèse d’induction, on a B ⇔ q1 x1 · · · qn xn C et A ⇔ ∃x q1 x1 · · · qn xn C.
On a donc montré que toute formule A équivalait à une formule prénexe q 1 x1 · · · qn xn B où B est sans
quantificateurs. Or d’après le Théorème 5, B équivaut à fnc(B) qui est une formule normale conjonctive (de
même pour la normale disjonctive de B).
58
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
CHAPITRE 4. LOGIQUE DU PREMIER ORDRE
4.4. FORMES NORMALES
Algorithme 2 Mise sous forme prénexe
Nom : prenexe
Entrée : Une formule
du premier ordre A
Sortie : Un couple [q1 x1 , . . . , qn xn ], C où q1 , . . . , qn sont des quantificateurs
et où A équivaut à la formule prénexe q 1 x1 · · · qn xn C
// Réduction des connecteurs logiques à ¬, ∨, ∃ :
A ← redc(A) où redc est l’Algorithme 1, p. 57 ;
// Algorithme principal :
if A est atomique
then
return [ ], A ;
else if A est de
la forme ∃x B then
return [∃x, q1 x1 , . . . , qn xn ], C ;
où [[q1 x1 , . . . , qn xn ], C] ← prenexe(B) ;
else if A est de
forme (¬B) then
la
0 x , . . . , q 0 x ], (¬B) où q 0 est le dual de q
return
[q
i
1
m n
1
i
où [q1 x1 , . . . , qn xn ], B 0 ← prenexe(B) ;
else if A est de la forme (B ∨ B 0 ) then
renommer
de B et B 0 pourqu’elles soient distinctes ;
les variables0 liées
0 x0 ], (C ∨ C 0 )
return
[q1 x1 · · · qn xn q1 x01 · · · qm
m
0 x0 ], C 0 ← prenexe(B 0 ) ;
où [q1 x1 , . . . , qn xn ], C ← prenexe(B) et [q10 x01 , . . . , qm
m
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
59
4.5. THÉORIES
4.5
Théories
4.5.1
Définition
CHAPITRE 4. LOGIQUE DU PREMIER ORDRE
Définition 44 Une théorie du premier ordre T est un ensemble de formules closes appelées
axiomes. L’interprétation v satisfait T ssi v A pour tout A ∈ T , auquel cas on note v T et
on dit que v est un modèle de T . Une théorie est satisfaisable 4 ssi elle admet un modèle. Une
formule close A est un théorème dans T et on note T A ssi tout modèle de T est un modèle
de A.
4.5.2
Propriétés syntaxiques
Définition 45 Une théorie T est :
– cohérente ssi il n’existe pas de formule A telle que T ` A et T ` (¬A) ;
– consistante ssi T 0 ⊥ ;
– complète ssi T est consistante et si, pour toute formule close, on a T ` A ou T ` (¬A) ;
– moins puissante qu’une théorie T 0 et on note T ≤ T 0 ssi, pour toute formule close A,
T ` A implique T 0 ` A.
Une formule A est indépendante d’une théorie consistante T ssi T 0 A et T 0 (¬A).
Proposition 16 Soit T une théorie complète et soient A et B des formules closes, alors :
1. T ` (A ∨ B) ssi T ∨ A ou T ` B ;
2. T ` (¬A) ssi T 0 A.
Démonstration:
1. si T 0 A et T 0 B, comme T est complète, on a T ` (¬A) et T ` (¬B), donc T ` (¬(A ∨ B)).
Comme T ` (A ∨ B), cela voudrait dire que T est inconsistante, ce qui est absurde. L’autre sens est
évident.
2. Si l’on avait T ` A et T ` (¬A), cela signifierait que T serait inconsistante, ce qui est absurde.
4.6
4.6.1
Théorème de complétude de
Introduction
Une formule prouvable est vraie car les règles de démonstrations sont valides. La réciproque
n’est pas évidente et constitue le cœur du Théorème de complétude de G ödel.
4.6.2
Théorème
Théorème 13 (Théorème de complétude de
, 1929) Une théorie T est satisfaisable
ssi elle est consistante. En particulier, pour toute théorie T et toute formule close A, on a T ` A
ssi T A.
Démonstration:
– Si T est inconsistante, on a T ` ⊥, donc pour toute formule A de T , et toute valuation v, on a
v(A) = false. S’il existe un modèle pour T (satisfaisabilité), il existe une valuation v telle v(A) = true
pour toute A ∈ T .
4
60
on dit aussi non-contradictoire mais cette terminologie est moins claire.
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
CHAPITRE 4. LOGIQUE DU PREMIER ORDRE
4.6. TH ÉORÈME DE COMPLÉTUDE
– Supposons que T 0 ⊥ (consistance), alors [DNR01, p. 76–81] (difficile) il existe un modèle pour T .
Soit A une formule close, alors les psse :
1. T ` A ;
première partie ;
2. T , (¬A) ` ⊥ (par l’absurde) ;
5. aucun modèle de T ne satisfait (¬A) ;
3. T ∪ {(¬A)} est inconsistante (par définition) ;
4. T ∪ {(¬A)} est insatisfaisable d’après la
4.6.3
Corollaires : les théorèmes de
6. tout modèle de T satisfait A ;
7. T A.
et
Nous donnons ici sans démonstration :
Théorème 14 (Théorème de
a un modèle dénombrable.
Théorème 15 (Théorème de
modèle dénombrable.
4.6.4
, 1915) Si une formule A est satisfaisable alors A
, 1920) Si T est une théorie dénombrable alors T a un
Corollaire : le théorème de compacité
Par ailleurs, on peut remarquer que si tous les énoncés d’un ensemble dénombrable T ne sont
pas simultanément vérifiables, il est nécessaire que la négation de la conjonction d’un nombre fini
d’énoncés de T soit démontrable. Gödel en tire la conséquence suivante, connue sous le nom de
théorème de compacité dénombrable : si toute conjonction finie d’énoncés de T est satisfaisable,
alors T est satisfaisable.
Théorème 16 (Théorème de compacité) Soit T une théorie alors T est satisfaisable ssi tout
sous-ensemble fini de T est satisfaisable.
Démonstration: Une autre façon de formuler le théorème est que T est insatisfaisable ssi il existe un
sous-ensemble fini de T qui est insatisfaisable. Il est clair que s’il existe un sous-ensemble fini de T qui
soit insatisfaisable, alors T l’est également. Inversement, si T est insatisfaisable, d’après le Théorème de
complétude, elle est inconsistante, i.e. T ` ⊥, c’est-à-dire qu’il existe un sous-ensemble fini Γ de T tel que
Γ ` ⊥. Toujours d’après le Théorème de complétude, cela signifie que, pour toute interprétation v, on a
v 2 Γ i.e. que Γ est insatisfaisable.
4.6.5
Conclusion
L’importance du théorème de complétude est le lien, établi pour la première fois, entre les notions
sémantiques de validité et de satisfiabilité d’un énoncé et la notion syntaxique de démontrabilité.
Dans le calcul des prédicats du premier ordre, l’ensemble des énoncés valides (c’est-à-dire vrais pour
toute interprétation ou modèle de ce calcul) coı̈ncide avec l’ensemble des énoncés formellement
démontrables. Gödel fait très justement remarquer que son théorème est nécessaire si on veut
poser l’équivalence entre la consistance d’une théorie du premier ordre et l’existence d’un modèle
de cette théorie.
A posteriori, c’est un fait très remarquable que ce premier travail contienne trois des théorèmes
fondamentaux de la logique du premier ordre : complétude, L öwenheim-Skolem, compacité. On
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
61
4.6. THÉORÈME DE COMPLÉTUDE
CHAPITRE 4. LOGIQUE DU PREMIER ORDRE
sait aujourd’hui (depuis 1969) que ces théorèmes caractérisent la logique du premier ordre dans le
sens suivant : si on passe à une logique au pouvoir d’expression strictement plus fort (logique du
second ordre, logiques infinitaires, etc), on n’a plus la validité simultanée d’un analogue du théorème
de Löwenheim-Skolem et du théorème de complétude (ou de compacité). La logique du premier
ordre est donc la plus forte possible à satisfaire simultanément les deux couples de théorèmes :
Löwenheim-Skolem et complétude, L öwenheim-Skolem et compacité (dénombrable).
62
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
Chapitre 5
Exemples de théories du premier
ordre
5.1
Théorie de l’égalité
Définition 46 Soit = ∈ R2 , on appelle :
1. axiome de réflexivité de = la formule Ref(=) def
= ∀x (x = x)
2. axiome de symétrie de = la formule Sym(=) def
= ∀x, y (x = y) → (y = x)
3. axiome de transitivité de = la formule : Trs(=) def
= ∀x, y, z (x = y) ∧ (y = z) → (x = z)
et théorie de l’équivalence de =, la théorie Eq(=) def
= {Ref(=), Sym(=), Trs(=)}. On appelle
théorie de l’égalité de =, la théorie Eg(=) contenant Eq(=) et :
1. pour tout n > 0 et tout symbole fonctionnel f ∈ F n , la formule :
Eg(=, f ) def
= ∀x1 , . . . , xn , y1 , . . . , yn
^
n
xi = y i
i=1
→ f (x1 , . . . , xn ) = f (y1 , . . . , yn )
!
2. pour tout n > 0 et tout symbole relationnel R ∈ R n distinct de = , la formule :
def
Eg(=, R) = ∀x1 , . . . , xn , y1 , . . . , yn
^
n
xi = y i
i=1
→ R(x1 , . . . , xn ) → R(y1 , . . . , yn )
On notera F 6= F 0 la formule ¬(F = F 0 ).
On peut remplacer les axiomes de Eg(=) par les règles :
Γ ` (M = M )
5.2
ri=
et
Γ ` A[x M ]
Γ ` (M = M 0 )
re=
Γ ` A[x M 0 ]
Théorie des groupes
Définition 47 Soit = ∈ R2 ,
−1
∈ F1 , * ∈ F2 et e ∈ F0 , on appelle :
63
!
5.3. THÉORIES ARITHMÉTIQUES
CHAPITRE 5. EXEMPLES DE THÉORIES
1. axiome d’associativité de * la formule Ass(*) def
= ∀x, y, z (x * y) * z = x * (y * z)
2. axiome de neutralité de e pour * la formule : Ntr(*, e) def
= (e * x) = x ∧ (x * e) = x
3. axiome d’inversion pour * la formule :
Inv(*) def
= ∀x (x * x−1 = e) ∧ (x−1 * x = e)
et théorie des groupes de * (avec = comme symbole d’égalité et e comme symbole d’élément
neutre), la théorie Grp(*) def
= Eg(=)t{Ass(*), Ntr(*, e), Inv(*)}. La théorie des groupes abéliens
de * est la théorie Ab(*) dont les axiomes sont ceux de Grp(*, =) auxquels on a adjoint l’axiome
Com(*) def
= ∀x, y (x * y = y * x).
Soient G un ensemble, et v une interprétation de Grp(*) dans G ; soient ? = v(*) et e = v(e).
Il est clair que v est un modèle de Grp(*) ssi (G, ?) est un groupe dont l’élément neutre est e et on
a le théorème formel : « dans un groupe, l’inverse à droite de tout élément est unique » dont voici
une démonstration sans trop rentrer dans les détails :
(1) Grp(*) ` ∀x, y (x * y = e) → (y = x−1 ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i ∀ (2)
(2) Grp(*) ` ∀y (x * y = e) → (y = x−1 ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i ∀ (3)
(3) Grp(*) ` (x * y = e) → (y = x−1 ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i → (4)
(4) Grp(*), (x * y = e) ` y = x−1 . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . calcul (5)
(5) Grp(*), x−1 * (x * y) = (x−1 * e) ` y = x−1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ntr(*) (6)
(6) Grp(*), x−1 * (x * y) = x−1 ` y = x−1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ass(*) (7)
(7) Grp(*), (x−1 * (x) * y = x−1 ` y = x−1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Inv(*) (8)
(8) Grp(*), e * y = x−1 ` y = x−1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ntr(*, e) (9)
(9) Grp(*), y = x−1 ` y = x−1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ax
5.3
5.3.1
Théories arithmétiques
Axiomes
Définition 48 Soit L un langage du premier ordre comportant le symbole de constante 0, le
symbole fonctionnel unaire préfixe s, les symboles fonctionnels binaires infixes + et ×, le symbole
relationnel binaire infixe =. On appelle théorie arithmétique élémentaire la théorie Ar dont
les axiomes contiennent Eg(=) et les formules :
Ar1 ∀x (s(x)
6= 0)
Ar2 ∀x (x = 0) ∨ ∃y (x = s(y))
Ar3 ∀x, y s(x) = s(y) → (x = y)
Ar4
Ar5
Ar6
Ar7
∀x (x + 0) = x
∀x, y x + s(y) = s(x + y)
∀x (x × 0) = 0
∀x, y x × s(y) = (x × y) + x
On notera x ≤ y la formule ∃z (x + z = y) et x < y la formule (x ≤ y) ∧ (x 6= y). Soit F une
sur F , la formule :
formule, on appelle axiome de récurrence de
!
def ¯
F [x 0] ∧ ∀y F [x y] → F [x s(y)]
→ (∀z F )
(5.1)
Rec(F ) = ∀
64
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
CHAPITRE 5. EXEMPLES DE THÉORIES
5.4. THÉORIE ZF
def
et schéma d’axiomes de récurrence de
la famille Rec = {Rec(F ) : F ∈ L}. La
théorie arithmétique de
est la théorie PA def
= Ar ∪ Rec. On appelle arithmétique de
def
la sous-théorie Pres = Eg(=) ∪ {Ar1 , . . . , Ar5 } de Ar.
Exemple 26 Soit F def
= x + t = 0, comme les deux variables x et t sont libres dans F , la clôture
universelle nécessaire pour former l’axiome de récurrence associé à F s’obtient en préfixant la
formule définie par (5.1) par ∀x, t de telle sorte que :
Rec(F ) = ∀x, t
(0 + t = 0) ∧ ∀y (x + y = 0) → (x + s(y) = 0))
→ (∀z F )
!
On pourrait remplacer Rec par la règle :
Γ ` F [x 0]
5.3.2
Γ ` ∀y F [y] → F [s(y)]
Γ ` (∀x F )
rec
Propriétés arithmétiques
Théorème 17 La théorie PA est satisfaisable.
Démonstration: On peut interpréter PA dans N.
Définition 49 Le modèle standard de PA est N.
Théorème 18 Les modèles de Ar sont infinis.
Démonstration: Soit v une interprétation de Ar dans X, alors Ar3 implique que v est injective et Ar1 ,
qu’elle est surjective donc X est infini.
Théorème 19 Dans PA, Ar2 est redondant.
Démonstration: cf.. [DNR01, p. 105].
5.4
5.4.1
Théorie formelle des ensembles
Introduction
La théorie formelle des ensembles permet de définir syntaxiquement ce qu’est un ensemble.
Les mathématiques usuelles sont construites à partir de ces axiomes et on peut représenter tous
les objets habituels (fonctions, nombres, etc) par des ensembles de la même façon qu’on peut
représenter avec des 0 et des 1 tous les objets que manipulent les ordinateurs.
On suppose que L un langage du premier ordre contenant les symboles relationnels
binaires
infixes = et ∈, on définit M1 ⊆ M2 comme étant la formule ∀x (x ∈ M1 ) → (x ∈ M2 ) .
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
65
5.4. THÉORIE ZF
5.4.2
Théorie de
CHAPITRE 5. EXEMPLES DE THÉORIES
Cette théorie est la plus communément admise pour fonder les mathématiques et est constituée
d’un certain nombre d’axiomes que voici.
Définition 50 La formule suivante exprime le fait que les ensembles x et y sont égaux ssi ils ont
mêmes élements :
def
Ext(x, y) =
∀z (z ∈ x) ↔ (z ∈ y) → (x = y)
On appelle axiome d’extensionnalité, la formule : Ext def
= ∀x, y Ext(x, y).
, 1908) La formule Pair(x, y, z) exprime le fait que si x et y sont deux
Définition 51 (
ensembles, l’ensemble z est un ensemble ne contenant comme éléments que x et y :
Pair(x, y, z) def
= ∀t (t ∈ z) ↔ (t = x) ∨ (t = y)
On notera s ∈ {x, y} la formule ∃z (s ∈ z) ∧ Pair(x, y, z) et s ∈ {x}, la formule s ∈ {x, x}. On
appelle axiome de la paire, la formule Pair def
= ∀x, y ∃zPair(x, y, z). On définit également le couple
(x, y) comme étant x, {x, y} .
Définition 52 (
les éléments t de x :
, 1899) La formule Uni(x, y) exprime le fait que y est l’union de tous
def
Uni(x, y) = ∀z (z ∈ y) ↔ ∃t (t ∈ x) ∧ (z ∈ t)
S
On notera s ∈ x pour ∃y (s ∈ y) ∧ Uni(x, y) On appelle axiome de la réunion, la formule
Uni def
= ∀x ∃y Uni(x, y).
Définition 53 La formule Part(x, y) exprime le fait que y est l’ensemble des parties de x :
Part(x, y) def
= ∀z ((z ∈ y) ↔ (z ⊆ x))
On notera s ∈ P(x) la formule ∃y (s ∈ y)∧Part(x, y) . On appelle axiome des parties, la formule
Part def
= ∀x ∃y Part(x, y).
On reprend formellement dans ZF la Définition 3, p. 30 d’une relation fonctionnelle.
Définition 54 On exprime le fait qu’une variable 1 représente une relation fonctionnelle (resp.
une relation fonctionnelle de a dans b) par la formule : Fonc(f) def
= IsRel(f) ∧ IsFonc(f) (resp.
Fonc(f, a, b) def
= IsRel(f, a, b) ∧ IsFonc(f)) où :
IsRel(f) def
= ∀z (z ∈ f) → ∃x, y z = (x, y)
IsRel(f, a, b) def
= ∀z (z ∈ f) → ∃x, y z = (x, y) ∧ (x ∈ a) ∧ (y ∈ a)
IsFunc(f) def
= ∀x, y, y0 (x, y) ∈ f ∧ (x, y0 ) ∈ f → (y = y0 )
Dans ce cas, on note y = f(x) pour ∃z (z ∈ f) ∧ z = (x, y) .
1
66
Attention : en théorie des ensembles, f est une variable, pas un symbole fonctionnel.
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
CHAPITRE 5. EXEMPLES DE THÉORIES
5.4. THÉORIE ZF
Définition 55 ( , 1922 et
, 1923) On exprime le fait qu’une formule représente
une relation fonctionnelle sur a et b par la formule Fonc(F, a, b) def
= IsRel(F ) ∧ IsFonc(F, a, b) où
¯ (y ∈ b) ↔ ∃z (z ∈ a) ∧ F [z, y]
IsRel(F, a, b) def
=∀
¯ (F [x, y] ∧ F [x, y0 ]) → (y = y0 )
IsFunc def
=∀
Dans ce cas, on note s ∈ {y : x ∈ a | F [x, y]} pour ∃b (s ∈ b) ∧ Func(F, a, b) que l’on peut aussi
écrire s ∈ {f(x) : x ∈ a} au lieu de :
∃b (s ∈ b) ∧ Fonc(F, a, b) ∧ Fonc(f, a, b) ∧ ∀x, y (F [x, y] ↔ (x, y) ∈ f)
On appelle axiome de remplacement associé à F , la formule :
Remp(F ) def
= IsFunc(F ) → ∀a ∃b IsRel(F, a, b)
exprimant que si F représente une fonction, l’ensemble des images d’un ensemble par cette fonction
existe. On appelle schéma de remplacement l’ensemble Remp def
= {Remp(F ) : F ∈ L}.
Définition 56 On exprime le fait que l’ensemble b est une partie, décrite « en compréhension »
avec F [x], d’un ensemble a, par la formule :
¯ x ∈ b ↔ (x ∈ a) ∧ F [x]
Comp(F, a, b) def
=∀
Dans ce cas, on note s ∈ {x ∈ a | F [x]} pour ∃b (s ∈ b) ∧ Comp(F, a, b) . L’axiome de
compréhension assicié à F est la formule Comp(F ) def
= ∀a ∃b Comp(F, a, b). On appelle schéma
de compréhension l’ensemble Comp def
= {Comp(F ) : F ∈ L}.
On peut remarquer plusieurs choses importantes :
1. L’ensemble noté b = {x ∈ a | F [x]} issu du schéma de compréhension est construit comme
sous-ensemble d’un ensemble a, contrairement au schéma de compréhension qu’avait donné
Frege qui permettent de définir b = {x | F [x]} grâce à l’axiome obtenu par clôture universelle
de ∃b∀x(x ∈ b ↔ F [x]). Le schéma d’axiomes de Frege donne lieu à une théorie incohérente
comme le montre le paradoxe de Russel.
2. Le schéma de compréhension, appliqué à la formule F = ⊥ implique qu’il existe un ensemble
vide, noté ∅ :
/b
Comp(⊥) = ∀a ∃b ∀x x ∈ b ↔ (x ∈ a) ∧ ⊥ ⇔ ∃b ∀x x ∈
3. Le schéma de compréhension, appliqué à la formule F = (x ∈ c) implique que l’intersection
de tout ensemble a avec c existe. En effet, soit
Inter(a, b, c) def
= ∀x x ∈ b ↔ (x ∈ a) ∧ (x ∈ c)
on a bien Comp(x
∈ c) = ∀a ∃b Inter(a, b, c). On note alors s ∈ a ∩ c pour ∃b (s ∈ b ∧
Inter(a, b, c) .
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
67
5.4. THÉORIE ZF
CHAPITRE 5. EXEMPLES DE THÉORIES
4. Le schéma de compréhension, appliqué à la formule F def
= (x ∈
/ x), permet
de montrer qu’il n’y
a pas d’ensemble de tous les ensembles, i.e. Comp ` ¬ ∃s ∀t (t ∈ s) . En effet, on a :
Comp(x ∈
/ x) = ∀a ∃b ∀x x ∈ b ↔ (x ∈ a) ∧ (x ∈
/ x)
En appliquant ri⊥ , puis li∃ , on se ramène à montrer Comp(x ∈
/ x), ∀t(t ∈ s) ` ⊥. En appliquant
à Comp(x ∈
/ x), la règle li ∀ avec (a s), un affaiblissant, puis li ∃ , d’une part et la règle li ∀
avec
/
(y b) à ∀t(t ∈ s), d’autre part, on se ramène à prouver : (b ∈ b) ↔ (b ∈ s) ∧ (b ∈
b) , (b ∈ s) ` ⊥, d’où l’on déduit(b ∈ b) ↔ (b ∈
/ b) ` ⊥, puis ⊥ ` ⊥.
5. On peut se passer du symbole = en
le redéfinissant à partir de ∈ par le fait que x = y est
synonyme de ∀z (z ∈ x) ↔ (z ∈ y) et en remplaçant Ext par :
∀x, y (x = y) → ∀z (x ∈ z) ↔ (y ∈ z)
Définition 57 On exprime le domaine de la fonction f avec la formule
SS
SS
Dom(f) def
= {x ∈
f | ∃y (x, y) ∈ f} et Im(f) def
= {y ∈
f | ∃x (x, y) ∈ f}
, 1908) On appelle axiome de l’infini la formule exprimant le fait
Définition 58 (
qu’il existe un ensemble infini2 :
def
Inf = ∃x (∅ ∈ x) ∧ ∀y (y ∈ x) → (y ∪ {y} ∈ x)
On définit le successeur d’un ensemble x comme étant l’ensemble x∪{x}. On notera 0 l’ensemble ∅,
1 le successeur de 0, 2 le successeur de 1, etc.
Définition 59 On appelle Théorie de
la théorie Z def
= {Ext, Pair, Uni, Part, Inf, Comp}
et Théorie de Zermelo-Fraenkel la théorie : ZF def
= {Ext, Pair, Uni, Part, Inf, Remp}.
Théorème 20 La théorie Z est strictement plus faible que la théorie ZF.
Démonstration: Soit a un ensemble et F [x] une formule, en appliquant le schéma de remplacement à la
formule G[x, z] def
= (x = z) ∧ F [x], l’ensemble b = {x ∈ a | F [x]} est l’image de a par G. Cela prouve que
l’axiome de remplacement est plus fort que celui de compréhension. La réciproque, est plus difficile.
Définition 60 On appelle axiome de fondation l’axiome exprimant qu’il n’existe pas de suite
strictement décroissante pour la relation d’appartenance :
def
AF = ∀x (x 6= ∅) → ∃y (y ∈ x) ∧ (y ∩ x) = ∅
On peut prouver :
Théorème 21 AF est indépendante de ZF.
2
On remplace souvent cet axiome par un autre, plus difficile à exprimer mais à l’utilisation plus aisée, exprimant
qu’il existe un ordinal infini.
68
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
CHAPITRE 5. EXEMPLES DE THÉORIES
5.4.3
5.5. THÉORÈMES D’INCOMPLÉTUDE
L’Axiome du choix et l’Hypothèse du continu
Introduction
L’Axiome du choix AC et l’Hypothèse du continu CH sont deux hypothèses usuellement acceptées par la communauté mathématique mais la preuve de leur indépendance de ZF a été difficile
à établir, comme on l’a vu dans la Section 1.2.5, p. 26.
L’axiome du choix
Définition 61 Une des façons d’énoncer l’axiome du choix est de dire que, pour toute partie R
de a×b, si les sections de R sont non-vides, alors R contient le graphe d’une fonction de domaine a :
def
AC = ∀a, b, R R ⊆ a × b ∧ ∀x ∈ a, ∃y ∈ b | (x, y) ∈ R →
∃f Func(f) ∧ Dom(f) = a ∧ ∀x ∈ a, (x, f(x)) ∈ R
L’hypothèse du continu
Ayant prouvé, en 1874, que |P(N)| > |N| Cantor fit la conjecture, en 1878, que |P(N)| est le
plus petit cardinal strictement supérieur à |N|. Cette conjecture fut baptisée hypothèse du continû
(CH, continuum hypothesis) car il avait baptisé le cardinal |P(N)| = |R|, la puissance du continû.
Cette hypothèse peut être généralisée (GCH, generalized continuum hypothesis) à tout ensemble,
en posant que pour tout cardinal |E|, le plus petit cardinal strictement supérieur à |E| est |P(E)|.
Définition 62 On appelle hypothèse du continu l’axiome CH exprimant qu’il n’existe pas de
cardinal entre |N| et |P(N)|. Si l’on écrit a b comme abréviation
de « il existe une fonction
injective de a dans b » et a ≺ b comme (a b) ∧ ¬(b a) . Soit N une variable s’interprétant
comme les entiers naturels, on peut définir :
CH def
= ∀a (a N) ∨ (P(N) a)
Théorème 22 CH est indépendant de ZF.
Démonstration: Voir Gödel (1940), pour ZF 0 (¬CH) et Cohen (1963) pour ZF 0 CH.
5.5
5.5.1
Théorèmes d’incomplétude de
Introduction
Dans son deuxième mémoire, publié en 1931, sous le titre Über formal unentscheidbare Sätze
der Principia mathematica und verwandter Systeme I, G ödel démontre deux résultats fondamentaux qui firent l’effet d’un « tremblement de terre » puisqu’ils montrent qu’il existe des
problèmes formalisés en logique mathématique qui ne peuvent pas être résolus. Pire, ce phénomène
d’indécidabilité apparaı̂t au cœur de tout l’édifice mathématique, c’est-à-dire dans l’arithmétique
des nombres entiers. La communauté scientifique s’est heureusement remise de ce traumatisme en
s’orientant vers un objectif alternatif consistant à préciser ce que signifie que « résoudre un problème
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
69
5.5. THÉORÈMES D’INCOMPLÉTUDE
CHAPITRE 5. EXEMPLES DE THÉORIES
mathématique ». Cela a donné lieu à de fructueuses recherches sur les fonctions récursives, les machines de Turing, le λ-calcul, les démonstrations automatiques, etc. G ödel lui-même développe,
en 1934, une suggestion de Jacques Herbrand qui permit de définir précisément ce qu’était une
fonction arithmétique formellement calculable.
5.5.2
Théorème d’indécidabilité de
de l’arithmétique élémentaire
On ne sera pas trop précis dans cette partie afin de rendre la lecture plus facile mais toutes
les notions dont il est question peuvent être parfaitement formalisées. Nous avons vu dans la
Définition 15, p. 36, la définition d’un langage décidable.
Soit T une théorie et F une formule, on note T ` F le problème consistant à déterminer si
F ` F est décidable.
Théorème 23 Le problème n-SAT consistant à décider si un formule propositionnelle à n variables
est démontrable est décidable.
Démonstration: D’après le théorème de complétude, une formule propositionnelle est démontrable ssi c’est
une tautologie. La formule ayant n variables, il suffit de tester les 2n valuations possibles.
Définition 63 Une théorie T est :
1. décidable ssi, pour toute formule F , T ` F est décidable ;
2. récursive ssi, pour toute formule F , F ∈ T est décidable.
Théorème 24 Toute théorie récursive sur un langage au plus dénombrable est semi-décidable. Si,
en outre, la théorie est complète, alors elle est décidable.
Démonstration: Étant donné une formule, il suffit d’énumérer tous les mots possibles de L et de reconnaı̂tre
parmi eux les axiomes de T comme elle est récursive, puis de fabriquer tous les arbres de déduction de preuves
possibles de F . Si T ` F est prouvable, à la question « est-ce que T ` F est prouvable », l’algorithme
précédent finira par trouver une preuve en temps fini et répondra true, ce qui prouve la semi-décidabilité. Si
T ` F n’est pas prouvable et que T est complète, alors T ` (¬F ) est prouvable et l’algorithme précédent
finira par trouver une preuve en temps fini de ce séquent et répondra false, ce qui prouve la décidabilité.
Théorème 25 L’arithmétique de Presburger Pres est décidable.
Démonstration: cf. [DNR01, p. 128–130].
5.5.3
Premier Théorème d’incomplétude de
En codant les axiomes et les théorèmes sous la forme d’entiers (le codage de G ödel, et en
exploitant un argument diagonal de Cantor, G ödel a montré :
Théorème 26 (Théorème d’indécidabilité de l’arithmétique de
) Si une théorie est
satisfaisable et contient l’arithmétique élémentaire Ar, alors elle est indécidable.
Corollaire 1 L’arithmétique de Peano PA et la théorie ZF des ensembles de Zermelo-Fraenkel
est indécidable.
70
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
CHAPITRE 5. EXEMPLES DE THÉORIES
5.5. THÉORÈMES D’INCOMPLÉTUDE
Théorème 27 (Premier Théorème d’incomplétude de
) Si une théorie est satisfaisable, récursive et contient Ar, alors elle est incomplète.
Démonstration: Soit T une théorie satisfaisable et récursive. La contraposée du Théorème 24 implique que
T ne peut être simultanément récursive et complète. Comme elle est récursive, elle doit être incomplète.
Corollaire 2 L’arithmétique de Peano PA est incomplète et il en est de même de la théorie des
ensembles ZF si celle-ci est satisfaisable (ce qui est conjecturé).
5.5.4
Second Théorème d’incomplétude de
Gödel a montré que la satisfaisabilité n’est pas prouvable dans une théorie raisonnablement
riche :
Théorème 28 (Second Théorème d’incomplétude de
) Si une théorie T est récursive
et satisfaisable, et contient Ar, alors il existe une formule F exprimant le fait que T est satisfaisable
et telle que T 0 F .
5.5.5
Suites de
Les énoncés d’indécidabilité ou d’incomplétude peuvent paraı̂tre un
peu abstraits. Nous présentons ici un résultat concret et surprenant, dû à
Reuben Goodstein (1912–1985) qui en est une illustration. Une suite
de nombres, définissable dans l’arithmétique de Peano PA converge
vers 0 (on le démontre en plongeant PA dans ZF) mais il est impossible
de le démontrer avec PA. Tout entier n, l’écriture de n en base b est
la formule
n = a k1 b k1 + · · · + a kr b kr ,
avec
0 < aki < b et k1 < · · · < kr .
L’écriture de n en base héréditaire b est la formule dans laquelle
chaque exposant du coefficient en base b est récursivement décomposé
en base b. Par exemple :
Fig. 5.1 – Source [McT]
266 = 28 + 23 + 2 = 22
2+1
+ 22+1 + 2 .
Reuben Goodstein
(1912–1985)
On note B[b](n) l’entier obtenu en substituant b par b + 1 dans l’écriture
en base b héréditaire de n ; par exemple :
B[2](266) = 33
3+1
+ 33+1 + 3 .
Définition 64 Soit m un entier et (un )n∈N la suite définie par : u1 = m et un+1 = B[n+1](un )−1
associée à m qu’on note (u(m) n )n∈N .
s’appelle la suite de
Contre toute attente, alors qu’on a l’impression que cette suite croı̂t extrêmement vite, on
montre que cette suite est ultimement nulle :
Théorème 29 (Théorème de
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
) ZF ` ∀m ∃n u(m) n = 0.
71
5.5. THÉORÈMES D’INCOMPLÉTUDE
CHAPITRE 5. EXEMPLES DE THÉORIES
La preuve exploite une correspondance entre l’écriture en base b héréditaire et des ordinaux et
que le passage de un à un+1 fait décroı̂tre l’ordinal correspondant ; comme les ordinaux sont bien
ordonnées, la suite finit par tendre vers 0. Il est possible de formaliser cette suite et la propriété F
d’être ultimement nulle dans PA mais on a :
Théorème 30 PA 0 F .
Une façon un peu intuitive
de se convaincre de ce résultat est que la suite converge trop lentement. Par exemple u(4) n∈N atteint la valeur 0 pour k = 3 · (2402653211 − 1) ' 10121210695 et
que pour qu’on puisse prouver un résultat du genre « pour tout n, il existe k tel que P (n, k) »
où P (n, k) est un prédicat binaire, il faut qu’on dispose d’une fonction
de choix f pour laquelle on
puisse prouver que f est calculable et que « pour tout n, P n, f (n) ». Le problème, c’est que f (n)
croı̂t trop vite pour être prouvée calculable dans PA [Smo80].
72
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
Chapitre 6
Effectivité
6.1
Introduction
Le Théorème d’indécidabilité de G ödel montre qu’il n’existe pas d’algorithme permettant de
décider, en toute généralité, si un séquent est démontrable. Tout au mieux pourra-t-on disposer
d’un algorithme de semi-décision qui trouvera une preuve si le séquent est démontrable et, si ce
n’est pas le cas, soit répondra qu’une telle preuve n’existe pas, soit ne terminera pas.
Deux méthodes principales sont utilisées dans les logiciels : l’une est syntaxique et consiste à
trouver des stratégies intelligentes pour trouver des preuves, l’autre est sémantique et permet de
prouver des contradictions qui éviteront de chercher dans la mauvaise direction.
Nous nous concentrerons sur une méthode sémantique très utilisée : la méthode de Herbrand.
Elle permet de montrer qu’une formule est satisfaisable (donc prouvable d’après le Théorème de
complétude), si l’on réussit à mettre en évidence une incompatibilité entre des clauses qu’on aura
déduites de cette formule après un certain nombre de transformations.
6.2
6.2.1
Test de satisfaisabilité de
Skolemisation
Lorsqu’on exprime que la limite d’une suite (u n )n∈N est l, on écrit :
∀ε > 0 ∃n > 0 ∀p ≥ n |up − l| < ε .
Une autre façon de le dire est qu’on a une fonction ε 7−→ n(ε) qui vérifie que pour tout p ≥ n(ε),
on a |up − l| < ε. En d’autres termes, on peut remplacer les « pour tout a il existe b » par une
fonction exprimant le fait que b dépend de a, ce qu’on note souvent b(a). La skolemisation est une
formalisation de ce mécanisme.
Définition 65 Soit L un langage du premier ordre, F = q 1 x1 · · · qn xn G une formule prénexe et
soient E = {i1 , . . . , im } l’ensemble des indices i tels que q i = ∃, avec i1 < · · · < im , et U =
{j1 , . . . , jr } l’ensemble des indices j tels que q j = ∀, avec j1 < · · · < jr . On appelle extension
du langage L associée à F un langage L (F ) def
de
= L t {f1 , . . . , fm } où f1 , . . . , fm
Sko
associées à F tels que
sont des symboles fonctionnels dits symboles fonctionnels de
l’arité de fl est le nombre al de ∀ situés à gauche de qil , dans le préfixe de F . On appelle forme
73
6.2. TEST DE SATISFAISABILITÉ DE HERBRAND
CHAPITRE 6. EFFECTIVIT É
de
de F la formule FSko de LSko (F ) obtenue en enlevant tous les symboles ∃ de F et en
remplaçant dans F toutes les occurences des variables x il par le terme Ml = fil (xj1 , . . . , xjal ).
Exemple 27 Soit L un langage du premier ordre possédant un symbole de fonction unaire f et un
symbole de relation binaire R et
F = ∃x1 ∀y1 ∀y2 ∃x2 R x1 , f (y1 ) ∧ R f (y2 ), x1 → R(x1 , x2 )
On a q1 = ∃, q2 = ∀, q3 = ∀ et q4 = ∃ donc E = {i1 , i2 } = {1, 4}, U = {j1 , j2 } = {2, 3}, a1 = 0
et a2 = 2. L’extension de Skolem de L associée à F est un langage L Sko (F ) = L ∪ {f1 , f2 } où
les symboles fonctionnels de Skolem sont f 1 , d’arité a1 = 0, (c’est-à-dire une constante) et f 2 ,
d’arité a2 = 2. La forme de Skolem de F est :
FSko = ∀y1 ∀y2 R f1 , f (y1 ) ∧ R f (y2 ), f1 → R(f1 , f2 (y1 , y2 )
Les objets dont il est question ne sont pas uniques car il suffirait de changer les symboles choisis
par d’autre mais les propriétés seraient les mêmes, c’est pourquoi on parle de la forme de Skolem,
plutôt que d’une forme de Skolem. Il est clair, par ailleurs, que F et F Sko ont les même variables
d’élimination du quantificateur existentiel :
libres. On a la règle de
Γ ` ∃x A
reSko
Γ ` A[x f (y1 , . . . , yn )] ∃
où {y1 , . . . , yn } sont les variables libres autres que x de A et f est un nouveau symbole fonctionnel.
Lemme 2 Soit F une formule close prénexe de L, alors la formule F Sko → F du langage L est un
théorème, donc, d’après le Théorème de complétude, ` (F Sko → F ).
Démonstration: cf. [DNR01, p. 85].
Lemme 3 Soit F une formule close prénexe de L, et v une interprétation de L qui satisfasse F ,
alors il existe un prolongement de v à L Sko (F ) qui satisfasse FSko .
Démonstration: cf. [DNR01, p. 85–86].
Corollaire 3 On a les deux propositions équivalentes :
1. une formule close prénexe admet un modèle ssi sa forme de Skolem admet un modèle ;
2. une formule close prénexe admet un modèle ssi la forme de Skolem de sa négation n’admet
pas de modèle.
Exemple 28 Soit F def
= ∃x
∀y R(x) → R(y) alors une forme de Skolem de (¬F ) est la formule
G def
= ∀x R(x) ∧ ¬R(f (x)) . Soient v une interprétation de L à valeurs dans X et x ∈ X. Si v G,
alors v R(f (x)) et v ¬R(f (x)), ce qui est impossible, ce qui prouve que G n’est pas satisfaisable
et, par conséquent, que F est satisfaisable.
On déduit aisément le théorème qui se trouve à la base de la méthode de Herbrand : pour
prouver que F est satisfaisable, on se ramène à prouver que des clauses ne le sont pas :
Théorème 31 Soit F une formule et ∀x 1 , . . . xn C1 ∧ · · · ∧ Cr , une forme prénexe conjonctive
de (¬F )Sko , alors F a un modèle ssi il existe un sous-ensemble des C i qui ont un modèle commun.
Pour trouver un tel sous-ensemble, on utilise la résolution dont il est sera question dès que nous
aurons introduit l’algorithme d’unification dont on se sert pour la réaliser.
74
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
CHAPITRE 6. EFFECTIVITÉ
6.2.2
6.2. TEST DE SATISFAISABILITÉ DE HERBRAND
Unification
Le principe de l’unification est de trouver une substitution permettant de rendre deux termes
égaux. On étend naturellement cela aux formules où apparaissent ces termes.
Soit σ une subsitution (c’est-à-dire une fonction qui à toute variable associe un terme), et M
un terme, on rappelle qu’on note M [σ] le terme σ(M ). Par exemple la substitution x a se note
M [x a].
Définition 66 Deux termes M et M 0 sont unifiables ssi il existe une subsitution σ, appelée
unificateur de M1 et M2 telle que M [σ] = M 0 [σ]. On dit que M est plus fin que M 0 ssi il existe
une substitution σ telle que M [σ] = M 0 . On dit que l’unificateur σ est plus général qu’un autre σ 0
ssi il existe une substitution σ 00 telle que σ 0 = σ 00 ◦ σ.
Exemple 29 Soit M = f (x, x, y) et M 0 = f f (y, y, z), f (y, y, z), a sont unifiables car la substitu
tion σ définie par x f (a, a, z) et y a appliquée aux deux termes donne f f (a, a, z), f (a, a, z), a .
= (z b) peut être composée avec σ pour former un autre unificateur σ 0 def
= σ 00 ◦σ, moins
Soit σ 00 def
0
général que σ, dont l’application aux termes M et M donne le terme f f (a, a, b), f (a, a, b), a .
Exemple 30 Le terme M = f x, g(y, z) est plus fin que le terme M 0 = f f (x, a), g y, f (a, b) car
la substitution car la substitution σ définie par x f (x, a) et z f (a, b) appliquée à M donne M 0 .
Théorème 32 Soient M et M 0 deux termes du premier ordre unifiables. Il existe un unificateur
le plus général de M et M 0 et on le note mgu(M, M 0 ) (pour most general unifier).
Exemple 31 Avec les notations de l’Exemple 29, le calcul de mgu(E) avec E = {(M, M 0 )} se
déroule ainsi :
1. E = f (x, x, y), f f (y, y, z), f (y, y, z), a , σ = Id ;
2. E ← x, f (y, y, z) , x, f (y, y, z) , (y, a) ;
3. E ← f (y, y, z), f (y, y, z) , (y, a) ; σ ← x f (y, y, z)
4. E ← (y, y), (z, z), (y, a) ;
5. E ← (z, z), (y, a) ;
6. E ← (y, a) ;
7. E ← ∅ ; σ ← y a ◦ x f (y, y, z) .
Donc M et M 0 sont unifiables et leur unificateur le plus général est mgu(M, M 0 ) = σ.
0
0
Exemple 32 Le calcul
de mgu(E) avec E = {(M, M )} où l’on a pris M = f (x, x, y) et M =
f f (y, y, z), f (y, x, z), a se déroule ainsi :
1. E = f (x, x, y), f f (y, y, z), f (y, x, z), a , σ = Id ;
2. E ← x, f (y, y, z) , x, f (y, x, z) , (y, a) ;
3. E ← f (y, y, z), f y, f (y, y, z) , (y, a) ; σ ← x f (y, y, z) ;
4. E ← (y, y), y, f (y, y, z) , (z, z), (y, a) ;
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
75
6.2. TEST DE SATISFAISABILITÉ DE HERBRAND
CHAPITRE 6. EFFECTIVIT É
Algorithme 3 Algorithme trouvant l’unificateur le plus général
Nom : mgu
Entrée : Un ensemble E ← {(M1 , M10 ), . . . , (Mn , Mn0 )} de couples de termes
Sortie : Une substitution σ telle que M 1 [σ] = M10 [σ], . . . , Mn [σ] = Mn0 [σ] si elle existe
sinon, annoncer un échec de type clash ou occur-check (on lève une exception).
// Initialisation
σ ← Id ;
while E 6= ∅ do (a) if E = E 0 t f (M1 , . . . , Mq ), g(M10 , . . . , Mr0 ) où 1 ≤ q, r ≤ n then
if f = g and q = r then
E ← E 0 t {(M1 , M10 ), . . . , (Mq , Mq0 )} ;
sinon
raise clash ;
end if
end if
(b) if E = E 0 t {(x, x)} then
E ← E0 ;
end if
(c) if (E = E 0 t {(x, M )} or E = E 0 t {(M, x)}) et M 6= x then
if x n’apparaı̂t pas dans M then
σ 0 ← (x M ) ; E ← E[σ] ; σ ← σ 0 ◦ σ ;
else
raise occur-check ;
end if
end if
end while
return σ
76
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
CHAPITRE 6. EFFECTIVITÉ
6.2. TEST DE SATISFAISABILITÉ DE HERBRAND
5. E ← y, f (y, y, z) , (z, z), (y, a) ;
6. occur-check.
Donc M1 et M2 ne sont pas unifiables.
0
0
Exemple 33 Le calcul
de mgu(E) avec E = {(M, M )} où l’on a pris M = f (x, x, y) et M =
f g(y, y, z), f (y, y, z), a se déroule ainsi :
1. E = f (x, x, y), f g(y, y, z), f (y, y, z), a , σ = Id ;
2. E = x, g(y, y, z) , x, f (y, y, z) , (y, a) ;
3. E = f (y, y, z), f (y, y, z) , (y, a) ; σ ← x f (y, y, z)
4. clash.
Donc M1 et M2 ne sont pas unifiables.
Proposition 17 L’Algorithme 3 termine toujours.
Démonstration: D’abord, on peut remarquer que, à chaque passage dans la boucle while, soit E = ∅, soit
on est dans l’un des cas (a), (b), (c).Soit f (E) = (uE , vE , |E|) où, uE (resp. vE ) est le nombre de symboles
de fonctions (resp. de variables) de E alors, lors d’un passage dans la boucle while, s’il n’y a pas d’échec :
(a) vE et |E| restent inchangés et uE décroı̂t strictement ;
(b) vE décroı̂t, uE reste inchangé et |E| décroı̂t strictement ;
(c) vE décroı̂t strictement et uE et |E| restent inchangés.
Par conséquent, f (E) est une fonction strictement décroissante pour l’ordre lexicographique sur N 3 qui est
bien ordonné. L’algorithme termine donc toujours.
Théorème 33 L’Algorithme 3 calcule l’unificateur le plus général, s’il existe et retourne un échec
s’il n’existe pas.
Démonstration: Notons El la valeur de E (resp. σl la valeur de σ) à la sortie du n-ième passage dans la
boucle. On notera maintenant E = E0 et σ l’unificateur le plus général de E (s’il existe).
Soit la propriété Hl : « il existe un unificateur σ de E ssi il existe un unificateur σ 0 de El tel que
σ = σ 0 ◦ σl ».
Si, pour tout n, on a Hl , alors on a le théorème. En effet, soit n la dernière étape de la boucle :
1. si l’algorithme termine avec El = ∅, alors Id unifie trivialement El , donc, par Hl , σ = Id ◦ σl = σl
unifie E. En outre, si σ unifie E, Hl implique qu’il existe σ 0 tel que σ = σ 0 ◦ σl , ce qui prouve que σ
est bien l’unificateur le plus général de E ;
2. si un clash se produit, El contient un couple de termes de la forme f (· · · ), g(· · · ) avec f 6= g. Comme
une substitution ne peut pas transformer les symboles fonctionnels, les termes f (· · · ) et g(· · · ) ne sont
pas unifiables, donc El n’est pas unifiable. La propriété Hl implique que E n’est donc pas unifiable.
3. si un occur − check se produit, El contient un couple de la forme (x, M ) ou (M, x) avec M 6= x et où x
apparaı̂t dans M . La longueur de la chaı̂ne de caractères x est donc inférieure strictement à celle de M
et il en sera de même après toute substitution. L’ensemble El n’est donc pas unifiable et, d’après Hl ,
il en est de même pour E.
Montrons maintenant la proposition Hl par récurrence sur n. La propriété H0 est triviale. Soit L le
nombre de passages dans la boucle avant que le programme ne s’arrête, soit l < L, supposons qu’on a H l , et
montrons qu’on a Hl+1 . Il nous suffit en fait de montrer la proposition Hl0 : « il existe σ 0 tel que σ = σ 0 ◦ σl
et σ 0 unifie El ssi il existe σ 00 tel que σ = σ 00 ◦ σl+1 et σ 00 unifie El+1 ». S’il n’y a pas d’échec, on est dans
l’un des cas suivants :
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
77
6.2. TEST DE SATISFAISABILITÉ DE HERBRAND
El0 t
CHAPITRE 6. EFFECTIVIT É
(a) El =
f (M1 , . . . , Mq ), f (M10 , . . . , Mq0 ) donc El+1 = El0 t {(M1 , M10 ), . . . , (Mq , Mq0 )} et σl+1 =
σl : il est clair que σ 0 unifie El ssi σ 00 unifie El+1 .
(b) El = El0 t {(x, x)} donc El+1 ← El0 et σl+1 = σl et Hl+1 est trivialement déduit ;
(c) El = El0 t {(x, M )} ou El = El0 t {(M, x)}, avec M 6= x et x n’apparaissant pas dans M . Dans ce cas,
on a El+1 = El [x M ], et σl+1 = (x M ) ◦ σl . Regardons les deux sens de l’équivalence dans Hl0 :
– s’il existe σ 00 tel que σ = σ 00 ◦ σl+1 et σ 00 unifie El+1 , alors en prenant σ 0 = σ 00 ◦ (x M ), on
a σ = σ 0 ◦ σl et σ 0 unifie El ;
– s’il existe σ 0 tel que σ = σ 0 ◦ σl et σ 0 unifie El alors x[σ 0 ] = M [σ 0 ]. Soit τ def
= σ 0 ◦ (x M ), on
0
0
0
0
a x[τ ] = x[x M ][σ ] = M [σ ] = x[σ ] et pour tout y 6= x, y[τ ] = y[x M ][σ ] = y[σ] donc
σ 0 = σ 0 ◦ (x M ).
6.2.3
Algorithme de résolution
En reprenant les définitions du calcul propositionnel, on a :
Définition 67 Un littéral est une formule atomique A ou se négation (¬A), on notera A def
= (¬A)
def
et (¬A) = A). Une clause disjonctive est une formule du type (l 1 ∨· · ·∨ln ) où li est un littéral. Elle
est dite réduite ssi chaque li n’apparaı̂t qu’une fois. On note K∨ l’ensemble des clauses disjonctives.
Une forme conjonctive est une conjonction de clauses disjonctives, c’est à dire une formule du
type C1 ∧· · · ∧Cn , où Ci est une clause disjonctive. On note N ∧ l’ensemble des formes conjonctives.
On définit, mutatis mutandis, l’ensemble K ∧ clauses conjonctives et l’ensemble N ∨ des formes
disjonctives. Une forme est réduite ssi chaque clause n’apparaı̂t qu’une fois.
Définition 68 Soient C1 et C2 deux clauses disjonctives et l1 et l2 deux littéraux, tels que les
variables de C1 ∨ l1 soient distinctes des variables de C 2 ∨ l2 . On appelle résolution, la règle de
réécriture :
¯ (C1 ∨ l1 )
¯ (C2 ∨ l2 )
∀
∀
¯ C1 [σ] ∨ C2 [σ] si mgu(l1 , l̄2 ) ou si l1 et ¯l2 ne sont pas unifiables .
∀
Soient C une clauses disjonctives et l 1 et l2 deux littéraux, on appelle contraction, la règle de
réécriture :
¯ (C ∨ l1 ∨ l2 )
∀
contr
¯
∀ C[σ]) ∨ l1 [σ] si mgu(l1 , l2 ) ou si l1 et l2 ne sont pas unifiables
Exemple 34 Soient C1 = T (y), l1 = S a, f (y) , C2 = R(x), l2 = ¬S y, f (x) . On a mgu(l1 , l̄2 ) =
(x a) ◦ (y a), donc, par résolution, on déduit la clause R(a) ∨ T (a).
Théorème 34 Un ensemble de clauses C 1 , . . . , Cl n’admet pas de modèle commun ssi on peut
déduire la clause vide à partir de C 1 , . . . , Cl , en une succession de résolutions et de contractions.
Démonstration: cf. [DNR01, p. 253–254].
= ¬R(z, z)∨R(z, a)
= ¬R(t, f (y))∨(¬R(t, y)) C3 def
= ¬R(x, a)∨R(x, x), C2 def
Exemple 35 Soient C1 def
= R(t, f (y)) ∨ R(t, y), on a :
et C4 def
C3
C4
C1
C2
resol
resol
R f (y), f (a) ∨ R f (y), f (y)
¬R f (y), f (a) ∨ ¬R f (y), y
contr
contr
¬R f (a), f (a)
R f (a), f (a)
resol
En calcul propositionnel, il n’y a pas de contraction car il n’y a pas de subsitution.
78
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
CHAPITRE 6. EFFECTIVITÉ
6.2.4
Test de satisfaisabilité de
6.2. TEST DE SATISFAISABILITÉ DE HERBRAND
Pour résumer la méthode de Herbrand, pour essayer de montrer qu’une formule close F est
satisfaisable :
1. on met G def
= (¬F ) sous forme prénexe ;
2. on met G sous forme de Skolem ;
¯ (C1 ∧ · · · ∧ Cn ) ;
3. on met GSko sous forme prénexe conjonctive G0 def
=∀
4. on utilise le Théorème 34 pour tenter de trouver un sous-ensemble de C 1 , . . . , Cn à partir
duquel une suite finie de résolutions et de contractions donnent la clause vide , ce qui prouve
que ces clauses n’admettent pas de modèle commun.
Si on a montré que F est satisfaisable, le Théorème de complétude nous dit qu’elle est prouvable ;
reste à trouver une preuve. . .
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
79
6.2. TEST DE SATISFAISABILITÉ DE HERBRAND
80
CHAPITRE 6. EFFECTIVIT É
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
Chapitre 7
Conclusion
7.1
Logiques d’ordre supérieur
Nous avons vu la plupart des résultats de base de la logique du premier ordre. Le « premier
ordre » signifie que la quantification n’a lieu que sur les variables. On ne peut donc pas exprimer
des notions comme « pour toute formule F » dans de tels langages. Pour cette raison, il existe des
logiques d’ordre supérieur à 1. De telles logiques sont utilisées par exemple dans la théorie des types
dont on fait usage en programmation fonctionnelle [Pec02].
7.2
7.2.1
Logiques non-classiques
Logiques modales
Il existe également des logiques, dites non-classiques, qui constituent des alternatives intéressantes.
Parmi elles, les logiques modales ajoutent aux opérateurs classiques des opérateurs dits modaux permettant de représenter des situations comme « il est possible que p » ou « il est nécessaire que p ».
7.2.2
Logiques intuitionnistes
La logique intuitionniste
a la même syntaxe que la logique classique mais on n’a pas l’équivalence
entre A ∨ (¬A) et >, de même que ¬(¬A) n’est pas équivalent à A. Le rejet de ces équivalences
provient d’une philosophie constructiviste des preuves. Dans la perspective intuitionniste, le fait
de construire une preuve d’un théorème doit permettre d’exhiber un exemple. C’est un outil très
important dans les logiciels d’aide à la preuve mathématique, dans lesquels l’option « intuitionniste » permet, en prouvant qu’un algorithme est correct, de générer automatiquement un logiciel
qui implémente cet algorithme (on appelle cela de l’extraction).
7.2.3
Logiques multivalentes
On trouve également des logiques, dites multivalentes, dans lesquelles les valeurs de vérité ne se
réduisent pas à true et false. On peut, par exemple, rajouter maybe, voire, dans le cas des logiques
dites floues, exprimer un degré de « croyance » plus ou moins grand (on prend un réel dans [0, 1])
dans une interprétation.
81
7.3. POUR FINIR
7.3
CHAPITRE 7. CONCLUSION
Pour finir
Un physicien, et deux mathématiciens dont un logicien se rendent à un congrès en Écosse. Dans
le train, ils aperçoivent un mouton noir dans un champ. Le physicien dit : « Tiens, c’est drôle,
je ne savais pas qu’en Écosse les moutons étaient noirs. » Le mathématicien rétorque d’un air
condescendant « Tu conclues mal, tu devrais plutôt dire : ”Tiens, en Écosse il y a des moutons
noirs.” » Le logicien corrige aussitôt « Votre raisonnement est mauvais, il faut dire : ”Tiens, en
Écosse il existe un champ dans lequel il existe un mouton dont l’un des côtés au moins est noir.” ». 1
1
82
Illustration tirée du Génie des Alpages, par F’murr.
Lancelot Pecquet, Université Paris XII
Licences d’Informatique et de Mathématiques / Logique
Version du 11 août 2003
Bibliographie
[AU93]
Alfred Aho et Jeffrey Ullman. Concepts fondamentaux de l’Informatique. 2 ème cycle,
écoles d’ingénieurs. Dunod, Paris, 1993. traduction de Foundations of Computer Science.
[Bac06]
Francis Bacon. Proficience and advancement of learning divine and humane, 1606.
[BR97]
Jean-Jacques Barrère et Christian Roche. Le bêtisier des philosophes. Seuil, Paris,
1997.
[Che98]
Karine Chemla. Fractions and irrationals between algorithm and proof in ancient China.
Studies in History of Medicine and Science, pp. 1–37, 1997–1998.
[Deh00]
Patrick Dehornoy. Mathématiques de l’Informatique. Dunod, 2000.
[Die78]
Jean Dieudonné, editor. Abrégé d’Histoire des Mathématiques. Hermann, Paris, 1978.
[DNR01] René David, Karim Nour, et Christophe Raffali. Introduction à la logique. 2 ème cycle,
écoles d’ingénieurs. Dunod, Paris, 2001.
[Gui]
Marcel Guillaume. Axiomatique et logique. Chapitre XI dans [Die78], pp. 417–483.
[Kan87] Immanuel Kant. Critique de la Raison Pure. Flammarion, Paris, 1987. édition originale,
1781.
[Lal97]
André Lalande. Vocabulaire technique et critique de la philosophie. Quadrige. PUF,
Paris, 4ème édition, 1997. édition originale, 1926.
[McT]
The MacTutor History of Mathematics Archive. http://www-groups.dcs.st-and.ac.
uk/~history/.
[Pea88]
Guiseppe Peano. Calcolo geometrico secondo l’Ausdehnungslehre di H. Grassmann,
preceduto dalle operazioni della logica deduttiva. Torino, 1888.
[Pea89]
Guiseppe Peano. Arithmetices principia, nova methodo exposita. Torino, 1889.
[Pea91]
Guiseppe Peano. Sul concetto di numero. Riv. di mat., vol. 1 pp. 87–102 e 256–267,
1891.
[Pec02]
Lancelot Pecquet. Programmation fonctionnelle. introduction illustrée en objective
caml. disponible sur http://www-rocq.inria.fr/~pecquet/pro/teach.html, 2002.
[Pei85]
Charles S. Peirce. On the algebra of logic : a contribution to the philosophy of notation.
American Journal of Mathematics, vol. 7 pp. 180–202, 1885.
[Smo80] Craig Smorynski. Some rapidly growing functions. Math. Intell., vol. 2 pp. 149–154,
1980.
[vH67]
Jean van Heijenoort, editor. From Frege to Gödel. A sourcebook in Mathematical
Logic, 1879–1931. Harvard University Press, 1967.
83
Téléchargement