Results 1  10
of
22
A CurryHoward foundation for functional computation with control
 In Proceedings of ACM SIGPLANSIGACT Symposium on Principle of Programming Languages
, 1997
"... We introduce the type theory ¯ v , a callbyvalue variant of Parigot's ¯calculus, as a CurryHoward representation theory of classical propositional proofs. The associated rewrite system is ChurchRosser and strongly normalizing, and definitional equality of the type theory is consistent, compatib ..."
Abstract

Cited by 77 (3 self)
 Add to MetaCart
We introduce the type theory ¯ v , a callbyvalue variant of Parigot's ¯calculus, as a CurryHoward representation theory of classical propositional proofs. The associated rewrite system is ChurchRosser and strongly normalizing, and definitional equality of the type theory is consistent, compatible with cut, congruent and decidable. The attendant callbyvalue programming language ¯pcf v is obtained from ¯ v by augmenting it by basic arithmetic, conditionals and fixpoints. We study the behavioural properties of ¯pcf v and show that, though simple, it is a very general language for functional computation with control: it can express all the main control constructs such as exceptions and firstclass continuations. Prooftheoretically the dual ¯ v constructs of naming and ¯abstraction witness the introduction and elimination rules of absurdity respectively. Computationally they give succinct expression to a kind of generic (forward) "jump" operator, which may be regarded as a unif...
Program extraction from classical proofs
 Annals of Pure and Applied Logic
, 1994
"... 1 Introduction It is well known that it is undecidable in general whether a given program meets its specification. In contrast, it can be checked easily by a machine whether a formal proof is correct, and from a constructive proof one can automatically extract a corresponding program, which by its v ..."
Abstract

Cited by 54 (9 self)
 Add to MetaCart
1 Introduction It is well known that it is undecidable in general whether a given program meets its specification. In contrast, it can be checked easily by a machine whether a formal proof is correct, and from a constructive proof one can automatically extract a corresponding program, which by its very construction is correct as well. This at least in principle opens a way to produce correct software, e.g. for safetycritical applications. Moreover, programs obtained from proofs are "commented " in a rather extreme sense. Therefore it is easy to maintain them, and also to adapt them to particular situations. We will concentrate on the question of classical versus constructive proofs. It is known that any classical proof of a specification of the form 8x9yB with B quantifierfree can be transformed into a constructive proof of the same formula. However, when it comes to extraction of a program from a proof obtained in this way, one easily ends up with a mess. Therefore, some refinements of the standard transformation are necessary.
A Simple Calculus of Exception Handling
 M. DEZANICIANCAGLINI AND G. PLOTKIN (EDS) PROCEEDINGS OF THE SECOND INTERNATIONAL CONFERENCE ON TYPED LAMBDA CALCULI AND APPLICATIONS, LECTURE NOTES IN COMPUTER SCIENCE, VOL. 902
, 1995
"... We introduce a simplytyped calculus ( ! exn ) featuring an MLlike exception handling mechanism. This calculus, whose type system corresponds to classical logic through the CurryHoward isomorphism, satisfies several interesting properties: among other, ChurchRosser, subject reduction, and stro ..."
Abstract

Cited by 37 (0 self)
 Add to MetaCart
We introduce a simplytyped calculus ( ! exn ) featuring an MLlike exception handling mechanism. This calculus, whose type system corresponds to classical logic through the CurryHoward isomorphism, satisfies several interesting properties: among other, ChurchRosser, subject reduction, and strongnormalisation. Moreover, its typing system ensures that the reduction of welltyped expressions cannot give rise to uncaught exceptions.
A semantic view of classical proofs  typetheoretic, categorical, and denotational characterizations (Extended Abstract)
 IN PROCEEDINGS OF LICS '96
, 1996
"... Classical logic is one of the best examples of a mathematical theory that is truly useful to computer science. Hardware and software engineers apply the theory routinely. Yet from a foundational standpoint, there are aspects of classical logic that are problematic. Unlike intuitionistic logic, class ..."
Abstract

Cited by 30 (2 self)
 Add to MetaCart
Classical logic is one of the best examples of a mathematical theory that is truly useful to computer science. Hardware and software engineers apply the theory routinely. Yet from a foundational standpoint, there are aspects of classical logic that are problematic. Unlike intuitionistic logic, classical logic is often held to be nonconstructive, and so, is said to admit no proof semantics. To draw an analogy in the proofsas programs paradigm, it is as if we understand well the theory of manipulation between equivalent specifications (which we do), but have comparatively little foundational insight of the process of transforming one program to another that implements the same specification. This extended abstract outlines a semantic theory of classical proofs based on a variant of Parigot's λµcalculus [24], but presented here as a type theory. After reviewing the conceptual problems in the area and the potential benefits of such a theory, we sketch the key steps of our approach in ...
Minimal Classical Logic and Control Operators
 In ICALP: Annual International Colloquium on Automata, Languages and Programming, volume 2719 of LNCS
, 2003
"... We give an analysis of various classical axioms and characterize a notion of minimal classical logic that enforces Peirce's law without enforcing Ex Falso Quodlibet. We show that a \natural" implementation of this logic is Parigot's classical natural deduction. ..."
Abstract

Cited by 30 (5 self)
 Add to MetaCart
