• Aucun résultat trouvé

II. Sur la th´ eorie des ensembles

N/A
N/A
Protected

Academic year: 2022

Partager "II. Sur la th´ eorie des ensembles"

Copied!
10
0
0

Texte intégral

(1)

Ensembles et preuves

Jean-Louis Krivine

Equipe de Logique math´ematique, Universit´e Paris VII, C.N.R.S.

e-mail [email protected]

(S´eminaire de logique `a la Sorbonne, 18 F´evrier 1997)

Le th`eme g´en´eral de ce s´eminaire est : “ Qu’est-ce qu’une logique ? ”, mais pour cet expos´e, ce sera :“ Qu’est-ce quela logique ? ”, ce qui me convient beaucoup mieux, parce que je n’en connais qu’une. Comme je suis math´ematicien, cela sera mˆeme, de fa¸con encore plus restrictive : “ Qu’est-ce que la logique math´ematique ? ”

Qu’est-ce donc que la logique ? La motivation initiale est sans aucun doute, pour le logicien, de comprendre la nature des math´ematiques. Il s’agit donc, en quelque sorte, d’un travail d’entomologiste : on observe l’activit´e du math´ematicien, et on en fabrique un mod`ele, qui sera, bien sˆur, un mod`ele math´ematique. Notons tout de mˆeme qu’en l’occurrence, l’observateur et l’observ´e sont en g´en´eral une seule et mˆeme personne.

Or, l’activit´e math´ematique consiste visiblement `a produire des d´emonstrations `a par- tir d’axiomes. Ces deux objets, axiomes et preuves, sont assez ind´ependants, dans le sens qu’on peut changer d’axiomes en gardant les mˆemes r`egles de d´emonstration, ou, au contraire, conserver les axiomes et changer les r`egles. C’est donc de fa¸con naturelle que la recherche en logique s’est graduellement scind´ee en deux branches bien distinctes, pour tenter de r´epondre `a ces deux questions :

• Qu’est-ce qu’une preuve math´ematique ? et, pour commencer, que peut-on dire de sa structure, quelles sont les bonnes r`egles de d´eduction ? comment peut-on passer d’une preuve `a une autre ?, etc. Ainsi est apparue la th´eorie des d´emonstrations, avec Hilbert, G¨odel (th´eor`emes de compl´etude et d’incompl´etude), Gentzen (´elimination des coupures), Church, Curry (invention du λ-calcul), . . .

• Quels axiomes faut-il poser pour qu’en utilisant ces r`egles de d´emonstration, on retrouve les raisonnements habituels du math´ematicien, la vie quotidienne math´ematique, en quelque sorte ? On s’est d’abord limit´e `a l’arithm´etique, et il s’agissait alors de trouver les axiomes pour les nombres entiers, ce qui a ´et´e fait par Peano. Mais on s’est aussi pos´e le probl`eme en toute g´en´eralit´e, de trouver des axiomes pour toutes les math´ematiques pass´ees, pr´esentes et futures, et cela a donn´e la th´eorie des ensembles, et divers avatars comme la th´eorie des types. Cantor, Frege, Russell, Zermelo, Von Neumann,. . . ont contribu´e `a poser les bons axiomes et `a d´evelopper la th´eorie. Puis G¨odel et Cohen ont invent´e des m´ethodes tr`es puissantes pour passer d’un syst`eme d’axiomes `a un autre, en th´eorie des ensembles. On en reparlera tout `a l’heure.

Pour tenter de r´epondre `a la question initiale : “ Qu’est-ce que la logique ? ”, je vais bien sˆur m’appuyer sur les r´esultats math´ematiques ´elabor´es dans ces deux th´eories, et il

(2)

faut donc commencer par vous expliquer en quoi ils consistent, en ´evitant cependant de vous assommer en entrant dans la technique. La tˆache n’est pas si facile, d’autant qu’il s’agit parfois de r´esultats fort r´ecents, ou mˆeme de recherches en cours. Toutefois, cela vaut la peine d’essayer, car j’esp`ere parvenir `a vous montrer `a quel point ce domaine, ces recherches, et les perspectives qu’ils ouvrent, sont passionnants.

Remarquons toutefois que des r´esultats math´ematiques, si int´eressants soient-ils, ne peuvent, par eux-mˆemes, apporter une r´eponse `a une question extra-math´ematique. Il faut, de plus, interpr´eter ces r´esultats dans le monde r´eel ; c’est ce qu’on fait tout le temps en physique. Par exemple, si l’on se donne l’´equation : f = Kmm0/d2, on en d´eduira math´ematiquement des trajectoires (des coniques, dans le cas le plus simple). Mais il faut d´ecider que cette ´equation repr´esente la loi de la gravitation dans le monde r´eel, pour pouvoir confronter ces trajectoires `a celles des plan`etes, des fus´ees et des satellites. De toute ´evidence, cette d´ecision, qui n’a rien de math´ematique, donne un relief extraordinaire

