A constructive proof of dependent choice in classical arithmetic via memoization

by   Étienne Miquey, et al.

In a recent paper, Herbelin developed dPA^ω, a calculus in which constructive proofs for the axioms of countable and dependent choices could be derived via the memoization of choice functions. However, the property of normalization (and therefore the one of soundness) was only conjectured. The difficulty for the proof of normalization is due to the simultaneous presence of dependent types (for the constructive part of the choice), of control operators (for classical logic), of coinductive objects (to encode functions of type N→ A into streams (a_0,a_1,...)) and of lazy evaluation with sharing (for memoizing these coinductive objects). Elaborating on previous works, we introduce in this paper a variant of dPA^ω presented as a sequent calculus. On the one hand, we take advantage of a variant of Krivine classical realizability that we developed to prove the normalization of classical call-by-need. On the other hand, we benefit from dL_t̂p̂, a classical sequent calculus with dependent types in which type safety is ensured by using delimited continuations together with a syntactic restriction. By combining the techniques developed in these papers, we manage to define a realizability interpretation à la Krivine of our calculus that allows us to prove normalization and soundness. This paper goes over the whole process, starting from Herbelin's calculus dPA^ω until our introduction of its sequent calculus counterpart dLPA^ω.


A sequent calculus with dependent types for classical arithmetic

In a recent paper, Herbelin developed dPA^ω, a calculus in which constru...

Realizability Interpretation and Normalization of Typed Call-by-Need λ-calculus With Control

We define a variant of realizability where realizers are pairs of a term...

Proofs and Refutations for Intuitionistic and Second-Order Logic (Extended Version)

The lambda-PRK-calculus is a typed lambda-calculus that exploits the dua...

Canonicity in Modal Lambda Calculus

In this paper we investigate the Curry-Howard-Lambek correspondence for ...

Extensional proofs in a propositional logic modulo isomorphisms

System I is a proof language for a fragment of propositional logic where...

L-types for resource awareness: an implicit name approach

Since the early work of Church on λI-calculus and Gentzen on structural ...

A Simple Soundness Proof for Dependent Object Types

Dependent Object Types (DOT) is intended to be a core calculus for model...

Please sign up or login with your details

Forgot password? Click here to reset