Results 1 - 10
of
19
A Curry-Howard foundation for functional computation with control
- In Proceedings of ACM SIGPLAN-SIGACT Symposium on Principle of Programming Languages
, 1997
"... We introduce the type theory ¯ v , a call-by-value variant of Parigot's ¯-calculus, as a Curry-Howard representation theory of classical propositional proofs. The associated rewrite system is Church-Rosser and strongly normalizing, and definitional equality of the type theory is consistent, compatib ..."
Abstract
-
Cited by 67 (3 self)
- Add to MetaCart
We introduce the type theory ¯ v , a call-by-value variant of Parigot's ¯-calculus, as a Curry-Howard representation theory of classical propositional proofs. The associated rewrite system is Church-Rosser and strongly normalizing, and definitional equality of the type theory is consistent, compatible with cut, congruent and decidable. The attendant call-by-value 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 first-class continuations. Proof-theoretically 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 51 (8 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 safety-critical 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 quantifier-free 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 semantic view of classical proofs -- type-theoretic, 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 28 (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 non-constructive, 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 ...
A Simple Calculus of Exception Handling
- M. DEZANI-CIANCAGLINI 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 simply-typed -calculus ( ! exn ) featuring an ML-like exception handling mechanism. This calculus, whose type system corresponds to classical logic through the Curry-Howard isomorphism, satisfies several interesting properties: among other, Church-Rosser, subject reduction, and stro ..."
Abstract
-
Cited by 26 (0 self)
- Add to MetaCart
We introduce a simply-typed -calculus ( ! exn ) featuring an ML-like exception handling mechanism. This calculus, whose type system corresponds to classical logic through the Curry-Howard isomorphism, satisfies several interesting properties: among other, Church-Rosser, subject reduction, and strong-normalisation. Moreover, its typing system ensures that the reduction of well-typed expressions cannot give rise to uncaught exceptions.
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 25 (4 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 formulae-as-types interpretation of subtractive logic
- Journal of Logic and Computation
, 2004
"... We present a formulae-as-types interpretation of Subtractive Logic (i.e. bi-intuitionistic logic). This presentation is two-fold: 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 15 (1 self)
- Add to MetaCart
We present a formulae-as-types interpretation of Subtractive Logic (i.e. bi-intuitionistic logic). This presentation is two-fold: 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 first-class coroutines (a restricted form of first-class continuations). Keywords: Curry-Howard isomorphism, Subtractive Logic, control operators, coroutines. 1
A CPS-Translation of the λµ-Calculus
, 1994
"... We present a translation of Parigot's λµ-calculus [10] into the usual λ-calculus. This translation, which is based on the so-called 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 12 (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 so-called 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 by-product, we get the normalization of second order typed λµ-calculus.
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 first-order 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 first-order 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 Kripke-style Friedman/Dragalin translation which is inspired by work of Coquand and Hofmann and a variant of the refined A-translation due to Buchholz, Schwichtenberg and the author to extract programs from a rather large class of classical first-order 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 Brouwer-Heyting-Kolmogorov interpretation of constructive logic a proof is a construction providing evidence for the proven formula [20]. Viewing this interpretation from a data-oriented perspective one arrives at the so-called proofs-as-programs paradigm associating a constructive proof with a program ‘realizing ’ the proven formula. This paradigm has been
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 non-dependent type systems only, thus excluding well-known systems like the calculus of constructions ( ..."
Abstract
-
Cited by 9 (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 non-dependent type systems only, thus excluding well-known 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 type-theoretical applications.
A type-theoretic foundation of delimited continuations. Higher Order Symbol
- Comput
, 2009
"... Abstract. There is a correspondence between classical logic and programming language calculi with first-class continuations. With the addition of control delimiters, the continuations become composable and the calculi become more expressive. We present a fine-grained analysis of control delimiters a ..."
Abstract
-
Cited by 8 (1 self)
- Add to MetaCart
Abstract. There is a correspondence between classical logic and programming language calculi with first-class continuations. With the addition of control delimiters, the continuations become composable and the calculi become more expressive. We present a fine-grained analysis of control delimiters and formalise that their addition corresponds to the addition of a single dynamically-scoped variable modelling the special top-level continuation. From a type perspective, the dynamically-scoped variable requires effect annotations. In the presence of control, the dynamically-scoped variable can be interpreted in a purely functional way by applying a store-passing style. At the type level, the effect annotations are mapped within standard classical logic extended with the dual of implication, namely subtraction. A continuation-passing-style transformation of lambda-calculus 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 simply-typed lambda-calculus with control and subtraction.