We give an analysis of various classical axioms and characterize a notion of minimal classical logic that enforces Peirce's law without enforcing Ex Falso Quodlibet. We show that a \natural" implementation of this logic is Parigot's classical natural deduction.
A formulaeastypes interpretation of subtractive logic
 Journal of Logic and Computation
, 2004
"... We present a formulaeastypes interpretation of Subtractive Logic (i.e. biintuitionistic logic). This presentation is twofold: we first define a very natural restriction of the λµcalculus which is closed under reduction and whose type system is a constructive restriction of the Classical Natural ..."
Abstract

Cited by 23 (1 self)
 Add to MetaCart
We present a formulaeastypes interpretation of Subtractive Logic (i.e. biintuitionistic logic). This presentation is twofold: we first define a very natural restriction of the λµcalculus which is closed under reduction and whose type system is a constructive restriction of the Classical Natural Deduction. Then we extend this deduction system conservatively to Subtractive Logic. From a computational standpoint, the resulting calculus provides a type system for firstclass coroutines (a restricted form of firstclass continuations). Keywords: CurryHoward isomorphism, Subtractive Logic, control operators, coroutines. 1
A CPSTranslation of the λµCalculus
, 1994
"... We present a translation of Parigot's λµcalculus [10] into the usual λcalculus. This translation, which is based on the socalled continuation passing style, is correct with respect to equality and with respect to evaluation. At the type level, it induces a logical interpretation of classical log ..."
Abstract

Cited by 15 (1 self)
 Add to MetaCart
We present a translation of Parigot's λµcalculus [10] into the usual λcalculus. This translation, which is based on the socalled continuation passing style, is correct with respect to equality and with respect to evaluation. At the type level, it induces a logical interpretation of classical logic into intuitionistic one, akin to Kolmogorov's negative translation. As a byproduct, we get the normalization of second order typed λµcalculus.
A typetheoretic foundation of delimited continuations. Higher Order Symbol
 Comput
, 2009
"... Abstract. There is a correspondence between classical logic and programming language calculi with firstclass continuations. With the addition of control delimiters, the continuations become composable and the calculi become more expressive. We present a finegrained analysis of control delimiters a ..."
Abstract

Cited by 14 (6 self)
 Add to MetaCart
Abstract. There is a correspondence between classical logic and programming language calculi with firstclass continuations. With the addition of control delimiters, the continuations become composable and the calculi become more expressive. We present a finegrained analysis of control delimiters and formalise that their addition corresponds to the addition of a single dynamicallyscoped variable modelling the special toplevel continuation. From a type perspective, the dynamicallyscoped variable requires effect annotations. In the presence of control, the dynamicallyscoped variable can be interpreted in a purely functional way by applying a storepassing style. At the type level, the effect annotations are mapped within standard classical logic extended with the dual of implication, namely subtraction. A continuationpassingstyle transformation of lambdacalculus with control and subtraction is defined. Combining the translations provides a decomposition of standard CPS transformations for delimited continuations. Incidentally, we also give a direct normalisation proof of the simplytyped lambdacalculus with control and subtraction.
CPS Translations and Applications: The Cube and Beyond
 Higher Order and Symbolic Computation
, 1996
"... Continuation passing style (CPS) translations of typed calculi have numerous applications. However, the range of these applications has been conned by the fact that CPS translations are known for nondependent type systems only, thus excluding wellknown systems like the calculus of constructions ( ..."
Abstract

Cited by 10 (2 self)
 Add to MetaCart
Continuation passing style (CPS) translations of typed calculi have numerous applications. However, the range of these applications has been conned by the fact that CPS translations are known for nondependent type systems only, thus excluding wellknown systems like the calculus of constructions (CC) and the logical frameworks (LF). This paper presents techniques for CPS translating systems with dependent types, with an emphasis on pure typetheoretical applications.
Uniform Heyting arithmetic
 Annals Pure Applied Logic
, 2005
"... Abstract. We present an extension of Heyting Arithmetic in finite types called Uniform Heyting Arithmetic (HA u) that allows for the extraction of optimized programs from constructive and classical proofs. The system HA u has two sorts of firstorder quantifiers: ordinary quantifiers governed by the ..."
Abstract

Cited by 9 (0 self)
 Add to MetaCart
Abstract. We present an extension of Heyting Arithmetic in finite types called Uniform Heyting Arithmetic (HA u) that allows for the extraction of optimized programs from constructive and classical proofs. The system HA u has two sorts of firstorder quantifiers: ordinary quantifiers governed by the usual rules, and uniform quantifiers subject to stronger variable conditions expressing roughly that the quantified object is not computationally used in the proof. We combine a Kripkestyle Friedman/Dragalin translation which is inspired by work of Coquand and Hofmann and a variant of the refined Atranslation due to Buchholz, Schwichtenberg and the author to extract programs from a rather large class of classical firstorder proofs while keeping explicit control over the levels of recursion and the decision procedures for predicates used in the extracted program. §1. Introduction. According to the BrouwerHeytingKolmogorov interpretation of constructive logic a proof is a construction providing evidence for the proven formula [20]. Viewing this interpretation from a dataoriented perspective one arrives at the socalled proofsasprograms paradigm associating a constructive proof with a program ‘realizing ’ the proven formula. This paradigm has been