`a cette ´equation toute simple.

La r´eponse `a notre question s’obtiendra donc en confrontant les r´esultats math´emati- ques dont j’ai parl´e, `a des ph´enom`enes r´eels. Mais lesquels ? Je ne le dirai pas tout de suite, car cela apparaˆıtra plus naturellement dans la suite de mon expos´e. Il est clair, cependant, que l’informatique va jouer un grand rˆole dans cette interpr´etation. Il me faudra donc aussi vous parler de quelques notions g´en´erales sur les syst`emes informatiques.

I. Sur les preuves math´ ematiques

Le r´esultat fondamental est le th´eor`eme de compl´etude de G¨odel. Son int´erˆet est dou- ble : d’une part, il montre que la d´eduction math´ematique est m´ecanisable, c’est-`a-dire r´eductible `a un petit nombre de r`egles simples, qu’on peut tr`es bien apprendre `a une ma- chine. Ce n’est nullement ´evident, et on a cru longtemps que seul un ˆetre humain pouvait raisonner math´ematiquement, et qu’il apparaˆıtrait toujours des modes de raisonnement nouveaux, non r´eductibles aux anciens. Il est tout `a fait ´etonnant que cette question soit d´efinitivement r´egl´ee par un th´eor`eme.

Un exemple bien connu de r`egle de d´eduction est le modus ponens qui s’´enonce ainsi : si, `a partir d’un syst`eme d’axiomes, on a d´eduit les deux formules A et A → B, alors on peut d´eduire B de ce syst`eme d’axiomes. Un autre exemple, tout `a fait trivial, est que, si la formule A fait partie d’un syst`eme d’axiomes, alors on peut d´eduire A de ce syst`eme d’axiomes. Le th´eor`eme de compl´etude montre que toute d´eduction, `a partir d’un syst`eme d’axiomes quelconque, peut s’effectuer au moyen de ces r`egles et quelques autres du mˆeme genre.

Le deuxi`eme point int´eressant, `a propos du th´eor`eme de compl´etude, est, bien entendu, qu’il donne l’´equivalence de la syntaxe et de la s´emantique : autrement dit, une formule est cons´equence d’un syst`eme d’axiomes si, et seulement si, elle est vraie dans tous les mod`elesde ce syst`eme d’axiomes, c’est-`a-dire toutes les structures qui v´erifient ce syst`eme d’axiomes. Nous reviendrons sur cette notion essentielle de mod`ele quand nous parlerons de la th´eorie des ensembles. Donnons un exemple simple. Le syst`eme d’axiomes pour une relation d’ordre est form´e des trois formules suivantes :

∀x(x≤x); ∀x∀y(x≤ y∧y ≤x→x=y); ∀x∀y∀z(x ≤y∧y≤z →x≤z).

(3)

Elles expriment respectivement la r´eflexivit´e, l’antisym´etrie et la transitivit´e pour une relation binaire not´ee ≤. Alors la formule ∀x∀y∀z(x ≤ y∧y ≤ z∧z ≤ x → x = y) est cons´equence de ce syst`eme d’axiomes, ce qui veut dire qu’on peut la d´eduire au moyen des r`egles. Mais, au lieu de chercher une telle d´eduction, ce qui n’est pas facile, on peut aussi bien se contenter de prendre un mod`ele arbitraire des axiomes ci-dessus, c’est-`a-dire un ensemble ordonn´e quelconque, et de montrer que la formule consid´er´ee y est satisfaite.

