Results 1  10
of
13
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 General Storage Theorem for Integers in CallByName
"... The notion of storage operator introduced in [5, 6] appears to be an important tool in the study of data types in second order #calculus. These operators are #terms which simulate callbyvalue in the callbyname strategy, and they can be used in order to modelize assignment instructions. The mai ..."
Abstract

Cited by 16 (4 self)
 Add to MetaCart
The notion of storage operator introduced in [5, 6] appears to be an important tool in the study of data types in second order #calculus. These operators are #terms which simulate callbyvalue in the callbyname strategy, and they can be used in order to modelize assignment instructions. The main result about storage operators is that there is a very simple second order type for them, using Godel's "notnot translation" of classical into intuitionistic logic. We give here a new and simpler proof of a strengthened version of this theorem, which contains all previous results in intuitionistic and in classical logic ([6, 7]), and gives rise to new "storage theorems". Moreover, this result has a simple and intuitive meaning, in terms of realizability.
A Typetheoretic Study on Partial Continuations
 Theoretical Computer Science: Exploring New Frontiers of Theoretical Informatics, volume 1872 of Lecture Notes in Computer Science
, 2000
"... . Partial continuations are control operators in functional programming such that a functionlike object is abstracted from a part of the rest of computation, rather than the whole rest of computation. Several dierent formulations of partial continuations have been proposed by Felleisen, Danvy&F ..."
Abstract

Cited by 12 (4 self)
 Add to MetaCart
. Partial continuations are control operators in functional programming such that a functionlike object is abstracted from a part of the rest of computation, rather than the whole rest of computation. Several dierent formulations of partial continuations have been proposed by Felleisen, Danvy&Filinski, Hieb et al, and others, but as far as we know, no one ever studied logic for partial continuations, nor proposed a typed calculus of partial continuations which corresponds to a logical system through the CurryHoward isomorphism. This paper gives a simple typetheoretic formulation of a form of partial continuations (which we call delimited continuations), and study its properties. Our calculus does reect the intended operational semantics, and enjoys nice properties such as subject reduction and conuence. By restricting the type of delimiters to be atomic, we obtain the normal form property. We also show a few examples. 1 Introduction The mechanism of rstclass cont...
Implementing Typeful Program Transformations
"... The notion of program transformation is ubiquitous in programming language studies on interpreters, compilers, partial evaluators, etc. In order to implement a program transformation, we need to choose a representation in the meta language, that is, the programming language in which we construct p ..."
Abstract

Cited by 11 (1 self)
 Add to MetaCart
The notion of program transformation is ubiquitous in programming language studies on interpreters, compilers, partial evaluators, etc. In order to implement a program transformation, we need to choose a representation in the meta language, that is, the programming language in which we construct programs, for representing object programs, that is, the programs in the object language on which the program transformation is to be performed. In practice, most representations chosen for typed...
Duality between CallbyName Recursion and CallbyValue Iteration
 In Proc. Computer Science Logic, Springer Lecture Notes in Comput. Sci
, 2001
"... We investigate the duality between callbyname recursion and callbyvalue iteration on the calculi. The duality between callbyname and callbyvalue was first studied by Filinski, and Selinger has studied the categorytheoretic duality on the models of the callbyname calculus and the callby ..."
Abstract

Cited by 9 (4 self)
 Add to MetaCart
We investigate the duality between callbyname recursion and callbyvalue iteration on the calculi. The duality between callbyname and callbyvalue was first studied by Filinski, and Selinger has studied the categorytheoretic duality on the models of the callbyname calculus and the callbyvalue one. We extend the callbyname calculus and the callbyvalue one with a fixedpoint operator and an iteration operator, respectively. We show that the dual translations constructed by Selinger can be expanded into our extended calculi, and we also discuss their implications to practical applications.
Strong Normalizability of the Nondeterministic Catch/Throw Calculi
 Theoretical Computer Science
"... The catch/throw mechanism in Common Lisp provides a simple control mechanism for nonlocal exit. We study typed calculi by Nakano and Sato which formalize the catch/throw mechanism. These calculi correspond to classical logic through the CurryHoward isomorphism, and one of their characteristic poin ..."
Abstract

Cited by 6 (1 self)
 Add to MetaCart
The catch/throw mechanism in Common Lisp provides a simple control mechanism for nonlocal exit. We study typed calculi by Nakano and Sato which formalize the catch/throw mechanism. These calculi correspond to classical logic through the CurryHoward isomorphism, and one of their characteristic points is that they have nondeterministic reduction rules. These calculi can represent various computational meaning of classical proofs. This paper is mainly concerned with the strong normalizability of these calculi. Namely, we prove the strong normalizability of these calculi, which was an open problem. We first formulate a nondeterministic variant of Parigot's calculus, and show it is strongly normalizing. We then translate the catch/throw calculi to this variant. Since the translation preserves typing and reduction, we obtain the strong normalization of the catch/throw calculi. We also briefly consider secondorder extension of the catch/throw calculi.
Symmetry and Interactivity in Programming
 Bulletin of Symbolic Logic
, 2001
"... We recall some of the early occurrences of the notions of interactivity and symmetry in the operational and denotational semantics of programming languages. We suggest some connections with ludics. ..."
Abstract

Cited by 5 (1 self)
 Add to MetaCart
We recall some of the early occurrences of the notions of interactivity and symmetry in the operational and denotational semantics of programming languages. We suggest some connections with ludics.
A CurryHoward Isomorphism for Compilation and Program Execution (Extended Abstract)
 In Proc. Typed Lambda Calculi and Applications, Springer LNCS 1581
, 1999
"... This paper establishes a CurryHoward isomorphism for compilation and program execution by showing the following facts. (1) The set of Anormal forms, which is often used as an intermediate language for compilation, corresponds to a subsystem of Kleene's contractionfree variant of Gentzen's intuiti ..."
Abstract

Cited by 3 (2 self)
 Add to MetaCart
This paper establishes a CurryHoward isomorphism for compilation and program execution by showing the following facts. (1) The set of Anormal forms, which is often used as an intermediate language for compilation, corresponds to a subsystem of Kleene's contractionfree variant of Gentzen's intuitionistic sequent calculus. (2) Compiling the lambda terms to the set of Anormal forms corresponds to proof transformation from the natural deduction to the sequent calculus followed by proof normalization. (3) Execution of an Anormal form corresponds to a special proof reduction in the sequent calculus. Different from cut elimination, this process eliminates left rules by converting them to cuts of proofs corresponding to closed values. The evaluation of an entire program is the process of inductively applying this process followed b...
A Proof Theoretical Account of Continuation Passing Style
 In CSL ’02: Proceedings of the 16th International Workshop and 11th Annual Conference of the EACSL on Computer Science Logic
, 2002
"... We study "classical proofs as programs" paradigm in CallBy Value (CBV) setting. Specifically, we show the CBV normalization for CND (Parigot 92) can be simulated by the cutelimination procedure for LKQ (DanosJoinetSchellinx 93), namely the qprotocol. We use proofterm assignment system to p ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
We study "classical proofs as programs" paradigm in CallBy Value (CBV) setting. Specifically, we show the CBV normalization for CND (Parigot 92) can be simulated by the cutelimination procedure for LKQ (DanosJoinetSchellinx 93), namely the qprotocol. We use proofterm assignment system to prove this fact. The term calculus for CND we use follows Parigot's #calculus with new CBV normalization procedure. A new term calculus for LKQ is presented as a variant of #calculus with a letconstruct. We then define a translation from CND into LKQ and prove simulation theorem. We also show the translation we use can be thought of a familiar CBV CPStranslation without translation on types.