Section: New Results
Effects in proof theory and programming
Participants : Hugo Herbelin, Étienne Miquey, Yann Régis-Gianas, Alexis Saurin.
A classical sequent calculus with dependent types
Dependent types are a key feature of type systems, typically
used in the context of both richly-typed programming languages and
proof assistants. Control operators, which are connected with classical
logic along the proof-as-program correspondence, are known to misbehave
in the presence of dependent types [14], unless
dependencies are restricted to values.
As a step in his work to develop a sequent-calculus version of Hugo Herbelin's
Normalisation and realisability interpretation of call-by-need with control
The call-by-need evaluation strategy is an evaluation strategy of the λ-calculus
which evaluates arguments of functions only when needed, and, when needed,
shares their evaluations across all places where the argument is needed. The call-
by-need evaluation is for instance at the heart of a functional programming language such
as Haskell.
A continuation-passing-style semantics for call-by-need, de facto
giving a semantics to control operators, was proposed in the 90s by Okasaki, Lee and Tarditi.
However, this semantics does not ensure normalisation of simply-typed call-by-need
evaluation, thus failing to ensure a property which holds in the
simply-typed call-by-name and call-by-value cases.
Étienne Miquey and Hugo Herbelin have been considering a call-by-need
A sequent calculus with dependent types for classical arithmetic
In 2012, Hugo Herbelin showed that classical arithmetic in finite types extended with strong elimination of existential quantification proves the axiom of dependent choice. Getting classical logic and choice together without being inconsistent is made possible by: (1) constraining strong elimination of existential quantification to proofs that are essentially intuitionistic; (2) turning countable universal quantification into an infinite conjunction of classical proofs, which are evaluated along a call-by-need evaluation strategy, so as to extract from them intuitionistic contents that complies to the intuitionistic constraint put on strong elimination of existential quantification.
Relying on its sequent calculus with dependent types and its realisability interpretation for call-by-need with control, Étienne Miquey proposed in his thesis a sequent calculus with the same computational features [25]. His calculus therefore also allows for the direct definition of proof terms for the axioms of countable and dependent choices. The proofs of normalisation and soundness are made through a realisability interpretation of the calculus, which is obtained by using Danvy's methodology of semantics artifacts.
Reverse mathematics of Gödel's completeness theorem
Charlotte Barot, under the supervision of Hugo Herbelin, studied the relative intuitionistic strength of Gödel's completeness theorem, the ultrafilter lemma, and different forms of the Fan Theorem, as a way to transfer computational contents of proofs from one to the other theorems.
A theory of effects and resources
Arnaud Spiwack, in collaboration with Jean-Philippe Bernardy, Mathieu Boespflug, Ryan R. Newton and Simon Peyton-Jones, developed an extension of the type system of Haskell with linear types The work is to be presented at POPL'18.
In collaboration with Thomas Letan (Agence Nationale pour la Sécurité des Systèmes Informatiques), Yann Régis-Gianas studied how free monads can be used to develop modular implementations and proofs of effectful systems. This proof technique is applied to the formal study of architectural attacks on IBM PC like architectures.
Classical realisability and implicative algebras
Étienne Miquey has been working with Alexandre Miquel in Montevideo on the
topic of implicative algebras. Implicative algebras are an algebraisation of
the structure needed to develop a realisability model.
In particular, they give rise to the usual ordered combinatory algebras
and thus to the triposes used to model classical realisability.
An implicative algebra is given by an implicative structure (which consists
of a complete semi-lattice with a binary operation