Results 1  10
of
13
Constructive Logics. Part I: A Tutorial on Proof Systems and Typed λCalculi
, 1992
"... ..."
(Show Context)
Computational types from a logical perspective
 Journal of Functional Programming
, 1998
"... Moggi’s computational lambda calculus is a metalanguage for denotational semantics which arose from the observation that many different notions of computation have the categorical structure of a strong monad on a cartesian closed category. In this paper we show that the computational lambda calculus ..."
Abstract

Cited by 60 (6 self)
 Add to MetaCart
(Show Context)
Moggi’s computational lambda calculus is a metalanguage for denotational semantics which arose from the observation that many different notions of computation have the categorical structure of a strong monad on a cartesian closed category. In this paper we show that the computational lambda calculus also arises naturally as the term calculus corresponding (by the CurryHoward correspondence) to a novel intuitionistic modal propositional logic. We give natural deduction, sequent calculus and Hilbertstyle presentations of this logic and prove strong normalisation and confluence results. 1
The Occurrence of Continuation Parameters in CPS Terms
, 1995
"... We prove an occurrence property about formal parameters of continuations in ContinuationPassing Style (CPS) terms that have been automatically produced by CPS transformation of pure, callbyvalue terms. Essentially, parameters of continuations obey a stacklike discipline. This property was intro ..."
Abstract

Cited by 24 (17 self)
 Add to MetaCart
(Show Context)
We prove an occurrence property about formal parameters of continuations in ContinuationPassing Style (CPS) terms that have been automatically produced by CPS transformation of pure, callbyvalue terms. Essentially, parameters of continuations obey a stacklike discipline. This property was introduced, but not formally proven, in an earlier work on the DirectStyle transformation (the inverse of the CPS transformation). The proof has been implemented in Elf, a constraint logic programming language based on the logical framework LF. In fact, it was the implementation that inspired the proof. Thus this note also presents a case study of machineassisted proof discovery. All the programs are available in ( ftp.daimi.aau.dk:pub/danvy/Programs/danvypfenningElf93.tar.gz ftp.cs.cmu.edu:user/fp/papers/cpsocc95.tar.gz Most of the research reported here was carried out while the first author visited Carnegie Mellon University in the Spring of 1993. Current address: Olivier Danvy, Ny Munkeg...
On proving syntactic properties of CPS programs
, 1999
"... Higherorder program transformations raise new challenges for proving properties of their output, since they resist traditional, rstorder proof techniques. In this work, we consider (1) the \onepass" continuationpassing style (CPS) transformation, which is secondorder, and (2) the occur ..."
Abstract

Cited by 24 (9 self)
 Add to MetaCart
Higherorder program transformations raise new challenges for proving properties of their output, since they resist traditional, rstorder proof techniques. In this work, we consider (1) the \onepass" continuationpassing style (CPS) transformation, which is secondorder, and (2) the occurrences of parameters of continuations in its output. To this end, we specify the onepass CPS transformation relationally and we use the proof technique of logical relations.
The simply typed rewriting calculus
 WRLA 2004
, 2004
"... The rewriting calculus is a rule construction and application framework. As such it embeds in a uniform way term rewriting and lambdacalculus. Since rule application is an explicit object of the calculus, it allows us also to handle the set of results explicitly. We present a simply typed version o ..."
Abstract

Cited by 10 (5 self)
 Add to MetaCart
(Show Context)
The rewriting calculus is a rule construction and application framework. As such it embeds in a uniform way term rewriting and lambdacalculus. Since rule application is an explicit object of the calculus, it allows us also to handle the set of results explicitly. We present a simply typed version of the rewriting calculus. With a good choice of the type system, we show that the calculus is type preserving and terminating, i.e. verifies the subject reduction and strong normalization properties.
Explicit Substitutions and Reducibility
 Journal of Logic and Computation
, 2001
"... . We consider reducibility sets dened not by induction on types but by induction on sequents as a tool to prove strong normalization of systems with explicit substitution. To illustrate this point, we give a proof of strong normalization (SN) for simplytyped callbyname ~calculus enriched with op ..."
Abstract

Cited by 7 (1 self)
 Add to MetaCart
(Show Context)
. We consider reducibility sets dened not by induction on types but by induction on sequents as a tool to prove strong normalization of systems with explicit substitution. To illustrate this point, we give a proof of strong normalization (SN) for simplytyped callbyname ~calculus enriched with operators of explicit unary substitutions. The ~calculus, dened by Curien & Herbelin, is a variant of calculus with a let operator that exhibits symmetries such as terms/contexts and callbyname /callbyvalue reduction. The ~calculus embeds various standard calculi (and Gentzen's style sequent calculi too) and as an application we derive the strong normalization of Parigot's simplytyped calculus with explicit substitution. Introduction Explicit substitution in calculus The traditional theory of calculus relies on reduction, that is the capture by a function of its argument followed by the process of substituting this argument to the places where it is used. The ...
Lambda Calculus: A Case for Inductive Definitions
, 2000
"... These lecture notes intend to introduce to the subject of lambda calculus and types. A special focus is on the use of inductive denitions. The ultimate goal of the course is an advanced treatment of inductive types. Contents 1 Overview 2 2 Introduction to Inductive Denitions 4 3 Lambda Calculus 13 ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
These lecture notes intend to introduce to the subject of lambda calculus and types. A special focus is on the use of inductive denitions. The ultimate goal of the course is an advanced treatment of inductive types. Contents 1 Overview 2 2 Introduction to Inductive Denitions 4 3 Lambda Calculus 13 3.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.2 Pure Untyped Lambda Calculus . . . . . . . . . . . . . . . . . . 15 4 Conuence 19 5 Weak and Strong Normalization 27 6 Simple and Intersection Types 33 6.1 SimplyTyped Lambda Calculus . . . . . . . . . . . . . . . . . . 34 6.2 Lambda Calculus with Intersection Types . . . . . . . . . . . . . 36 6.3 Strong Normalization of Typable Terms . . . . . . . . . . . . . . 39 6.4 Typability of Strongly Normalizing Terms . . . . . . . . . . . . . 41 7 Parametric Polymorphism 41 7.1 Strong Normalization of Typable Terms . . . . . . . . . . . . . . 44 7.1.1 Saturated Sets . . . . . . . . . . . . . . . . . . . . . ....
Appendix 1: Product Types in F !
"... for short, raw terms) is de ned inductively as follows: c 2 P, whenever c 2 , x 2 P, whenever x 2 X , (MN) 2 P, whenever M;N 2 P, hM; Ni 2 P, whenever M;N 2 P, 1 (M); 2 (M) 2 P, whenever M 2 P, (x: : M) 2 P, whenever x 2 X , 2 T , and M 2 P, (M) 2 P, whenever 2 T and M 2 P, (t: K: M) ..."
Abstract
 Add to MetaCart
for short, raw terms) is de ned inductively as follows: c 2 P, whenever c 2 , x 2 P, whenever x 2 X , (MN) 2 P, whenever M;N 2 P, hM; Ni 2 P, whenever M;N 2 P, 1 (M); 2 (M) 2 P, whenever M 2 P, (x: : M) 2 P, whenever x 2 X , 2 T , and M 2 P, (M) 2 P, whenever 2 T and M 2 P, (t: K: M) 2 P, whenever t 2 V, K 2 K, and M 2 P. The notions of substitution and equivalence are extended in the obvious way. In order to deal with product types, it is necessary to add the following kindchecking rule: . : ? . : ? . : ? () The de nition of the relation ! ! does not have to be changed, since the congruence rule takes care of ), , and K . It is easy to see that corollary 6.18 and corollary 6.19 hold for the new class of types. Thus, every ( equivalence class of) type that kindchecks has a unique normal form. The following inference rules need to be added to the proof system used for typechecking terms. . M : . N :
Termination
"... proof. Let us examine why. ; #M 1 :A 2#A 1 2 :A 2 #E. M 2 :A 1 We can make the following inferences. V 1 = #x:A 2 .M # 1 By type preservation and inversion At this point we cannot proceed: we need a derivation of [V 2 /x]M # 1 ## V for some V to complete the derivation of M 1 ..."
Abstract
 Add to MetaCart
