Logique intuitionniste
La logique intuitionniste est une logique qui diffère de la logique classique par le fait que toute affirmation doit être démontrable par une preuve constructive. Cette logique rejette le principe classique de tiers exclu, selon lequel « P ou non P » est toujours vrai, ainsi que les démonstrations par l'absurde. La logique intuitionniste considère notamment que la proposition « ne pas être faux » n'est pas équivalente à la proposition « être vrai ». Certaines affirmations et démonstrations, valides en logique classique ne le sont donc pas en logique intuitionniste. Par exemple, la proposition « tout nombre réel est soit rationnel, soit irrationnel », trivialement vraie en logique classique, n'est pas prouvable en logique intuitionniste.

Développée à partir de la fin des années 1910 par les mathématiciens néerlandais Luitzen Egbertus Jan Brouwer et Arend Heyting, la logique intuitionniste a eu une influence importante sur le développement des logiques constructives puis de l'informatique théorique.
Histoire
modifierL'intuitionnisme en mathématique est issu d'une position philosophique vis-à-vis des mathématiques proposée par le mathématicien néerlandais Luitzen Egbertus Jan Brouwer comme une critique de l'approche dite classique[1].

Brouwer rejette la notion d'infini actuel, et n'accepte que celle d'infini potentiel. Il rejette également la notion d'existentiel non constructif : il exige que quand un mathématicien affirme « il existe tel que », celui-ci donne aussi un moyen de construire qui satisfasse . Cela l'a conduit rejeter certaines formes du raisonnement mathématique traditionnel, notamment celles posant en axiome le principe du tiers exclu, qui consiste à dire qu'étant donnée une proposition , soit est vraie soit est fausse[2] : Brouwer démontre qu'il n'est pas toujours possible de produire une construction prouvant que est vraie ou une construction prouvant que est fausse[3].
Cette approche fut initialement vivement critiquée par des mathématiciens comme David Hilbert qui considérait que « enlever le principe du tiers exclu à un mathématicien équivaudrait à interdire l'usage du télescope à un astronome, ou celui de ses poings à un boxeur »[4]. Hilbert s'inquiétait notamment des dégâts que pourrait causer cette approche aux fondements mêmes des mathématiques, alors qu'elle n'avait produit que très peu de résultats et restait incomplète. D'autres mathématiciens, comme Hermann Weyl, élève et disciple de Hilbert, y ont souscrit dès les années 1920[5].
Elle a ensuite été complétée et formalisée, sous le nom de logique intuitionniste, par ses élèves V. Glivenko[6] et Arend Heyting, ainsi que par plusieurs autres logiciens et mathématiciens, tels Kurt Gödel[7], Andreï Kolmogorov[8] ou encore Erret Bishop[9].
Parmi les compléments ayant progressivement enrichi l'intuitionnisme, on peut noter la reconstruction formelle des nombres (entiers, relatifs puis réels), et la reformulation ainsi que la démonstration constructive de nombreux théorèmes de la logique classique. Bishop considérait d'ailleurs que pour tout mathématicien intuitionniste « chaque théorème démontré par des méthodes idéalistes est un défi[10] : il faut en trouver une version constructive et en donner une preuve constructive »[11].
L'interprétation de Brouwer-Heyting-Kolmogorov ou simplement interprétation BHK met en évidence le caractère constructif de l'implication intuitionniste[2] : quand un mathématicien intuitionniste affirme , il veut dire qu'il fournit un procédé de « construction » d'une démonstration de à partir d'une démonstration de . Autrement dit, une preuve de est une fonction qui transforme toute preuve de en preuve de .
Cette interprétation calculatoire trouvera son aboutissement dans un des plus importants résultats de l'informatique théorique : la correspondance de Curry-Howard dont le leitmotiv est « prouver, c'est programmer ». Il y a isomorphisme entre les règles de déduction de la logique intuitionniste et les règles de typage du lambda-calcul. En conséquence, une preuve d'une proposition est assimilable à un (lambda-)terme de type .
Dès lors, la logique intuitionniste (couplée à la théorie des types) acquiert un statut prépondérant en logique et en informatique théorique, en faisant d'elle historiquement la première des logiques constructives. Ce résultat fondateur engendrera de multiples travaux dérivés[12] ; notamment son extension à la logique d'ordre supérieur qui nécessite l'emploi de types dépendants (le calcul des constructions, par exemple, est la base théorique du logiciel Rocq qui est donc, à la fois, un assistant de preuves (constructives), et un outil de création de programmes certifiés[13].
Syntaxe du langage de la logique intuitionniste
modifierSyntaxe de la logique intuitionniste propositionnelle
modifierLa syntaxe de la logique intuitionniste propositionnelle est la même que celle de la logique propositionnelle classique. La logique intuitionniste utilise notamment les mêmes connecteurs logiques que la logique classique : faux/absurde (), négation (), disjonction (), conjonction () et implication () . Mais l'interprétation des propositions créées avec cette syntaxe est différente, comme le présente le tableau suivant[1] :
Construction | Lecture intuitive en logique classique | Lecture intuitive en logique intuitionniste |
---|---|---|
est vraie | est prouvable : on dispose d'une preuve de | |
est vraie ou est vraie | est prouvable ou est prouvable : on dispose d'une preuve de ou d'une preuve de | |
est vraie et est vraie | est prouvable et est prouvable : on dispose d'une preuve de et d'une preuve de | |
Faux, absurde | Faux, absurde | |
Si est vraie alors est vraie | Si est prouvable alors est prouvable : on peut démontrer que toute preuve de induit une preuve de | |
(abréviation de ) | est fausse | est contradictoire |
La négation peut se définir dans les deux logiques à partir de l'implication : se définit comme [14]. En outre, en logique propositionnelle classique, la disjonction (le « ou ») peut être définie à partir du « et » et de la négation grâce aux lois de De Morgan : par exemple peut se définir comme un raccourci d'écriture pour [15]. En logique propositionnelle intuitionniste, ce n'est plus le cas et chaque opérateur a une interprétation spécifique : on dit que ces opérateurs ne sont pas inter-définissables .
Syntaxe de la logique intuitionniste du premier ordre
modifierLa syntaxe de la logique intuitionniste du premier ordre est la même que celle de la logique classique du premier ordre. La logique intuitionniste utilise notamment les deux mêmes quantificateurs : existentiel (), et universel (). Mais l'interprétation des propositions utilisant ces quantificateurs est différente, comme l'indique le tableau ci-dessous[1] :
Construction | Lecture intuitive en logique classique | Lecture intuitive en logique intuitionniste |
---|---|---|
il existe un élément tel que est vraie | on peut construire un élément tel que est prouvable | |
pour tout élément , est vraie | en prenant un élément quelconque , est prouvable |
Ces deux quantificateurs n'ont en outre pas la même relation qu'en logique classique. Par exemple, en logique intuitionniste, on ne peut pas définir comme [16].
Preuve classique et preuve intuitionniste : autour de
Deux exemples impliquant illustrent certaines des différences entre les notions de preuve classique et de preuve intuitionniste.
Démonstration de l'irrationnalité de : principe du tiers exclu ou réfutation directe ?
La démonstration usuelle en logique classique de l'irrationnalité de est la suivante : on suppose que est rationnel, donc ( et entiers premiers entre eux). On devrait donc avoir : , ce qui est impossible, puisque et sont premiers entre eux. Ce raisonnement établit bien, dans les deux logiques, qu'il est impossible de trouver et tels que . La logique classique en déduit que puisque n'est pas rationnel et que ne peut être que rationnel ou irrationnel, est irrationnel. C'est un exemple de démonstration très généralement présenté comme typique du raisonnement par l'absurde : .
Cette dernière étape de raisonnement, ainsi justifiée, n'est pas acceptable en logique intuitionniste : en effet, dans cette logique, démontrer que supposer rationnel amène à une contradiction ne suffit pas à prouver que est irrationnel. Mais un légère reformulation du raisonnement va rendre la démonstration acceptable dans ce cadre. Il suffit de remarquer qu'il est possible de définir un nombre comme rationnel par , et un nombre irrationnel par . Alors la démonstration devient une démonstration par réfutation directe, qui est valide en logique intuitionniste.
L'énigme : rationnel ou irrationnel ?
Un exemple est fréquemment cité dans les ouvrages spécialisés pour illustrer la différence de la notion de preuve entre logique classique et logique intuitionniste. Il s'agit de la démonstration du théorème suivant : « il existe deux réels irrationnels et tels que soit rationnel ». La démonstration usuelle en logique classique est très courte. On considère d'abord le nombre : s'il est rationnel, le théorème est prouvé en prenant [17]. Si ce nombre n'est pas rationnel, alors, comme , on peut prendre (qui est supposé irrationnel) et , et le théorème est démontré en logique classique. Mais il ne l'est pas en logique intuitionniste car cette démonstration ne permet pas de désigner celui des deux couples de réels envisagés est tel que soit rationnel. En fait, il existe bien une démonstration qui, faisant appel au théorème de Gelfond-Schneider et acceptable en logique intuitionniste, montre que est transcendant, donc irrationnel[18] : le couple réalisant la propriété annoncée par le théorème est donc et .
Exemples de différences avec la logique classique
modifierLes opérations ne sont pas définies l’une par rapport à l’autre (voir plus loin), et ne sont définies qu’en elles-mêmes. Elles sont définies par l’interprétation qui doit en être faite[Quoi ?]. Pour cette raison, en plus des règles de calcul, sont données les interprétations qui doivent être faites des expressions de chaque opérateur.
Quelques validités
modifierLe tableau suivant donne quelques validités de la logique intuitionniste.
Validités en logique intuitionniste | Explications pour | Explications pour |
---|---|---|
✔ Si A est prouvable, alors il est prouvé que A n'est pas contradictoire. | ✗ Par exemple, il est prouvé que « il pleut » n'est pas contradictoire (on n'obtient pas de contradiction en supposant « il pleut »). Pourtant, « il pleut » n'est pas prouvable, sauf si on sort et qu'on se fait mouiller. | |
✔ Si A est contradictoire, alors une preuve que n’est pas contradictoire donne une contradiction. | ✔ Si on a une preuve que n’est pas contradictoire donne une contradiction, alors A est contradictoire. | |
✔ Si A est contradictoire ou B est contradictoire, alors « A et B » est contradictoire. | ✗ Par exemple, être grand et petit est contradictoire. Pourtant, être grand n'est pas contradictoire et être petit n'est pas contradictoire. | |
✔ Si on obtient une contradiction d'une preuve de A ou d'une preuve de B, alors A est contradictoire et B est contradictoire. | ✔ Si A est contradictoire et B est contradictoire, alors d'une preuve de A ou d'une preuve de B, on obtient une contradiction. | |
✔ Si A est contradictoire ou alors B est prouvable, alors si j'ai une preuve de A (ce qui n'existe pas !), j'ai une preuve de B. | ✗ Par exemple, je construis une preuve de « x>0 » qui utilise une preuve « x>1 ». Pourtant, « x>1 » n'est pas contradictoire et « x>0 » n'est pas prouvable. | |
✔ Si « il existe x tel que A(x) » est contradictoire, alors pour tout x, A(x) est contradictoire. | ✔ Si pour tout x, A(x) est contradictoire, alors « il existe x tel que A(x) » est contradictoire. | |
✔ Si je peux construire un x tel que A(x) donne une contradiction, alors « pour tout x, A(x) » est contradictoire. | ✗ Par exemple, « pour tout x, x est pauvre » est contradictoire (car je vois qu'il existe des richesses). Pourtant, je ne peux pas trouver un individu x (riche) tel que x est pauvre soit contradictoire. |
En logique classique, les formules obtenues en remplaçant les implications par des équivalences sont des validités (le tableau contiendrait que des ✔).
Négation
modifierLa négation de la proposition , notée , s'interprète en logique intuitionniste comme : « Il est démontré que est contradictoire ».
On dispose en logique intuitionniste du théorème suivant :
Cependant, on ne peut pas, contrairement à ce qui est possible en logique classique, en conclure (voir la double négation ci‑dessous).
Double négation
modifierOn peut interpréter comme : « Il est démontré qu’il est contradictoire d’affirmer que est contradictoire », c'est-à-dire « Il est démontré que n’est pas contradictoire ». Mais on ne peut pas en déduire que « est démontrable ».
Le théorème :
peut être démontré en logique intuitionniste. Mais la réciproque ne peut pas l'être. On n'a pas . L’expression peut s’interpréter comme « d'une démonstration de , on peut construire une démonstration de ». Mais le fait que ne soit pas contradictoire n’est pas suffisant pour établir une démonstration de .
À titre d'exemple, soit un réel et la proposition est rationnel. Démontrer , c'est donner deux entiers et tels que . Si est contradictoire (et donc si on a ), c'est que est non rationnel, ou irrationnel. Dire que l'on a , c'est dire que supposer x irrationnel conduit à une contradiction, et donc conclure que n'est pas irrationnel. Mais ce n'est pas suffisant pour établir l'existence effective de deux entiers et tels que . Ainsi, en logique intuitionniste, ne pas être irrationnel est une propriété différente et plus faible que celle d'être rationnel.
Conjonction
modifierL'interprétation de est : on dispose d'une preuve de et d'une preuve de (comparable à ce qu’il en est en logique classique).
En logique intuitionniste, la proposition suivante est un théorème :
Mais contrairement à ce qu’il en serait en logique classique, n’est seulement qu’une conséquence de , la réciproque étant fausse. En effet, supposer que est contradictoire, est insuffisant en logique intuitionniste pour conclure si seul l'est ou seul ou s'ils le sont tous les deux. Par exemple, supposer qu'un nombre est à la fois rationnel et irrationnel est contradictoire, mais insuffisant pour conclure si ce nombre est irrationnel ou non.
Disjonction
modifierL'interprétation de est : on a une preuve de ou une preuve de .
On dispose en logique intuitionniste du théorème suivant :
A et B s’excluent mutuellement et ne sont pas simultanément démontrables. Cette situation est comparable à ce qu’il en serait dans la logique classique de Boole et Karnaugh.
Par contre, le théorème suivant :
est valide en logique intuitionniste, mais pas sa réciproque. En effet, si x est un nombre réel, on sait que s'il est rationnel alors il n'est pas irrationnel, mais on n'est pas pour autant capable de conclure si ce nombre est irrationnel ou non.
Quantificateur existentiel
modifierL'interprétation de est : nous pouvons créer un objet et prouver que . L'existence de x est ici effective ou constructive. Il ne s'agit pas d'une existence théorique d'un élément vérifiant .
On dispose du théorème suivant :
S’il n’existe pas de x qui vérifie A(x) alors pour tous les x on ne vérifie pas A(x), d’où l’équivalence (qui correspond à l’intuition et se formule naturellement). Cette propriété est comparable à ce qu’il en serait en logique classique.
Quantificateur universel
modifierL'interprétation de est : on a une preuve que pour chaque x appartenant à l’ensemble spécifié, on peut prouver A(x) (comparable à ce qu’il en est en logique classique).
On dispose en logique intuitionniste du théorème suivant :
Mais contrairement à ce qu’il en serait en logique classique, la réciproque est fausse. En effet, cette réciproque exigerait que, en supposant contradictoire l'universalité de la propriété , on soit capable d'exhiber explicitement un objet x invalidant , ce qui est rarement possible.
On peut aussi dire que, en logique intuitionniste, l'affirmation de est l'affirmation de l'existence effective et constructible d'un objet x validant , alors que n'en est que l'existence théorique, exprimant seulement qu'il est contradictoire que soit universellement contradictoire. La logique classique ne fait aucune distinction entre ces deux existences, alors que la logique intuitionniste considère la deuxième comme plus faible que la première.
Tiers exclu
modifierLa proposition suivante
est un théorème de la logique classique, mais pas de la logique intuitionniste. Dans cette dernière, elle signifierait que nous pouvons prouver ou prouver , ce qui n'est pas toujours possible.
Par exemple, dans l'arithmétique dans le cadre de la logique intuitionniste (dite arithmétique de Heyting), l’expression est valide, car pour tout couple d'entiers, on peut prouver qu'ils sont égaux, ou on peut prouver qu'ils sont différents. Il en est de même pour deux rationnels. Mais pour deux réels en analyse constructive, on ne dispose pas de méthode générale permettant de prouver que ou de prouver que . Cette situation correspond bien à ce qu'on rencontre en algorithmique, où l’égalité ou l’inégalité entre deux réels peut être non calculable, c'est-à-dire, non décidable.
Relations entre les règles
modifierPour mieux comprendre, on remarquera dans ce qui précède, que contrairement à ce qu’il en est dans la logique de Boole, la conjonction ne peut pas être reformulée en termes de disjonction et que le quantificateur existentiel ne peut pas être reformulé en termes de quantificateur universel ; ceci en vertu du principe du constructivisme. Dit d’une autre manière et dans des termes peut-être plus proches de l’informatique : il n’est pas permis de réduire les contraintes d’une expression.
Les interprétations des expressions ne se font pas à l'aide de et , mais grâce aux concepts Prouvable et Contradictoire.
Règles de déduction naturelle
modifierEn logique intuitionniste, les connecteurs ne sont pas inter-définissables[19]. C'est pourquoi il faut donner des règles pour chaque connecteur binaire, pour le connecteur unaire qu'est la négation et pour le symbole ⊥ représentant le faux ou absurde. Cette section donne les règles d'élimination et d'introduction pour chaque connecteur, typique de la déduction naturelle classique. En déduction naturelle, se lit « de l'ensemble de propositions on déduit la proposition ».
La logique implicative
modifierLa logique minimale implicative a pour seul connecteur l'implication . En déduction naturelle, ses règles, outre la règle axiome :
sont :
où la lettre désigne un ensemble fini de formules, et la notation désigne , où peut être ou non présent dans .
La règle s'appelle la règle d'élimination de l'implication. Elle se lit comme suit : si de l'ensemble d'hypothèses on déduit et si de plus de l'ensemble d'hypothèses on déduit alors de l'ensemble d'hypothèses on déduit . L'élimination de l'implication est aussi appelée modus ponens.
La règle s'appelle la règle d'introduction de l'implication. Elle se lit comme suit : si de l'ensemble d'hypothèses et de l'hypothèse on déduit alors de l'ensemble d'hypothèses on déduit ( peut appartenir ou ne pas appartenir à ).
La loi de Peirce ou la proposition , qui sont des tautologies de la logique classique, ne sont pas démontrables dans ce système de déduction. En lui ajoutant, par exemple la loi de Peirce, autrement dit en créant un nouvel axiome
on obtient un système qui démontre toutes les théorèmes purement implicationnels de la logique classique (voir Calcul propositionnel implicationnel (en)).
La logique propositionnelle intuitionniste
modifierLa logique intuitionniste comporte les règles de l'implication, de la logique minimale, plus les règles ci-dessous régissant les autres connecteurs.
L'absurde
modifierLe faux ou absurde, ⊥, est un connecteur zéro-aire, c'est-à-dire qui n'a pas de proposition en argument, il est régi par la règle :
Cette règle est nommée principe d'explosion, ou en latin, ex falso quodlibet. Le principe d'explosion signifie que si un ensemble de propositions Γ conduit à l'absurde ⊥, alors de Γ, on peut déduire n'importe quelle proposition . Il n'y a pas de règle d'introduction correspondante.
Le vrai
modifierLe vrai, , est également un connecteur d'arité nulle. Il n'a pas de règle d'élimination, mais vient avec la règle d'introduction suivante :
La négation
modifierTraditionnellement, on considère la négation comme l'abréviation et on ne donne donc pas habituellement de règles correspondant à la négation. Cependant on pourrait en donner, pour simplifier des démonstrations et elles seraient :
Il est à noter que ces règles pour la négation intuitionnistes sont plus faibles que celles de la négation classique, car pour exemple on ne peut pas y déduire de .
La conjonction
modifierAu connecteur (conjonction), on associe deux règles d'élimination, et , et une règle d'introduction.
La disjonction
modifierAu connecteur (disjonction), on associe une règle d'élimination et deux règles d'introduction :
On remarque que la règle d'élimination de la disjonction est une règle tryadique : elle a trois prémisses.
Le calcul des prédicats intuitionniste
modifierEn plus des règles du calcul propositionnel intuitionniste, le calcul des prédicats intuitionniste contient de nouvelles règles d'introduction et d'élimination pour les quantificateurs « quel que soit » et « il existe ».
Remarque : Nous rappelons que signifie le remplacement de toutes les occurrences librement substituables de la variable par le terme ; voir calcul des prédicats pour les notions de « variable », « terme », « substitution » et de « librement substituable ».
Le quantificateur universel
modifier
Le quantificateur existentiel
modifier
Sémantique de la logique intuitionniste
modifierModèles de Kripke
modifier
On peut donner une sémantique à la logique intuitionniste qui est une sémantique de Kripke. Un modèle de Kripke est un graphe orienté où[20] :
- les nœuds sont des mondes possibles. Selon Kripke, ces mondes représentent des contenus d'information fondés sur des preuves (evidential situations). Chaque monde est muni d'une valuation classique : intuitivement, pour chaque variable propositionnelle p, p est vraie dans un monde si on a assez d'information pour prouver p et p est fausse sinon ;
- une relation d'accessibilité de préordre sur les mondes : une relation réflexive et transitive hiérarchise les mondes. Pour Kripke, un arc m → m' signifie que m' est dans le « futur » de m[21] ;
- la valuation est telle que si une variable propositionnelle p est vraie dans m et que m' est dans le « futur » de m, p est aussi vraie dans m' (on ne perd pas d'information et donc on peut toujours prouver p)[22].
La sémantique d'une formule est donné par rapport à un modèle de Kripke et un monde désigné comme le monde courant . On parle alors de modèle de Kripke pointé . Dans certains ouvrages, on écrit alors pour dire que la formule est vraie dans . On dit aussi que satisfait formule . Plus simplement, comme le modèle de Kripke est fixé, on dit qu'un monde satisfait une formule , ou que le monde force une formule [20],[21]. La relation forçage de (ou de réalisabilité) est définie par induction structurelle par :
- le monde force une variable propositionnelle si est vraie dans le monde m ;
- le monde force si force et force ;
- le monde force si force ou force ;
- le monde force si pour tout monde accessible depuis , si force alors force ;
- le monde force (il s'agit de l'abréviation ) si pour tout monde accessible depuis , ne force pas .
Une formule est valide si pour tout monde de tout modèle , force .
Exemple
modifier
Le tiers-exclu n'est pas valide. Pour le voir, donnons un modèle de Kripke pointé qui ne satisfait pas . Considérons le modèle de Kripke dans la figure à droite. Ce modèle contient deux mondes possibles : l'un (celui de gauche) où est faux, l'autre (celui de droite) où est vrai.
Le monde de gauche est le monde pointé ou monde initial. Il ne satisfait pas le tiers exclu . En effet :
- d'une part, le monde initial ne force pas (intuitivement, n'est pas prouvé car est fausse donc cela signifie que l'on n'a pas encore assez d'informations)
- d'autre part, le monde initial ne force pas . En effet, le monde de droite est accessible depuis le monde initial mais malheureusement il force . Cette situation signifie intuitivement qu'en fournissant un peu plus d'effort, on peut « gagner plus d'informations » et arriver dans le monde de droite et prouver .
Aussi :
- (loi de Peirce) n'est pas valide : le monde de gauche du modèle de Kripke à droite ne force pas ;
- n'est pas valide.
Correction de la logique intuitionniste
modifierLa logique intuitionniste est correcte vis-à-vis des modèles de Kripke[23], c'est-à-dire que toute formule démontrable (par exemple avec les règles de déduction naturelle de la section précédente) est valide. On peut utiliser ce résultat pour montrer qu'une formule n'est pas démontrable en logique intuitionniste. Par exemple, comme le tiers-exclu ou la loi de Peirce ne sont pas valides, elles ne sont pas démontrables.
Complétude de la logique intuitionniste
modifierToute formule valide est démontrable[24]. La démonstration se fait de la façon suivante : si n'est pas démontrable alors on peut construire un contre-modèle (infini) de c'est-à-dire un modèle contenant un monde qui ne force pas .
Relations avec la logique classique
modifierPlongement de la logique classique dans la logique intuitionniste
modifierKurt Gödel a proposé une traduction de la logique classique dans la logique intuitionniste : la « non-non traduction (en) », qui rend démontrable en logique intuitionniste toute formule démontrable en logique classique. Ainsi, en ce sens précis, la logique intuitionniste ne démontre pas moins que la logique classique.
De manière plus économe que la saturation des formules et sous-formules par des doubles négations, Gödel a remarqué que si on considère une fonction de l'ensemble des formules dans l'ensemble des formules définie par :
- ;
- , pour une formule atomique différente de ⊥ ;
- ;
- ;
- ;
- ;
- ;
où et sont des formules quelconques et est une formule ayant comme paramètre.
Alors on a le théorème suivant :
Où est la déduction classique et est la déduction intuitionniste.
Traduction en logique modale classique
modifierLa logique intuitionniste peut être traduite dans la logique modale classique S4[25] munie d'une modalité . La construction se lit « est prouvable »[26]. La traduction est définie par :
- pour toute variable propositionnelle ;
- ;
- ;
- ;
- .
Une formule est valide en logique intuitionniste si et seulement si est valide dans la logique modale S4 classique (c'est-à-dire valide sur les modèles de Kripke réflexifs et transitifs).
Complexité algorithmique des problèmes de décision en logique intuitionniste
modifierLe problème de la décision de la satisfiabilité et le problème de la décision de la validité en logique propositionnelle intuitionniste sont PSPACE-complets[27]. D'ailleurs, ils demeurent PSPACE-complets même si on restreint les formules à deux variables[28].
Notes et références
modifier- Joseph Vidal-Rosset, « Intuitionnisme », dans Encyclopedia Universalis - Dictionnaire des notions et des idées, , 422–424 p. (lire en ligne)
- Van Dalen 2008, p. 153-155.
- ↑ Heyting 1956, p. 232-233.
- ↑ van Heijenoort 1967, p. 476.
- ↑ Brouwer–Hilbert controversy (en)
- ↑ Glivenko, V., 1928, « Sur la logique de M. Brouwer », Académie Royale de Belgique, Bulletin de la classe des sciences, 14: 225–228.
- ↑ Kurt Godel, Collected Works, Vol. III, Oxford: Oxford University Press (1995).
- ↑ van Heijenoort 1967, p. 414-437.
- ↑ Henri Lombardi, « De la difficulté d'être omniscient » [PDF], Séminaire Epiphymaths, Laboratoire de Mathématiques de Besançon, (consulté le ), p. 47-60
- ↑ Dans le texte de Bishop, « idéaliste » signifie « conforme à la logique classique ».
- ↑ Bishop 1967, p. x.
- ↑ Les Métamorphoses du calcul. Une étonnante histoire de mathématiques, Paris, Édition Le Pommier, coll. « Essais », , 223 p. (ISBN 978-2-7465-0324-3)
- ↑ Il faut comprendre par là, que lorsque le programmeur construit une fonction dont il aura spécifié le type des arguments et du résultat, il s'astreint à respecter cette spécification puisqu'il doit fournir un objet correctement typé. Les types dépendants offrent une typage plus puissant que la plupart des langages, et permettent la spécification complète d'un programme.
- ↑ Dragalin 1988, p. 2-3.
- ↑ Van Dalen 2008, p. 21-22.
- ↑ Dirk Dalen, Logic and Structure : fifth edition, Springer, , « Chapter 6 -- Intuitionistic Logic », Exercice 29 p. 183.
- ↑ Dans les deux logiques, l'irrationnalité de la racine carrée de 2 est prouvée (cf plus haut).
- ↑ Dragalin 1988, p. 5.
- ↑ Sauf la négation ci-dessous qui peut se définit via le faux et l'implication. Autrement dit, on ne peut pas définir, comme en logique classique, tous les connecteurs à partir d'un unique connecteur binaire comme la barre de Sheffer ou deux connecteurs comme la négation et l'implication.
- Kripke 1965.
- René David, Karim Nour et Christophe Raffalli 2001, p. 159.
- ↑ Van Dalen 2008, p. 164.
- ↑ Structure and Logic, Springer Universitext, 1980. (ISBN 3-540-20879-8).
- ↑ Van Dalen 2008, p. 170-171.
- ↑ Michel Lévy, « Traduction de la logique intuitioniste en logique modele », sur LIG, .
- ↑ (en) Juliette Kennedy, « Kurt Gödel, 2.5.3 Intuitionistic Propositional Logic is Interpretable in S4 », sur stanford.edu,
- ↑ (en) Richard Statman, « Intuitionistic propositional logic is polynomial-space complete », Theoretical Computer Science, vol. 9, , p. 67–72 (DOI 10.1016/0304-3975(79)90006-9, lire en ligne, consulté le ).
- ↑ (en) M. Rybakov, « Complexity of intuitionistic and Visser's basic and formal logics in finitely many variables », Proceedings of Advances in Modal logic, .
Bibliographie
modifierOuvrages
modifierEn français
modifier- René David, Karim Nour et Christophe Raffalli, Introduction à la logique : Théorie de la démonstration, cours et exercices corrigés, Paris, Dunod, , 332 p. (ISBN 978-2-100-04892-2).
- Jean-Yves Girard, Le point aveugle, Tome I, Hermann, 2007.
- Arend Heyting Les fondements des mathématiques, intuitionnisme, théorie de la démonstration, Gauthier-Villars, Nauwelaerts, 1955, 91 pages.
- Arend Heyting, « La conception intuitionniste de la logique », Les études philosophiques, PUF, vol. 11, no 2, , p. 226-233 (lire en ligne [PDF]).
- Jean Largeault, Intuitionisme et théorie de la démonstration, Paris, J. Vrin, , 566 p. (ISBN 2-7116-1059-4, présentation en ligne)
- Jean Largeault, L'Intuitionisme, Paris, Presses universitaires de France, 1992.
En anglais
modifier- (en) Errett Bishop, Foundations of constructive analysis, New York, Mc Graw-Hill, , 392 p. (lire en ligne)
- (en) A. G. Dragalin (trad. Ben Silver), Mathematical Intuitionism : Introduction to Proof Theory, vol. 67, Rhode Island, American Mathematical Society, coll. « Translations of Mathematical Monographs », , 244 p. (ISBN 0-8218-4520-9, lire en ligne).
- (en) Michael Dummett, Elements of Intuitionism, Oxford, Clarendon Press, , 488 p. (ISBN 0198531583, lire en ligne)
- (en) S. A. Kripke, « Semantical Analysis of Intuitionistic Logic I », Studies in Logic, Amsterdam, North-Holland Publishing « Formal Systems and Recursive Functions », , p. 92-130 (lire en ligne, consulté le ).
- (en) Dirk Van Dalen, Logic and Structure : fourth edition, Berlin, Springer, , 275 p. (ISBN 978-3-540-20879-2, lire en ligne).
- (en) Jean van Heijenoort, From Frege to Gödel : A Source Book in Mathematical Logic 1879-1931, Massachussets, Harvard University Press, , 680 p. (lire en ligne).
Liens externes
modifier- Richard Moot et Christian Retoré, « La "non-non" traduction de Gödel-Kolmogorov », Université Bordeaux-I, ou sur arXiv https://arxiv.org/abs/1602.07608
- Étienne Lozes, « TD non non traduction », Laboratoire Spécification et Vérification — ENS Cachan,
- Alexandre Miquel, « Réalisabilité et extraction de programmes », Laboratoire Preuves, Programmes et Systèmes (PPS) de Jussieu, (sur la logique intuitionniste et l’interprétation de Brouwer-Heyting-Kolmogorov — interprétation BHK)
- Michel Lévy Preuve en logique intuitionniste propositionnelle