P n - Alain Lecomte

publicité
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 
AB
A
B
Introduction de 
[A]x
B
x
AB
arbres
Élimination de 
AB
AB
A
B
Introduction de 
A
B
AB
arbres
Introduction de 
Élimination de 
AB
[A]x
[B]y
C
C
x,y
C
A
AB
B
AB
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  :
 : PK  {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
hh’ 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) (AB,h) = V ssi (A,h) = (B,h) = V
b) (AB,h) = V ssi (A,h) = V ou (B,h) = V
c) (AB,h) = V ssi pour tout h’ tel que hh’,
(A,h’) = F ou (B,h’) = V
d) (A,h) = V ssi pour tout h’ tel que hh’, (A,h’)= F
commentaires




(a) et (b) ne sont pas étonnants : je connais AB dans un état h
si et seulement si, dans cet état, je connais à la fois A et B,
idem pour AB
(c) signifie que AB 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 hh’, (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 he0, 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 AB
à 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:


(PQ) 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 hK,
(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 n1, (Pn ,h) est un sous-ensemble de [(h)]n
Pour n=0, si hh’ et si (Pn ,h)=V, alors (Pn ,h’)=V et si n1 et
hh’, alors (Pn ,h)  (Pn ,h’)
Univers et quantificateurs

On prend pour univers U défini par:
– U =  ( h )
hK

Si P est de la forme Pn(x1, …, xn) avec n1, 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 hh’, 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 RR. 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 1V 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 
AB
A
B
Introduction de 
[A]x
B
x
AB
arbres
Élimination de 
A:
AB :
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
Téléchargement