proof. Let us examine why. ; #M 1 :A 2#A 1 2 :A 2 #E. M 2 :A 1 We can make the following inferences. V 1 = #x:A 2 .M # 1 By type preservation and inversion At this point we cannot proceed: we need a derivation of [V 2 /x]M # 1 ## V for some V to complete the derivation of M 1 M 2 ## V . Unfortunately, the induction hypothesis does not tell us anything about [V 2 /x]M # 1 . Basically, we need to extend it so it makes a statement about the result of evaluation ( #x:A 2 .M # 1 ,inthis case). Sticking to the case of linear application for the moment, we call a term M "good" if it evaluates to a "good" value V .AvalueVis "good" if it is a function #x:A 2 .M # 1 and if substituting a "good" value V 2 for x in M # 1 results in a "good" term. Note that this is not a proper definition, since to see if V is "good" we may need to substitute any "good" value V 2 into it, possibly including V itself. We can make this definition inductive if we observe that the value
Chapter 7 Linear Type Theory
"... itives j A B j !A Exponentials We now reconsider the quanti ers, 8x: A and 9x: A. In the rstorder linear logic we developed, the quanti ers range over a single (unspeci ed) domain. We may thus think of rstorder logic as the study of quanti cation independently of any particular domain. Thi ..."
Abstract
 Add to MetaCart
itives j A B j !A Exponentials We now reconsider the quanti ers, 8x: A and 9x: A. In the rstorder linear logic we developed, the quanti ers range over a single (unspeci ed) domain. We may thus think of rstorder logic as the study of quanti cation independently of any particular domain. This is accomplished by not making any assumptions about the domain of quanti cation. In contrast, rstorder arithmetic arises if we introduce natural numbers and allow quanti ers to range speci cally over natural numbers. This suggests to generalize the quanti ers to 8x:: A and 9x:: A, where is a type. In type theory, we may identify types with propositions. Therefore, we may label a quanti er with A instead of inventing a new syntactic category of types. Data types, such as the natural numbers, then have to be introduced as new types A together with their introduction and elimination rules. We postpone the discussion of numbers and other data types to Section ??. Here, we are mo