Voila exactement ce qu’affirme le th´eor`eme de compl´etude.

Une deuxi`eme d´ecouverte fondamentale de la th´eorie des d´emonstrations est ce qu’on appelle lacorrespondance de Curry-Howard. On s’est aper¸cu qu’`a chaque d´emonstration, effectu´ee au moyen des r`egles de d´eduction dont je viens de parler, on pouvait associer un programme au sens informatique du terme. Cela se passe de la fa¸con suivante : une d´emonstration consiste en une suite d’applications des r`egles de d´eduction, `a partir des axiomes ; un programme, d’autre part, est une suite d’instructions ´el´ementaires, adress´ees au processeur d’une machine. Si l’on parvient `a associer une instruction `a chaque r`egle de d´eduction, on aura transform´e chaque preuve en une suite d’instructions, c’est-`a-dire en un programme. Or, c’est exactement ce que fait la correspondance de Curry-Howard ; reprenons, comme exemple de r`egle, le modus ponens, qui nous permet, `a partir d’une d´emonstration DA de la formule A, et d’une d´emonstration DA→B de A →B, d’obtenir une d´emonstrationDBdeB. L’instruction associ´ee `a cette r`egle prend les programmesPA etPA→B qui sont d´ej`a associ´es aux d´emonstrations DA etDA→B, et donne le programme PB = PA→B(PA) obtenu en passant PA en argument au programme PA→B. Autrement dit, l’instruction associ´ee au modus ponens est ce qu’on appelle l’application, c’est-`a-dire l’op´eration d’appliquer une fonction (un programme) `a son argument.

On peut faire de mˆeme pour chacune des r`egles de d´eduction, et on a ainsi un moyen tr`es simple de fabriquer un programme `a partir d’une d´emonstration quelconque. C’est l`a un r´esultat inattendu, et bien ´evidemment d’une importance capitale en logique. Il est essentiel ´egalement pour la question qui nous occupe aujourd’hui : “ Qu’est-ce que la logique ? ”. Grˆace au lien ´etroit qu’il ´etablit entre logique et informatique, nous disposerons, en effet, d’un puissant outil d’analyse pour r´epondre `a notre question. Nous allons consid´erer cela de plus pr`es.

Malheureusement, il y a un probl`eme de taille `a r´egler d’abord. Car, si la transfor- mation des preuves en programmes paraˆıt ´etablie, il y a tout de mˆeme un os ! Il faut se rappeler, en effet, que, pour construire une d´emonstration math´ematique, il ne suffit pas de connaˆıtre les r`egles de d´eduction : il faut aussi se donner un syst`eme d’axiomes. Pour pouvoir transformer effectivement une preuve en un programme, il faut donc savoir as- socier un programme convenable `a chaque axiome du syst`eme. Comment peut-on faire ? La correspondance de Curry-Howard, et, en g´en´eral, la th´eorie des d´emonstrations, ne nous donne pas la moindre lumi`ere sur cette question. Elle ne nous indique mˆeme pas o`u chercher ce syst`eme d’axiomes ; elle suppose, en effet, qu’il est donn´e, de fa¸con absolument arbitraire d’ailleurs. Mais, si nous voulons faire des math´ematiques, il est bien ´evident que nous n’allons pas prendre nos axiomes au petit bonheur la chance, mais bien au contraire, les choisir avec le plus grand soin. Qui va nous dire comment ? Cette question est, bien sˆur, vitale pour mener `a bonne fin notre correspondance entre preuves et programmes. La r´eponse va venir d’un tout autre cˆot´e, d’une autre branche de la logique, que l’on appelle la th´eorie des ensembles.

(4)

II. Sur la th´ eorie des ensembles

Chaque fois que se d´eveloppe une th´eorie math´ematique, il vient un moment o`u l’on

´eprouve le besoin d’axiomatiser cette th´eorie, c’est-`a-dire d’expliciter les hypoth`eses sur lesquelles s’appuie le raisonnement. Ces hypoth`eses, ce sont lesaxiomesde la th´eorie. Cela remonte tr`es loin dans l’histoire des math´ematiques ; par exemple, tout le monde connaˆıt le syst`eme d’axiomes donn´e par Euclide pour la g´eom´etrie qui porte son nom. Cette n´ecessit´e d’axiomatiser, c’est tout simplement la n´ecessit´e de la rigueur, sans laquelle le raisonnement math´ematique finit par s’enliser et se bloquer compl`etement.

Au 19`eme si`ecle est apparue l’id´ee de rechercher des axiomatiques pour des th´eories de plus en plus g´en´erales, dans un but ´evident d’efficacit´e et d’unification. Dedekind et Peano ont cherch´e `a axiomatiser la notion de nombre entier, car il apparaˆıt clairement que la plupart des notions math´ematiques se ram`enent `a celle-l`a. Enfin, l’unification compl`ete des math´ematiques dans une seule et mˆeme axiomatique a ´et´e r´ealis´ee avec la th´eorie des ensembles, due `a G. Cantor, puis d´evelopp´ee sous diverses formes par Rus- sell, Zermelo, Von Neumann, Frænkel,. . . Un consensus g´en´eral s’est maintenant r´ealis´e autour du syst`eme d’axiomes dit de Zermelo-Frænkel (ZF en abr´eg´e), pour la th´eorie des ensembles.

Remarque. On pourrait trouver bizarre de parler de consensus en math´ematiques, puisque ce n’est pas le mode de fonctionnement habituel de cette science : un th´eor`eme est accept´e, non par consensus, mais parce qu’on le d´emontre. Par exemple, cela fait longtemps que tous les math´ematiciens sont d’accord pour penser que le th´eor`eme de Fermat ou l’hypoth`ese de Riemann sont vrais. Cela ne suffit pas pour qu’on les admette, et c’est toute la diff´erence entre une conjecture et un th´eor`eme. Mais la recherche d’un syst`eme d’axiomes n’est pas, `a proprement parler, un probl`eme math´ematique. Il n’est pas question ded´emontrerque la th´eorie de Zermelo-Frænkel est le seul syst`eme d’axiomes convenable pour d´evelopper les math´ematiques, et d’ailleurs ce n’est pas vrai. On peut en imaginer une foule d’autres, et on en utilise couramment plusieurs, par exemple la th´eorie des types finis, l’arithm´etique du second ordre, la th´eorie de Zermelo, celle de Von Neumann-Bernays-G¨odel, etc. Simplement, les qualit´es de commodit´e et d’´el´egance de la th´eorie de Zermelo-Frænkel en ont fait, en quelque sorte, un standard. Cette id´ee de

“ standard ” est `a retenir pour la suite, quand nous chercherons `a saisir ce qu’est vraiment la th´eorie des ensembles.

Nous savons donc maintenant pourquoi la th´eorie ZF a ´et´e ´elabor´ee : le but ´etait la rigueur et l’unification ; il s’agissait de donner un syst`eme d’axiomes valable pour toute th´eorie math´ematique, et ce but a ´et´e atteint. Est-ce que l’histoire s’arrˆete l`a ? Non, bien sˆur. Au contraire, c’est ici que les choses deviennent amusantes et, disons-le, un peu surprenantes.

En effet, dor´enavant, si je me pose un probl`eme math´ematique, je n’ai plus qu’`a l’´ecrire comme une formule Φ de th´eorie des ensembles, et chercher `a d´eduire Φ au moyen des axiomes de ZF et des r`egles de d´eduction logique dont nous avons d´ej`a parl´e. Mais alors l’id´ee vient tout naturellement d’appliquer le th´eor`eme de compl´etude, et le probl`eme se ram`ene `a montrer que Φ est vraie dans tous les mod`eles de ZF. Et c’est ici qu’apparaˆıt, pour la premi`ere fois, un objet vraiment extraordinaire, la structure la plus exotique dont on ait jamais parl´e en math´ematiques : un mod`ele de la th´eorie de Zermelo-Frænkel.

(5)

Avant de vous montrer `a quoi ¸ca ressemble, il vaut mieux insister sur le fait que ces

