A sequent calculus with dependent types for classical arithmetic

05/24/2018
by   Étienne Miquey, et al.
0

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 encoding of a proof of countable universal quantification as a stream of it components. 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 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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
03/18/2019

A constructive proof of dependent choice in classical arithmetic via memoization

In a recent paper, Herbelin developed dPA^ω, a calculus in which constru...
research
03/02/2018

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...
research
10/13/2022

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

The lambda-PRK-calculus is a typed lambda-calculus that exploits the dua...
research
04/15/2019

A Path To DOT: Formalizing Fully-Path-Dependent Types

The Dependent Object Types (DOT) calculus aims to formalize the Scala pr...
research
10/07/2019

Revisiting the duality of computation: an algebraic analysis of classical realizability models

In an impressive series of papers, Krivine showed at the edge of the las...
research
06/12/2017

A Simple Soundness Proof for Dependent Object Types

Dependent Object Types (DOT) is intended to be a core calculus for model...
research
05/01/2018

Index-Stratified Types (Extended Version)

We present Tores, a core language for encoding metatheoretic proofs. The...

Please sign up or login with your details

Forgot password? Click here to reset