Towards a canonical classical natural deduction system

José Espírito Santo
2013 Annals of Pure and Applied Logic  
This paper studies a new classical natural deduction system, presented as a typed calculus named λµlet. It is designed to be isomorphic to Curien and Herbelin's λµμcalculus, both at the level of proofs and reduction, and the isomorphism is based on the correct correspondence between cut (resp. left-introduction) in sequent calculus, and substitution (resp. elimination) in natural deduction. It is a combination of Parigot's λµ-calculus with the idea of "coercion calculus" due to Cervesato and
more » ... nning, accommodating let-expressions in a surprising way: they expand Parigot's syntactic class of named terms. This calculus and the mentioned isomorphism Θ offer three missing components of the proof theory of classical logic: a canonical natural deduction system; a robust process of "read-back" of calculi in the sequent calculus format into natural deduction syntax; a formalization of the usual semantics of the λµμ-calculus, that explains co-terms and cuts as, respectively, contexts and hole-filling instructions. λµlet is not yet another classical calculus, but rather a canonical reflection in natural deduction of the impeccable treatment of classical logic by sequent calculus; and Θ provides the "read-back" map and the formalized semantics, based on the precise notions of context and "hole-expression" provided by λµlet. We use "read-back" to achieve a precise connection with Parigot's λµ, and to derive λ-calculi for call-by-value combining control and let-expressions in a logically founded way. Finally, the semantics Θ, when fully developed, can be inverted at each syntactic category. This development gives us license to see sequent calculus as the semantics of natural deduction; and uncovers a new syntactic concept in λµμ ("co-context"), with which one can give a new definition of η-reduction. The design of λµlet is not a mere formal achievement; we will try to prove that λµlet is full of syntactic subtlety, semantic insight, and, mainly, that it is the appropriate tool to make progress simultaneously in three different but related areas: (i) semantics of λµμ; (ii) CBV λ-calculus; (ii) natural deduction for classical logic. Before we explain λµlet in more detail, we expand on the problems we will address in these three areas. Semantics of λµμ. Gentzen [15] refined the de Morgan classical duality from the level of provability to the level of proofs, by defining the sequent calculus LK, a symmetric proof system for classical logic exhibiting a duality between hypothesis and conclusion. Recently Curien and Herbelin [7] introduced a variant of LK and the corresponding λµμ-calculus, extending the Curry-Howard correspondence to classical sequent calculus, and showing that classical logic also contains a duality, at the level of cut elimination, between call-by-name (CBN) and call-by-value (CBV) computation. Even if it is clear that λµμ is some sort of functional language with control facilities, its full understanding rests, so far, on intuitions that are vague and deserve to be formalized. We mean the explanation of co-terms as "contexts" (in particular, theμ operator is explained in terms of a let-expression with a hole); and the explanation of cuts as "hole filling" in those contexts [7, 19] . These contexts are derived from some natural deduction syntax, some variant of λµ, extended with let-expressions. But which variant exactly? We prove the answer is λµlet. The contexts that interpret co-terms are a derived syntactic notion of λµlet; and filling the hole of such contexts results in expressions of a certain syntactic class of λµlet named statements. This semantics is nothing less than the isomorphism Θ : λµμ → λµlet. 1 The CBV λ-calculus. Through λµμ, Curien and Herbelin reduced the essence of the non-determinism in classical cut-elimination to a single critical pair, and recognized in this critical pair the choice between CBN and CBV computation. In particular, this opened the way to the definition of CBV fragments of λµμ and to a proof-theoretical answer to the question "what is CBV λ-calculus?", a question firstly posed in [26] , and explicitly addressed in [7] . Such proof-theoretical approach contrasts with the developments in [22, 32, 33] that put forward Moggi's computational λ-calculus as the CBV λ-calculus. For a variety of reasons, one would like to see the sequent calculus account of CBV translated to natural deduction. First, because that would provide a "read-back" [7, 19] of λµμ proof expressions into a language where the familiar notation of functional application is available and, therefore, a language closer to actual programming languages. Second, because it is rather natural to ask whether the proof-theoretical understanding of CBV is an exclusive of sequent calculus, that is, whether natural deduction is, for some reason, doomed to account only for CBN computation. This read-back effort, already found in [7], continued through [19, 30, 20] . But the effort shows many difficulties. It is to a large extent informal, as the target system is not properly developed; it shows hesitations, as some attempts admittedly failed [19] ; and it is even contradictory, as the definition of CBV λµ-calculus in [30] disagrees with that of [24] . We propose the isomorphism Θ : λµμ → λµlet as a systematic read-back process, with
doi:10.1016/j.apal.2012.05.008 fatcat:wseksboskbbdzknydmqtu4eznq