“ monstres ” n’ont pas ´et´e invent´es de toutes pi`eces par un math´ematicien fou, mais sont au contraire le fruit d’une recherche de longue haleine, tout `a fait raisonnable et d’ailleurs r´eussie, dont le but ´etait l’efficacit´e et l’unification des math´ematiques. Le probl`eme va donc se poser, de comprendre comment une d´emarche aussi sens´ee a pu aboutir `a un r´esultat pareil.

Les formules de th´eorie des ensembles sont ´ecrites avec, en plus des symboles logiques habituels, un seul et unique symbole ∈, appel´e symbole d’appartenance. Pour m´emoire, les symboles logiques habituels sont les connecteurs propositionnels : ∨,∧,→,¬, les quan- tificateurs : ∃,∀, les variablesx, y, z, . . . , et le symbole d’´egalit´e = ; mais ils sont valables pour n’importe quelle th´eorie, seul le symbole ∈, qui repr´esente une relation binaire, est sp´ecifique `a la th´eorie des ensembles.

Un mod`ele de la th´eorie de Zermelo-Frænkel est donc une structure d´efinie par une relation binaire ; c’est ce qu’on appelle ungraphe orient´e. On peut en donner une repr´esen- tation en consid´erant un ensemble de points dont certains sont reli´es par des fl`eches. C’est un objet math´ematique tr`es courant, mais nous allons voir que le cas qui nous occupe est un peu sp´ecial. Tout d’abord au point de vue terminologie : le graphe s’appelle univers, les points du graphe s’appellent naturellement ensembles, et s’il y a une fl`eche qui va du point a au point b, on dira, bien entendu que b ∈ a (l’ensemble b est ´el´ement de, ou appartient `a, l’ensemble a).

Mais, de plus, ce graphe doit v´erifier les axiomes de ZF. Ceux-ci ne font qu’exprimer des propri´et´es “ ´evidentes ” de la notion intuitive d’ensemble, et paraissent donc tout

`a fait anodins et triviaux. Il est d’autant plus ´etonnant de constater les incroyables contorsions qu’ils imposent `a notre malheureux graphe, pour qu’il parvienne `a se plier `a leurs directives. Voyons cela en examinant deux ou trois axiomes de ZF.

Le premier axiome, qui s’appelle axiome d’extensionnalit´e, s’´enonce : deux ensembles qui ont les mˆemes ´el´ements sont ´egaux. Rien de plus banal. La formule correspondante s’´ecrit : ∀x∀y(∀z(z ∈x↔z ∈y)→x=y). Il impose `a notre graphe d’avoir la propri´et´e suivante : ´etant donn´es deux points distincts quelconques, il y a une fl`eche issu de l’un qui n’aboutit pas `a l’extr´emit´e d’une fl`eche issu de l’autre. C’est d´ej`a une condition assez forte, puisque beaucoup de graphes ne la satisfont pas (par exemple la relation binaire toujours fausse, sur un ensemble ayant au moins deux ´el´ements), mais facile `a r´ealiser tout de mˆeme.

