Results 1  10
of
17
Pure Pattern Type Systems
 In POPL’03
, 2003
"... We introduce a new framework of algebraic pure type systems in which we consider rewrite rules as lambda terms with patterns and rewrite rule application as abstraction application with builtin matching facilities. This framework, that we call “Pure Pattern Type Systems”, is particularly wellsuite ..."
Abstract

Cited by 43 (20 self)
 Add to MetaCart
We introduce a new framework of algebraic pure type systems in which we consider rewrite rules as lambda terms with patterns and rewrite rule application as abstraction application with builtin matching facilities. This framework, that we call “Pure Pattern Type Systems”, is particularly wellsuited for the foundations of programming (meta)languages and proof assistants since it provides in a fully unified setting higherorder capabilities and pattern matching ability together with powerful type systems. We prove some standard properties like confluence and subject reduction for the case of a syntactic theory and under a syntactical restriction over the shape of patterns. We also conjecture the strong normalization of typable terms. This work should be seen as a contribution to a formal connection between logics and rewriting, and a step towards new proof engines based on the CurryHoward isomorphism.
Pure Type Systems with Definitions
, 1993
"... In this paper, an extension of Pure Type Systems (PTS's) with definitions is presented. We prove this extension preserves many of the properties of PTS's. The main result is a proof that for many PTS's, including the Calculus of Constructions, this extension preserves strong normalisation. ..."
Abstract

Cited by 20 (1 self)
 Add to MetaCart
