Logique et raisonnement scientifique cours transversal Collège Doctoral Pr. Alain Lecomte 7- La logique intuitionniste de Heyting et Kripke à la correspondance de Curry-Howard Système déductif (déduction naturelle) : de , A |-- B on peut déduire : |-- A B A, B |-- A B A |-- A B B |-- A B A, A B |-- B (modus ponens) A B |-- A A B |-- B de , A |-- C et , B |-- C on peut déduire : , A B |-- C arbres Élimination de AB A B Introduction de [A]x B x AB arbres Élimination de AB AB A B Introduction de A B AB arbres Introduction de Élimination de AB [A]x [B]y C C x,y C A AB B AB Système déductif (déduction naturelle) de , A |-- B et , A |-- B on peut déduire : |-- A (red. à l’absurde) de |-- (x), où x est libre et n’apparaît pas dans , on peut déduire : |-- x (x) (t) |-- x (x) A, A |-- B x (x) |-- (t) de , (x) |-- C, où x est libre et n’apparaît pas dans , on peut déduire , x (x) |-- C Modèle de Kripke On définit une structure comme un triplet (e0, K, ) où K est un ensemble, e0 un élément de K et une relation réflexive et transitive (un préordre) sur K Soit P un ensemble de variables propositionnelles, un modèle intuitionniste sur (e0, K, ) est une fonction : : PK {V, F} telle que: – Si (p, h) = V et si h h’, alors (p, h’) = V interprétation L’interprétation qu’on peut donner est celle d’un mathématicien idéalisé dont on modélise l’activité mentale. Celle-ci se structure sous la forme de suites d’états, pouvant se représenter a priori comme un arbre. K est donc l’ensemble des états de la connaissance et e0 est l’état initial. La relation est simplement un ordonnancement des états. On fait l’hypothèse d’une croissance monotone des connaissances, de sorte que si deux états h et h’ sont tels que hh’ et si Sh et Sh’ désignent les ensembles de propositions connues dans les états respectifs h et h’, alors Sh Sh’ Valeur de vérité d’une formule Comme dans le cas de la logique propositionnelle classique, on peut étendre la définition de , initialement définie seulement sur les propositions atomiques, à toute formule propositionnelle, au moyen de la définition récursive suivante: – – – – a) (AB,h) = V ssi (A,h) = (B,h) = V b) (AB,h) = V ssi (A,h) = V ou (B,h) = V c) (AB,h) = V ssi pour tout h’ tel que hh’, (A,h’) = F ou (B,h’) = V d) (A,h) = V ssi pour tout h’ tel que hh’, (A,h’)= F commentaires (a) et (b) ne sont pas étonnants : je connais AB dans un état h si et seulement si, dans cet état, je connais à la fois A et B, idem pour AB (c) signifie que AB est connu dans un certain état si et seulement si dans cet état et dans tout état futur, on ne pourra pas connaître A sans connaître B (d) signifie que la négation de A est vraie dans un état si dans cet état et tous les états futurs, A est faux On peut vérifier facilement que la propriété de monotonie vraie pour les atomes l’est encore pour les formules quelconques: – Si (A, h) = V alors pour tout h’ tel que hh’, (A, h’) = V remarque Les états peuvent aussi s’interpréter comme des mondes possibles et la relation comme relation d’accessibilité sur ces mondes : on obtient alors un plongement dans une logique modale. Nous reviendrons plus loin sur ce point : il s’agira de la logique modale S4. L’ensemble K (la formule est vraie à e0) e10 e6 e8 e9 e3 e1 e7 e4 e5 e2 e0 (Le fait qu’une variable propositionnelle figure à côté du nom d’un état signifie que dans cet état, est vraie. Par défaut, est fausse). Remarque La représentation précédente de la relation était un arbre, or une relation réflexive et transitive ne définit pas toujours un arbre! Un arbre est défini par une relation R antisymétrique stricte vérifiant: – – – Il n’existe pas de h tel que hRe0 Pour tout he0, il existe h’ unique tel que h’Rh Pour tout h, e0R*h, où R* est la fermeture transitive et réflexive de R Une structure (e0, K, ) sera appelée une structure arborescente si et seulement si il existe un arbre (e0, K, R) et que = R* Nous nous limiterons aux structures arborescentes parce que nous pourrons démontrer plus tard que tout modèle peut être remplacé par un modèle arborescent équivalent. commentaires Selon Kripke (1963), les états sont des instants auxquels on dispose de plus ou moins d’information. Si à un instant h, on dispose d’assez d’information pour prouver A, alors on dit que (A, h) = V, si nous n’avons pas assez d’information, on dit que (A, h) = F. Si (A, h) = V, on dit que A a été vérifié au temps h, si (A, h) = F, que A n’a pas été vérifié au temps h. Bien noter que (A, h) = F ne signifie pas que A a été prouvé faux au temps h, mais seulement que A n’a pas (encore) été prouvé au temps h. Commentaires (suite) P,Q,R e3 P,Q e4 P,R e2 P,Q e1 e0 P Dans ce modèle, le passage de e0 à e2 indique que nous avons gagné assez d’information pour pouvoir affirmer R, en plus de P, Apparemment, le passage de e1 à e4 ne fait gagner aucune information (même ensemble de propositions vraies P et Q), il y a cependant un gain d’information qui réside en ceci que de e1 on peut passer à e3, alors que de e4, on ne le peut plus, donc l’information acquise est celle qui exclut R. Commentaires -3 Il est préférable de ne pas interpréter V et F comme « vrai » et « faux », par exemple asserter « intuitionnistiquement » A à h ne signifie pas que A « est faux à l’instant h », mais que nous n’aurons jamais aucune preuve de A à partir de l’instant h De même, asserter«intuitionnistiquement» que AB à h ne signifie pas que A est faux ou B est vrai à h, mais que dans toute situation future (après h), chaque fois que nous aurons une preuve de A, alors nous aurons aussi une preuve de B. Formule valide Une formule A est dite valide si et seulement si (A, e0) = V pour tout modèle sur une structure (e0, K, ) Un modèle sur une structure (e0, K, ) tel que (A, e0) = F est appelé un contre-modèle de A Exemples de contre-modèles P e1 Dans ce modèle , on a: (P,e1) = V et (P,e0) = F, – Donc (P P,e0) = F (P est faux en e0 par hypothèse, mais P est également faux (non V) en e0 car il sera faux en e1 ) – e0 Ceci est donc un contre-modèle de P P (le tiers-exclu) Commentaire 1 Nous trouvons ainsi immédiatement un contre-modèle du tiers-exclu, ce qui signifie que celui-ci n’est pas valide en logique intuitionniste Nous ne sommes pas surpris vu que nous savons que la perspective initiale de Brouwer (fondateur de l’intuitionnisme) était justement de bannir une telle loi du raisonnement mathématique Intuitivement : à l’instant e0, nous n’avons pas encore prouvé P, nous ne pouvons pas non plus asserter P puisqu’il reste la possibilité que nous gagnions plus tard assez d’information pour aller vers e1 et ainsi pouvoir asserter P. Commentaire 2 Cette même structure permet de réfuter: P P – – – – En effet (P P,e0) = F pour les raisons suivantes: (P,e0) = V puisque (P,e0) = (P,e1) = F Mais (P,e0) = F, donc (P P,e0) = F Exercices Prouver que la structure suivante réfute: (PQ) P Q (P Q) (Q P) P Q Trouver une structure permettant de réfuter Trouver une structure permettant de réfuter (P Q) (Q P) (P Q) (P Q) Trouver une structure permettant de réfuter P P Extension à la logique des prédicats Une structure quantificationnelle est une structure (e0, K, ) munie d’une fonction définie sur K telle que pour tout hK, (h) soit un ensemble non vide et que: – Si h h’, alors (h) (h’) Un modèle quantificationnel sur une structure quantificationnelle (e0, K, ) est une fonction à deux arguments telle que: – – Si Pn est une lettre de prédicat d’arité n et si h K, si n=0, (Pn ,h) = V ou F, si n1, (Pn ,h) est un sous-ensemble de [(h)]n Pour n=0, si hh’ et si (Pn ,h)=V, alors (Pn ,h’)=V et si n1 et hh’, alors (Pn ,h) (Pn ,h’) Univers et quantificateurs On prend pour univers U défini par: – U = ( h ) hK Si P est de la forme Pn(x1, …, xn) avec n1, si a1, …, an sont des éléments de U assignés respectivement à x1, …, xn, on a: – – – (Pn(x1, …, xn), h) = V ssi (a1, …, an)(Pn, h) ((y)A(x1, …, xn,y), h) = V pour l’assignation de a1, …, an à x1, …, xn ssi il existe b(h) tel que (A(x1, …, xn,y), h) = V pour l’assignation de a1, …, an à x1, …, xn et de b à y, ((y)A(x1, …, xn,y), h) = V pour l’assignation de a1,…, an à x1,…,xn ssi pour tout h’ tel que hh’, pour tout b(h’), (A(x1,…, xn,y), h’) = V pour l’assignation de a1, …, an à x1, …, xn et de b à y commentaire Asserter « intuitionnistiquement » que – Pour tout x, A(x) C’est dire que pour tout x qu’on pourra choisir dans un état futur, on pourra vérifier A(x) (on aura une preuve de A(x)). Contre-modèles en logique prédicative Il est possible de montrer au moyen d’un contre-modèle que la formule suivante n’est pas valide en logique des prédicats intuitionniste: (( x )( P( x ) Q )) ((( x ) P( x )) Q ) Contre-modèle {a,b} e1 P(a), Q e0 {a} P(a) Nous avons: (P(x),e0) = (P(x),e1) = V pour l’assignation de a à x, mais (P(x),e0) = (P(x),e1) = F pour l’assignation de b à x. De plus, (Q,e0) = F et (Q,e1) = V, D’où ((x)(P(x)Q),e0) = V, alors que ((x)P(x)Q,e0) = F (dans e0, on ne peut choisir que a comme assignation à x, et dans ce cas, P(x) est vérifiée donc aussi P(x)Q. Dans e1, on peut choisir a ou b, pour a, P(x) est encore vérifiée, pour b, P(x) ne l’est pas, mais Q l’est, en revanche pour que (x)P(x) soit vérifié en e0, il faudrait que P(x) soit vérifié et en a à e0 et en a et en b à e1, ce qui n’est pas le cas, quant à Q, elle n’est pas vérifiée en e0, donc ((x)P(x)Q,e0) = F.) interprétation Kripke suggère l’interprétation suivante: Supposons que a et b soient les entiers 0 et 1, que R soit le dernier théorème de Fermat (avant qu’il ne soit démontré!), que Q soit RR. Soit V contenant 0 et contenant 1 si Q est vraie, soit x une variable sur V. Soit P(x) l’assertion: x=0. Dans l’état e0, on peut asserter V {0, 1} et 1V ssi Q est vraie, donc on peut asserter (x)(P(x)Q), mais tant qu’on n’a pas atteint e1 (où soit le théorème de Fermat a été démontré soit sa négation l’a été), on ne peut pas asserter (x)P(x)Q. Remarque C’est bien sûr le fait que (h) puisse varier qui est responsable de ce fait, car dans tout modèle où (h) est constant, la formule est vraie! (h) est l’ensemble des individus connus pour être dans notre univers sur la base de notre information à l’instant h (par exemple, dans le cas précédent, 1 n’appartenait à l’univers que lorsqu’on avait pu décider quelle proposition était vraie, du théorème de Fermat ou de sa négation) Noter que pour prouver l’existence d’un x dans D tel que P(x), on aura du d’abord trouver un élément x dont on a une preuve qu’il est bien dans D (cf. la condition: « b (h) » dans la clause concernant l’existentielle) Logique intuitionniste et logique modale déjà Gödel (1933)… possibilité d’immerger LI dans S4 : – – On peut associer à toute formule du CP une formule * modalisée telle que: démontrable dans LI ssi * démontrable dans S4 mais pas l’inverse! Une autre sémantique… Une sémantique des preuves Une preuve de est une construction associant à toute preuve de une preuve de Une preuve de est un couple formé d’une preuve de et d’une preuve de Une preuve de est une fonction qui associe 1 à toute preuve de et associe 2 à toute preuve de Retour sur l’implication Une preuve de est une construction associant à toute preuve de une preuve de – – élimination de : à partir d’une preuve () de et d’une preuve () de , on obtient une preuve de : () : application introduction de : étant donnée une preuve () de , obtenue au moyen d’une hypothèse associée à la variable x, on obtient une preuve de , notée x. arbres Élimination de AB A B Introduction de [A]x B x AB arbres Élimination de A: AB : B : () Introduction de [A : x]x B: x A B : x. -calcul variables = -termes si x et y -termes, x(y) -terme si y -terme et x variable, x.y -terme + typage [[x.y.[u(x)](y)](a)](b) -calcul variables = -termes si x et y -termes, x(y) -terme si y -terme et x variable, x.y -terme + typage [[x.y.[u(x)](y)](a)](b) -calcul variables = -termes si x et y -termes, x(y) -terme si y -terme et x variable, x.y -terme + typage [y.[u(a)](y)](b) -calcul variables = -termes si x et y -termes, x(y) -terme si y -terme et x variable, x.y -terme + typage [y.[u(a)](y)](b) -calcul variables = -termes si x et y -termes, x(y) -terme si y -terme et x variable, x.y -terme + typage [u(a)](b) -calcul variables = -termes si x et y -termes, x(y) -terme si y -terme et x variable, x.y -terme + typage [u(a)](b) Curry-Howard déduction - élimination - introduction hypothèse hypothèse déchargée normalisation -terme application abstraction variable Variable liée b-réduction