Les autres axiomes de ZF nous indiquent quels sont les proc´ed´es autoris´es pour fa- briquer un ensemble `a partir d’ensembles donn´es. Par exemple, l’axiome de la pairenous permet, ´etant donn´es deux ensembles, d’en construire un troisi`eme, qui aura exactement ces deux ensembles comme ´el´ements. L`a encore, c’est intuitivement ´evident. Cela s’´ecrit en formule : ∀x∀y∃z∀u(u∈z ↔u=x∨u=y).

Mais, en consid´erant le graphe, on voit que la situation se complique passablement : car l’application r´ep´et´ee de cet axiome nous permet de construire sans arrˆet de nouveaux points, en l’appliquant `a tous ceux qu’on a d´ej`a obtenus ; et cette situation va se r´ep´eter avec les autres axiomes, en se compliquant encore puisqu’ils interagissent entre eux. Autre exemple, l’axiome de la r´eunionpermet `a partir d’un ensemble donn´e d’en construire un autre, qui a comme ´el´ements les ´el´ements des ´el´ements du premier. Pourquoi pas, en effet ? La formule s’´ecrit : ∀x∃y∀z(z ∈ y ↔ ∃u(u ∈ x∧z ∈ u)). En regardant l’effet

(6)

produit sur le graphe, on s’aper¸coit que la situation est devenue assez inextricable. Et ce n’est rien, en comparaison de ce qui va se passer avec les derniers axiomes de ZF, qui portent les jolis noms d’axiomes des parties, de l’infini, et du remplacement.

Quel est, en fin de compte, le r´esultat ? Un mod`ele de ZF se pr´esente comme un fouillis invraisemblable de liens, dont la complexit´e d´efie l’imagination. Mais apr`es tout, me direz-vous, les math´ematiques sont faites, justement, pour apporter ordre et clart´e dans les situations les plus tordues. Laissons faire les math´ematiciens, et ils ne tarderont pas `a d´ecouvrir la simplicit´e profonde qui se cache sous l’apparente complication.

H´elas, ce bel optimisme est balay´e par le verdict sans appel du th´eor`eme d’incompl´e- tude de G¨odel : il est impossible de d´emontrer l’existence d’un mod`ele de ZF ! Cela veut bien dire que la situation est grave ; en effet, de deux choses l’une :

• Ou bien il n’en existe pas, et alors la th´eorie des ensembles, mise au point avec tant d’efforts et de temps, s’effondre lamentablement dans la contradiction.

• Ou bien il existe un mod`ele deZF, mais toute tentative d’en donner une description compl`ete est vou´ee `a l’´echec.

Entre deux maux, il est raisonnable de choisir le moindre, c’est-`a-dire le deuxi`eme.

Plutˆot que de tuer les math´ematiques, il vaut mieux accepter la pr´esence de ces animaux bizarres ; les logiciens ont donc appris `a vivre avec, ils ont ´etudi´e leurs mœurs, leur mode de reproduction, la diversit´e des esp`eces (G¨odel et Cohen en ont d´ecouvert plusieurs), et ils ont mˆeme tent´e de les apprivoiser. Bien qu’il ne s’agisse visiblement pas d’une esp`ece menac´ee, beaucoup de monde s’est occup´e d’eux, et la litt´erature sur le sujet est maintenant tr`es riche et fort int´eressante. C’est l`a ce qu’on appelle aujourd’hui la th´eorie des ensembles.

Je voudrais maintenant revenir au probl`eme ´evoqu´e tout `a l’heure : il semblerait que ces ´etranges structures, qui sont pourtant apparues naturellement en math´ematiques, et dont l’int´erˆet n’est mis en doute par personne, ne se rattachent, de pr`es ou de loin, `a aucun ph´enom`ene concret connu. Mais, apr`es tout, cela a ´et´e souvent le cas dans l’histoire des math´ematiques ; par exemple, les coniques ont ´et´e invent´ees et ´etudi´ees bien avant que l’on d´ecouvre que les plan`etes d´ecrivent des ellipses, les com`etes des hyperboles, et les boulets de canon des paraboles. Alors, de quels objets naturels nous parlent donc les mod`eles de ZF ? Je crois que la r´eponse va de soi, si l’on observe :

d’un cˆot´e, qu’ils sont apparus au moment pr´ecis o`u l’on a r´eussi `a comprendre comment fonctionne le raisonnement math´ematique, activit´e qui se d´eroule tr`es vraisemblablement dans le cerveau du math´ematicien ;

d’autre part, qu’il s’agit d’un r´eseau tr`es complexe de connexions, qui rappelle irr´esis- tiblement le fouillis apparent des neurones dans le cerveau. On sait, par exemple, qu’un mod`ele de ZF est organis´e en couches successives, ce qui fait, bien entendu, penser aux couches de neurones. Cela est dˆu `a l’un des axiomes, appel´e axiome de fondation, et l’ordre de ces strates est d’ailleurs excessivement complexe, puisqu’il est d´ecrit par les ordinaux du mod`ele.

Finalement, si l’on cherche un objet naturel et r´epandu, dont la structure soit aussi sophistiqu´ee que celle d’un mod`ele de la th´eorie des ensembles, on aboutit forc´ement `a la conclusion suivante : un tel mod`ele ne peut ˆetre qu’une repr´esentation d´etaill´ee d’un ensemble de connexions entre neurones, dans le cerveau humain ; il s’agit, en quelque sorte, d’un sch´ema, un peu comme celui d’une installation ´electrique. De plus, cet ensemble de

(7)