In this paper, an extension of Pure Type Systems (PTS's) with definitions is presented. We prove this extension preserves many of the properties of PTS's. The main result is a proof that for many PTS's, including the Calculus of Constructions, this extension preserves strong normalisation.
A short and flexible proof of Strong Normalization for the Calculus of Constructions
, 1994
"... this paper can still go through (with slightly more technical effort) in case one can distinguish cases according to whether a specific subterm is a type or kind in a fixed context. The other property of type systems that is really actually required for the constructions in this paper to go through ..."
Abstract

Cited by 16 (0 self)
 Add to MetaCart
this paper can still go through (with slightly more technical effort) in case one can distinguish cases according to whether a specific subterm is a type or kind in a fixed context. The other property of type systems that is really actually required for the constructions in this paper to go through is a slight strengthening of the Stripping property (also called Generation). This property says, for example, that if \Gamma ` v:T:M : U has a derivation D, then one can find a subderivation of
Atranslation and Looping Combinators in Pure Type Systems
 Journal of Functional Programming
, 1994
"... We present here a generalization of Atranslation to a class of Pure Type Systems. We apply this translation to give a direct proof of the existence of a looping combinator in a large class of inconsistent type systems, class which includes type systems with a type of all types. This is the first no ..."
Abstract

Cited by 9 (1 self)
 Add to MetaCart
We present here a generalization of Atranslation to a class of Pure Type Systems. We apply this translation to give a direct proof of the existence of a looping combinator in a large class of inconsistent type systems, class which includes type systems with a type of all types. This is the first nonautomated solution to this problem.
The Calculus of Constructions and Higher Order Logic
 In preparation
, 1992
"... The Calculus of Constructions (CC) ([Coquand 1985]) is a typed lambda calculus for higher order intuitionistic logic: proofs of the higher order logic are interpreted as lambda terms and formulas as types. It is also the union of Girard's system F! ([Girard 1972]), a higher order typed lambda calcul ..."
Abstract

Cited by 6 (0 self)
 Add to MetaCart
The Calculus of Constructions (CC) ([Coquand 1985]) is a typed lambda calculus for higher order intuitionistic logic: proofs of the higher order logic are interpreted as lambda terms and formulas as types. It is also the union of Girard's system F! ([Girard 1972]), a higher order typed lambda calculus, and a first order dependent typed lambda calculus in the style of de Bruijn's Automath ([de Bruijn 1980]) or MartinLof's intuitionistic theory of types ([MartinLof 1984]). Using the impredicative coding of data types in F! , the Calculus of Constructions thus becomes a higher order language for the typing of functional programs. We shall introduce and try to explain CC by exploiting especially the first point of view, by introducing a typed lambda calculus that faithfully represent higher order predicate logic (so for this system the CurryHoward `formulasastypes isomorphism' is really an isomorphism.) Then we discuss some propositions that are provable in CC but not in the higher or...
Constructor subtyping in the Calculus of Inductive Constructions
 Proceedings of FOSSACS'00, LNCS 1784
, 2000
"... The Calculus of Inductive Constructions (CIC) is a powerful type system, featuring dependent types and inductive definitions, that forms the basis of proofassistant systems such as Coq and Lego. We extend CIC with constructor subtyping, a basic form of subtyping in which an inductive type σ i ..."
Abstract

Cited by 6 (0 self)
 Add to MetaCart
The Calculus of Inductive Constructions (CIC) is a powerful type system, featuring dependent types and inductive definitions, that forms the basis of proofassistant systems such as Coq and Lego. We extend CIC with constructor subtyping, a basic form of subtyping in which an inductive type σ is viewed as a subtype of another inductive type τ if τ has more elements than σ. It is shown that the calculus is wellbehaved and provides a suitable basis for formalizing natural semantics in proofdevelopment systems.
Weak and Strong Beta Normalisations in Typed λCalculi
 In: Proc. of the 3 rd International Conference on Typed Lambda Calculus and Applications, TLCA'97
, 1997
"... . We present a technique to study relations between weak and strong finormalisations in various typed calculi. We first introduce a translation which translates a term into a Iterm, and show that a term is strongly finormalisable if and only if its translation is weakly finormalisable. We t ..."
Abstract

Cited by 4 (1 self)
 Add to MetaCart
. We present a technique to study relations between weak and strong finormalisations in various typed calculi. We first introduce a translation which translates a term into a Iterm, and show that a term is strongly finormalisable if and only if its translation is weakly finormalisable. We then prove that the translation preserves typability of terms in various typed calculi. This enables us to establish the equivalence between weak and strong finormalisations in these typed calculi. This translation can deal with Curry typing as well as Church typing, strengthening some recent closely related results. This may bring some insights into answering whether weak and strong finormalisations in all pure type systems are equivalent. 1 Introduction In various typed calculi, one of the most interesting and important properties on terms is how they can be fireduced to finormal forms. A term M is said to be weakly finormalisable (WN fi (M )) if it can be fireduced to a fin...
ThirdOrder Matching in the Presence of Type Constructors
, 1994
"... We show that it is decidable whether a thirdorder matching problem in ! (an extension of the simply typed lambda calculus with type constructors) has a solution or not. We present an algorithm which, given such a problem, returns a solution for this problem if the problem has a solution and returns ..."
Abstract

Cited by 4 (1 self)
 Add to MetaCart
We show that it is decidable whether a thirdorder matching problem in ! (an extension of the simply typed lambda calculus with type constructors) has a solution or not. We present an algorithm which, given such a problem, returns a solution for this problem if the problem has a solution and returns fail otherwise. We also show that it is undecidable whether a thirdorder matching problem in ! has a closed solution or not. 1 Introduction It is wellknown that type theory is a good basis for the implementation of proof checkers. Although there are various ways to use type theory for proof checking, they all exploit the fact that type theory provides a uniform way to represent and manipulate proofs, formulas and data types. The manmachine interaction of proof checking can be considerably improved if some kind of matching algorithm can be implemented for the terms of the underlying type theory. For if one wants to prove OE(t) for a certain formula OE and term t, and one already has a pr...
Safe proof checking in type theory with Y
 IN CSL
, 1999
"... We present an extension of type theory with a fixed point combinator Y. We are particularly interested in using this Y for doing unbounded proof search in the proof system. Therefore we treat in some detail a typed λcalculus for higher order predicate logic with inductive types (a reasonable subsy ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
We present an extension of type theory with a fixed point combinator Y. We are particularly interested in using this Y for doing unbounded proof search in the proof system. Therefore we treat in some detail a typed λcalculus for higher order predicate logic with inductive types (a reasonable subsystem of the theory implemented in [Dowek e.a. 1991]) and show how bounded proof search can be done in this system, and how unbounded proof search can be done if we add Y. Of course, proof search can also be implemented (as a tactic) in the meta language. This may give faster results, but asks from the user to be able to program the implementation. In our approach the user works completely in the proof system itself. We also provide the meta theory of type theory with Y that allows to use the fixed point combinator in a safe way. Most importantly, we prove a kind of conservativity result, showing that, if we can generate a proof term M of formula ' in the extended system, and M does not contain Y, then M is already a proof of ' in the original system.
Typechecking Injective Pure Type Systems
, 1993
"... Injective Pure Type Systems form a large class of Pure Type Systems for which one can compute by purely syntactic means two sorts elmt(\GammajM ) and sort(\GammajM ), where \Gamma is a pseudocontext and M is a pseudoterm, and such that for every sort s, \Gamma ` M : A \Gamma ` A : s ) elmt(\Gamm ..."
Abstract

Cited by 3 (1 self)
 Add to MetaCart
Injective Pure Type Systems form a large class of Pure Type Systems for which one can compute by purely syntactic means two sorts elmt(\GammajM ) and sort(\GammajM ), where \Gamma is a pseudocontext and M is a pseudoterm, and such that for every sort s, \Gamma ` M : A \Gamma ` A : s ) elmt(\GammajM ) = s \Gamma ` M : s ) sort(\GammajM ) = s By eliminating the problematic clause in the (abstraction) rule in favor of constraints over elmt(:j:) and sort(:j:), we provide a sound and complete typechecking algorithm for injective Pure Type Systems. In addition, we prove Expansion Postponement for a variant of injective Pure Type Systems where the problematic clause in the (abstraction) rule is replaced in favor of constraints over elmt(:j:) and sort(:j:). 1