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