neurones doit occuper une position assez strat´egique, puisqu’il est sans doute responsable de l’activit´e raisonn´ee. Si c’est bien le cas, l’int´erˆet pour ces structures est, on l’imagine, amplement justifi´e.

III. Les programmes derri` ere les preuves

Mais revenons maintenant `a nos moutons, c’est-`a-dire la transformation des preuves en programmes. Nous avons vu que cette transformation sera ´etablie si nous parvenons `a savoir quels programmes il faut associer aux axiomes de la th´eorie des ensembles. Ceci a

´et´e r´esolu, il y a longtemps, pour une th´eorie plus faible queZF, `a savoir “ l’Arithm´etique du second ordre ”, qui suffit d’ailleurs, pour axiomatiser une bonne partie des math´ema- tiques (ce qu’on appelle “ l’Analyse ”). Les programmes obtenus sont on ne peut plus simples : il y a un seul axiome (en fait, un sch´ema d’axiomes, appel´e sch´ema de com- pr´ehension), et le programme associ´e consiste `a ne rien faire !

Cependant, l’Analyse, ce n’est pas toutes les math´ematiques, loin de l`a, et la question garde tout son int´erˆet pour ZF. C’est seulement tout r´ecemment qu’elle a ´et´e r´esolue, et l’on constate alors que les programmes obtenus pour les axiomes deZF sont bien loin d’ˆetre triviaux, comme dans le cas pr´ec´edent. En fait, leur ´ecriture est si compliqu´ee que, pour le moment du moins, on n’a pas la moindre id´ee de la tˆache qu’ils accomplissent quand on les ex´ecute.

Il est temps de faire un peu le point, apr`es toutes ces p´erip´eties. Le bilan est le suivant : nous savons associer des programmes aux axiomes de la th´eorie des ensembles, et aussi aux d´emonstrations faites `a partir de ces axiomes. Comme toutes les math´ematiques sont formalis´ees dans ZF, nous savons donc associer, `a un th´eor`eme quel qu’il soit, un programme, et mˆeme plusieurs, puisqu’un th´eor`eme peut ˆetre d´emontr´e de diverses fa¸cons.

Nous avons donc devant nous un ensemble de programmes, issus les uns des axiomes de ZF, les autres des th´eor`emes, et qui, en quelque sorte, r´esument toute la logique (au moins la th´eorie des ensembles et la th´eorie des d´emonstrations). Pour r´epondre `a notre question initiale : “ Qu’est-ce que la logique ? ”, il ne nous reste plus qu’`a d´eterminer ce que peuvent bien faire ces programmes, `a quoi sont-ils donc destin´es ?

Qu’avons-nous donc gagn´e, me direz-vous, en ´etablissant ce pont qui va de la logique vers l’informatique, puisque nous avons transform´e notre question, fort difficile, en une autre, qui ne l’est sans doute pas moins ? Eh bien, un pont peut ˆetre travers´e dans les deux sens, et on peut penser que beaucoup de notions et d’outils informatiques vont avoir leur contrepartie en logique, et que ce qui est myst´erieux ou incompr´ehensible du cˆot´e logique, pourrait bien ˆetre parfaitement clair du cˆot´e informatique (et vice-versa, d’ailleurs, mais ce n’est pas notre propos aujourd’hui).

Cela se v´erifie imm´ediatement pour le probl`eme qui nous occupe, et il y a une notion bien connue en informatique, qui a visiblement un rapport ´etroit avec les questions que nous nous posons : c’est celle de syst`eme d’exploitation. Vous en avez sˆurement d´ej`a entendu parler, et des expressions barbares comme MS-DOS, UNIX, Windows 95, Linux, OS2, etc, vous rappellent sans doute quelque chose.

Qu’est-ce qu’un syst`eme d’exploitation ? C’est un ensemble de programmes, qui est

`a la base du fonctionnement d’un ordinateur, puisqu’il fait le lien entre ses diff´erents organes (m´emoire vive, m´emoire de masse, clavier, console, r´eseau, p´eriph´eriques divers,

(8)

etc) et l’utilisateur. Un ordinateur sans syst`eme d’exploitation est totalement inutilisable.

Entendons-nous bien, une mˆeme machine peut fonctionner avec diff´erents syst`emes, le choix se faisant `a l’initialisation (`a l’allumage si vous pr´ef´erez). Dans le jargon informa- tique, on dit qu’on boote sous UNIX, ou sous Windows, par exemple.

Un programme utilitaire (ou programme d’application, comme un ´editeur, ou un tableur) est adapt´e `a un syst`eme d’exploitation donn´e et un seul (on dit qu’il tourne sous UNIX, ou sous DOS). En fait, un tel programme est essentiellement constitu´e `a l’aide des programmes mˆemes tir´es du syst`eme d’exploitation (que l’on nomme desappels syst`eme), combin´es `a l’aide d’instructions ´el´ementaires.

Essayons de transposer ces notions en logique, en traversant notre pont en sens in- verse. Le syst`eme d’exploitation devient un certain ensemble d’´enonc´es math´ematiques, qui correspondent aux appels syst`eme, les instructions ´el´ementaires deviennent des r`egles de d´eduction, et notre tableur devient un ´enonc´e math´ematique obtenu `a l’aide de ces r`egles, `a partir des ´enonc´es pr´ec´edents. Autrement dit :

La notion de syst`eme d’exploitation correspond `a celle de syst`eme d’axiomes (tiens, tiens, c’est le mˆeme mot), la notion de programme d’application correspond `a celle de th´eor`eme. Et de mˆeme qu’un programme ne peut tourner que dans un syst`eme donn´e, de mˆeme un th´eor`eme n’a de sens que dans un syst`eme d’axiomes donn´e (essayez donc d’utiliser un th´eor`eme de g´eom´etrie euclidienne dans un espace hyperbolique).

