Classical realizability and side-effects
Supervisor(es): Herbelin, Hugo - Miquel, Alexandre
Resumen:
This thesis focused on the computational content of classical proofs, and specifically on proofs with side-effects and Krivine classical realizability. The manuscript is divided in three parts, the first of which consists of a detailed introduction to the concepts used in the sequel. The second part deals with the computational content of the axiom of dependent choice in classical logic. This works is in the continuity of dPAω system of Hugo Herbelin, which allows to adapt the constructive proof of the axiom of choice in Martin-Löf's type theory in order to turn it into a constructive proof of the axiom of dependent choice in a setting compatible with classical logic. The principal goal of this part is to prove the property of normalization for dPAω, on which relies the consistency of the system. Such a proof is hard to obtain, due to the simultaneous presence of dependent types (for the constructive part of the choice), of control operators (for classical logic), of co-inductive objects (in order to "encode" functions of type N → A as streams (a₀,a₁,...)) and of lazy evaluation with sharing (for this co-inductive objects). This difficulties are first studied separately. In particular, we show the normalization of classical call-by-need (presented as an extension of the λµ̃µ-calculus with shared environments) by means of realizability techniques. Next, we develop a classical sequent calculus with dependent types, defined again as an adaptation of the λµ̃µ-calcul whose soundness is proved thanks to a CPS-translation which takes the dependencies into account. Last, a sequent-calculus variant of dPAω is introduced, combining the two previous systems. Its normalization is finally proved using realizability techniques. The last part, more oriented towards semantics, studies the duality between the call-by-name and call-by-value evaluation strategies in a purely algebraic setting, inspired from several works around classical realizability (and in particular Krivine realizability algebras). This work relies on the notion of implicative algebras developed by Alexandre Miquel, a very simple algebraic structure generalizing at the same time complete Boolean algebras and Krivine realizability algebras, in such a way that it allows to express in a same setting the theory of forcing (in the sense of Cohen) and the theory of classical realizability (in the sense of Krivine). The main default of these structures is that they are deeply oriented towards the λ-calculus, and that they only allows to faithfully interpret languages in call-by-name. To remediate the situation, we introduce two variants of implicative algebras: disjunctive algebras, centered on the "par" connective of linear logic (but in a non-linear framework) and naturally adapted to languages in call-by-name; and conjunctives algebras, centered on the "tensor" connective of linear logic and adapted to languages in call-by-value. Amongst other things, we show that disjunctive algebras are particular cases of implicative algebras and that conjunctive algebras can be obtained from disjunctive algebras (by reversing the underlying order). Moreover, we show how to interpret in these framework the fragments of Guillaume Munch-Maccagnoni's system L for call-by-value (within conjunctive algebras) and for call-by-name (within disjunctive algebras).
Cette thèse s'intéresse au contenu calculatoire des preuves classiques, et plus spécifiquement aux preuves avec effets de bord et à la réalisabilité classique de Krivine. Le manuscrit est divisé en trois parties, donc la première consiste en une introduction détaillée aux concepts utilisés par la suite. La deuxième partie porte sur l’interprétation calculatoire de l’axiome du choix dépendant en logique classique, et en particulier au système dPAω d'Hugo Herbelin. Ce calcul fournit en effet, dans un cadre compatible avec la logique classique, un terme de preuve pour l'axiome du choix dépendant, qui peut être vu comme une adaptation de la preuve constructive de l’axiome du choix en théorie des types de Martin-Löf ou un internalisation dans un système de preuve de l'approche en réalisabilité de Berardi, Bezem et Coquand. L'objectif principal de cette partie est de démontrer la propriété de normalisation pour dPAω, sur laquelle repose la cohérence du système. La difficulté d'une telle preuve est liée à la présence simultanée de types dépendants (pour la partie constructive du choix), d'opérateurs de contrôle (pour la logique classique), d'objets co-inductifs (pour "encoder" les fonctions de type N → A par des streams (a₀,a₁,...)) et l'évaluation paresseuse avec partage (pour ces objets co-inductifs). On montre dans un premier temps la normalisation du call-by-need classique (présenté comme une extension du λµµ̃-calcul avec des environnements partagé), en utilisant notamment des techniques de réalisabilité à la Krivine. On développe ensuite un calcul des séquents classique avec types dépendants, dont la correction est prouvée à l'aide d'une traduction CPS tenant compte des dépendances. En combinant les deux points précédents, on définit enfin une variante en calcul des séquents du système dPAω dont on peut finalement prouver la normalisation. La dernière partie porte sur la structure algébrique des modèles induits par la réalisabilité classique. Ce travail se base sur une notion d'algèbres implicatives développée par Alexandre Miquel, une structure algébrique très simple généralisant à la fois les algèbres de Boole complètes et les algèbres de réalisabilité de Krivine, de manière à exprimer dans un même cadre la théorie du forcing (au sens de Cohen) et la théorie de la réalisabilité classique (au sens de Krivine). Le principal défaut de cette structure est qu’elle est très orientée vers le λ-calcul, et ne permet d’interpréter fidèlement que les langages en appel par nom. Pour remédier à cette situation, on introduit deux variantes des algèbres implicatives les algèbres disjonctives, centrées sur le “par” de la logique linéaire (mais dans un cadre non linéaire) et naturellement adaptées aux langages en appel par nom, et les algèbres conjonctives, centrées sur le “tenseur” de la logique linéaire et adaptées aux langages en appel par valeur. On prouve en particulier que les algèbres disjonctives ne sont que des cas particuliers d'algèbres implicatives et que l'on peut obtenir une algèbre conjonctive à partir d'une algèbre disjonctive (par renversement de l’ordre sous-jacent). De plus, on montre comment interpréter dans ces cadres les fragments du système L de Guillaume Munch-Maccagnoni en appel par valeur (dans les algèbres conjonctives) et en appel par nom (dans les algèbres disjonctives).
Esta tesis se enfoca en el contenido calculatorio de las pruebas clásicas, particularmente en las pruebas con efectos de borde y en la realizabilidad clásica de Krivine. El manuscrito está divido en tres partes, la primera constituyendo una introducción detallada a los conceptos y herramientas involucrados. La segunda parte se concentra en el contenido calculatorio del axioma de elección dependiente en lógica clásica. Este trabajo se inscribe en la continuidad del sistema dPAω de Hugo Herbelin, que permite adaptar la prueba constructiva del axioma de elección en la teoría de tipos de Martin-Löf en una prueba constructiva del axioma de elección dependiente en un marco compatible con la lógica clásica. El objetivo principal de esta parte es la demostración de la propiedad de normalización para dPAω, de la cual depende la coherencia del sistema. Semejante prueba es difícil de conseguir, debido a la presencia simultanea de tipos dependientes (para la parte constructiva de la elección), de operadores de control (para la lógica clásica), de objetos coinductivos (para “codificar” una función del tipo é→A mediante el flujo de sus valores(a0,a1,. . .)) y de evaluación perezosa (para esos objetos coinductivos).En una primera etapa, las dificultades están estudiada separadamente. En particular, demostramos la normalización del call-by-need clásico (presentado como una extensión delλμ ̃μ- cálculo con memoria compartida) usando técnicas de realizabilidad. Desarrollamos después un cálculo de los secuentes clásico con tipos dependientes, definido otra vez como una extensión del λμ ̃μ- cálculo, cuya corrección está demostrada por gracias a una traducción CPS que toma las dependencias en cuenta. Por ́ultimo, introducimos una variante de dPAω en cálculo de los secuentes que combina los dos sistemas anteriores. Su normalización está finalmente demostrada usando técnicas de realizabilidad. La ultima parte esta centrada en el estudio de las estructuras algébricas de los modelos inducidos por la realizabilidad clásica. Este trabajo está basado en la noción de álgebras implicativas de Alexandre Miquel, una estructura algébrica muy sencilla generalizando al mismo tiempo las álgebras completas de Boole y las álgebras de realizabilidad de Krivine, de tal forma que se puede expresar en un mismo marco la teoría del forcing (de Cohen) y la teoría de la realizabilidad clásica (de Krivine). El defecto principal de esas estructuras es que son profundamente orientadas hacia elλ-cálculo, y que solamente permiten una interpretación fiel de lenguajes en call-by-name. Para remediar a ese problema, introducimos dos variantes de las álgebras implicativas: las álgebras disjunctivas, centradas en el “par” de la lógica linear (pero en un marco non-linear) y naturalmente adaptadas para lenguajes en call-by-name; y las álgebras conjunctivas, centradas en el tensor⊗de la lógica linear y adaptadas para lenguajes en call-by-value. Entre otras cosas, demostramos que las álgebras disjunctivas son casos particulares de las álgebras implicativas y que las álgebras conjunctivas pueden ser obtenidas por dualidad desde álgebras disjunctivas (invirtiendo el orden subyacente). Además, mostramos cómo interpretar en esos marcos los fragmentos del sistema L de Guillaume Munch-Maccagnoni’s correspondiendo al call-by-value (en las álgebras conjunctivas) y al call-by-name (en las álgebras disjunctivas).
2017 | |
Computational content of classical proof Side effects Lazy evaluation Axiome of dependent choice Classical realizability Implicative algebras |
|
Inglés | |
Universidad de la República | |
COLIBRI | |
https://hdl.handle.net/20.500.12008/21060 | |
Acceso abierto | |
Licencia Creative Commons Atribución – No Comercial – Sin Derivadas (CC - By-NC-ND) |