Rappelons-nous les divers syst`emes d’axiomes possibles pour faire des math´ematiques : arithm´etique de Peano, arithm´etique d’ordre sup´erieur, th´eorie de Zermelo, ZF, N BG, etc. Ils correspondent donc `a autant de syst`emes d’exploitation, sous lesquels notre “ or- dinateur personnel ” va pouvoir tourner, c’est-`a-dire raisonner. Et la th´eorie de Zermelo- Fraenkel est devenue plus ou moins un “ standard ”, de la mˆeme fa¸con que parmi les syst`emes d’exploitation, un ou deux d’entre eux se sont impos´es comme standards (en l’occurrence UNIX et Windows) soit par leurs qualit´es propres, soit par la puissance commerciale.

Or, comme nous l’avons vu, on a r´eussi `a ´ecrire les programmes qui correspondent aux axiomes de ZF, et la question est maintenant de d´eterminer ce qu’ils font. Nous nous retrouvons donc dans la situation d’un programmeur, qui a devant lui un ordina- teur en ´etat de marche, qui peut lire les programmes syst`eme, mais ceux-ci ne sont pas document´es, et il voudrait bien les comprendre. Cette tˆache, fort malais´ee en g´en´eral, est assez courante en informatique, et on l’appelle d´esassemblage. Elle n´ecessite beaucoup d’astuce et de flair de la part du programmeur, et ne peut en aucun cas ˆetre r´ealis´ee par un programme, ce qu’on comprendra facilement. Mais on peut se faire aider dans ce travail par un programme convenable, qui r´ealisera `a la demande (c’est pourquoi on dit qu’il est interactif) une foule d’op´erations de recherche et de classification syst´ematiques et r´ep´etitives, qui permettra une ex´ecution en pas `a pas, etc. En fait, un tel programme, qui porte donc naturellement le nom de d´esassembleur interactif, est absolument indis- pensable pour effectuer ce genre d’op´eration.

Voil`a bien notre chance, il nous faut r´ealiser un d´esassemblage, sans avoir de d´esassem- bleur `a notre disposition, nous sommes foutus. Mais, au fait, peut-ˆetre en cherchant bien, pourrait-on en trouver un au fond d’un tiroir ? Raisonnons un peu, en repassant notre fameux pont dans le sens informatique vers logique ; puisqu’un d´esassembleur est un programme d’application, ce qu’il nous faut d´enicher, c’est un th´eor`eme qui fasse l’affaire.

(9)

Mais lequel est-ce ? des th´eor`emes, il y en a quand mˆeme beaucoup ; et existe-t-il seulement, cet oiseau rare ?

Pour r´esoudre cette devinette, il faut chercher tout ce que l’on peut dire `a propos de cet hypoth´etique th´eor`eme. C’est certainement un th´eor`eme important, et comme le programme associ´e est un d´esassembleur, donc proche du syst`eme d’exploitation, il s’agit probablement d’un th´eor`eme de logique. Comme tout th´eor`eme qui se respecte, il doit avoir une hypoth`ese et une conclusion. Or, dans la correspondance de Curry-Howard, les hypoth`eses, ce sont les donn´ees, et la conclusion, c’est le r´esultat de l’ex´ecution du programme. Mais quel est le r´esultat de l’ex´ecution d’un d´esassemblage ? C’est un pro- gramme document´e ; en passant par le pont Curry-Howard, cela devient la d´emonstration d’une formuleF. Quel est donc le th´eor`eme c´el`ebre, dont la conclusion est : “ il existe une d´emonstration deF ” ? Tous les logiciens vous le diront : c’est le th´eor`eme de compl´etude de G¨odel ! Il s’´enonce en effet : Si tout mod`ele satisfait la formule F, alors il existe une d´emonstration de F.

Et voil`a, il ne reste plus qu’`a d´ecortiquer le programme associ´e `a une preuve du th´eor`eme de compl´etude, pour s’apercevoir qu’en effet, celui-ci se comporte exactement comme un d´esassembleur interactif.

Il vaut la peine de s’arrˆeter un peu sur ce r´esultat, qui est int´eressant `a plus d’un titre.

D’abord, il est plutˆot inattendu, car il n’y a aucun rapport, semble-t-il, entre l’´enonc´e du th´eor`eme de compl´etude et le d´esassemblage (op´eration qui n’existait d’ailleurs pas, et pour cause, quand G¨odel d´ecouvrit le th´eor`eme). Quel rapport myst´erieux y a-t-il donc entre un th´eor`eme math´ematique, et les programmes qui se cachent derri`ere ses d´emonstrations ? Il faut bien dire que l’on n’en sait rien, et c’est l’un des charmes de la recherche dans ce domaine, on a toujours une surprise.

Cependant l’informatique vient, encore une fois, `a notre secours, pour nous faire com- prendre au moins l’ampleur du probl`eme. En effet, si une d´emonstration correspond `a un programme, un th´eor`eme correspond, lui, `a toute une famille de programmes, puisqu’il poss`ede plusieurs preuves. Il est naturel de penser que tous ces programmes ont un com- portement analogue, autrement dit, qu’ils font tous la mˆeme chose. En informatique, on dit qu’ils ont la mˆemesp´ecification. Nous sommes donc parvenus `a d´efinir rigoureusement ce qu’est une sp´ecification, puisqu’elle correspond, en logique, `a la notion de th´eor`eme.

C’est un r´esultat vraiment inesp´er´e, car cette notion de sp´ecification semble particuli`ere- ment r´etive `a toute tentative de d´efinition. En effet, ce n’est pas autre chose que l’intention du programmeur au d´ebut de son travail, et comment d´efinir l’intention ? Il ne saurait donc y avoir, en plus, une relation ´evidente entre l’´enonc´e d’un th´eor`eme math´ematique et la sp´ecification qu’il dissimule.

Mais voici un autre point int´eressant, `a propos du th´eor`eme de compl´etude : nous avons dit qu’un d´esassembleur permet d’ex´ecuter un programme en pas `a pas, ce qui veut dire qu’il s’arrˆete apr`es chaque instruction ´el´ementaire pour permettre `a l’utilisateur d’intervenir comme il lui plaira. Toutefois, par prudence, il omet de s’arrˆeter `a certains endroits sensibles, o`u une intervention irr´efl´echie de l’utilisateur pourrait avoir un effet d´esastreux, comme de planter la machine. Il est fascinant de constater que ce dispositif de s´ecurit´e existe bel et bien dans le d´esassembleur associ´e au th´eor`eme de compl´etude de G¨odel. Comment diable se fait-il qu’un th´eor`eme, d´emontr´e dans les ann´ees 30, alors qu’il n’existait pas l’ombre d’un ordinateur, puisse nous parler de la s´ecurit´e d’un syst`eme

(10)

informatique ? De quel syst`eme informatique s’agit-il donc ? Il n’y a qu’une r´eponse possible, il s’agit, bien sˆur, de la seule marque d’ordinateur commercialis´ee `a l’´epoque, et qui est d’ailleurs sur le march´e depuis quelques centaines de milliers d’ann´ees. Comme me disait r´ecemment un ami informaticien : “ Ce mat´eriel ne manque pas de qualit´es, mais malheureusement, le service apr`es-vente est quelque peu d´eficient, il ne r´epond mˆeme plus au t´el´ephone ” . . .

Au terme de cette excursion en th´eorie des ensembles et en th´eorie des d´emonstrations, il est temps, pour conclure, de revenir `a la question initiale : “ Qu’est-ce que la logique ? ” Je donnerai, pour ma part, la r´eponse suivante : c’est un outil fabuleux et irrempla¸cable pour explorer la structure profonde du cerveau humain, et d´ecouvrir la fa¸con dont il est programm´e. D’ailleurs, quand le service apr`es-vente est aux abonn´es absents, et que le fabricant a mis la cl´e sous la porte, il faut bien que le client essaie de se d´ebrouiller tout seul.

Références

Documents relatifs

Notation: Si A admet une borne sup´ erieure (resp. inf´ erieure) ssi E poss` ede un plus petit ´ el´ ement (resp. une antichaine), on dit que X est maximale si pour toute chaine

Comparer cette estimation avec celle donn´ ee par le th´ eor` eme de Minkowski pour de petites et de grandes valeurs de

[r]

D´emontrer qu’il existe deux ordinateurs dans le r´eseau qui ont le mˆeme nombre de connexions (qui sont reli´es au mˆeme nombre d’ordinateurs).... Le r´esultat

´ equivalences, formes normales, syst` emes complets ; formules propositionnelles, valua- tions, validit´ e, cons´ equence, th´ eor` eme de compacit´ e ; quantificateurs, r`

–Th´ eorie na¨ıve des ensembles : op´ erations ensemblistes usuelles, fonctions et rela- tions, familles d’ensembles ; les entiers et le principe d’induction ; ensembles finis,

Dans un contexte plus g´en´eral, nous explicitons la suite spectrale de Hodge-Fr¨olicher (suite spectrale reliant la cohomologie de Dolbeault ` a la cohomologie de De Rham), et

N’oublions pas que les axiomes qu’on ajoute doivent ˆ etre com- patibles avec les axiomes de grands cardinaux... Notion de propri´ et´ e