Results 1  10
of
14
Adjoint Rewriting
, 1995
"... This thesis concerns rewriting in the typed calculus. Traditional categorical models of typed calculus use concepts such as functor, adjunction and algebra to model type constructors and their associated introduction and elimination rules, with the natural categorical equations inherent in these s ..."
Abstract

Cited by 25 (11 self)
 Add to MetaCart
This thesis concerns rewriting in the typed calculus. Traditional categorical models of typed calculus use concepts such as functor, adjunction and algebra to model type constructors and their associated introduction and elimination rules, with the natural categorical equations inherent in these structures providing an equational theory for terms. One then seeks a rewrite relation which, by transforming terms into canonical forms, provides a decision procedure for this equational theory. Unfortunately the rewrite relations which have been proposed, apart from for the most simple of calculi, either generate the full equational theory but contain no decision procedure, or contain a decision procedure but only for a subtheory of that required. Our proposal is to unify the semantics and reduction theory of the typed calculus by generalising the notion of model from categorical structures based on term equality to categorical structures based on term reduction. This is accomplished via...
Some Lambda Calculi With Categorical Sums and Products
, 1993
"... . We consider the simply typed calculus with primitive recursion operators and types corresponding to categorical products and coproducts.. The standard equations corresponding to extensionality and to surjectivity of pairing and its dual are oriented as expansion rules. Strong normalization an ..."
Abstract

Cited by 20 (1 self)
 Add to MetaCart
. We consider the simply typed calculus with primitive recursion operators and types corresponding to categorical products and coproducts.. The standard equations corresponding to extensionality and to surjectivity of pairing and its dual are oriented as expansion rules. Strong normalization and ground (basetype) confluence is proved for the full calculus; full confluence is proved for the calculus omitting the rule for strong sums. In the latter case, fixedpoint constructors may be added while retaining confluence. 1 Introduction The systems investigated here are simply typed caluli whose types include pairs, unit, sums, an empty type, and a type of natural numbers supporting constructions by primitive recursion. In the core system the types behave as categorical product and coproducts, so the subject at hand is equivalently ([LS86]) the equational theory of the free bicartesian closed category (generated by objects for the base types) with weak natural numbers object. Su...
Expanding Extensional Polymorphism
, 1995
"... . We prove the confluence and strong normalization properties for second order lambda calculus equipped with an expansive version of jreduction. Our proof technique, based on a simple abstract lemma and a labelled calculus, can also be successfully used to simplify the proofs of confluence and nor ..."
Abstract

Cited by 11 (2 self)
 Add to MetaCart
. We prove the confluence and strong normalization properties for second order lambda calculus equipped with an expansive version of jreduction. Our proof technique, based on a simple abstract lemma and a labelled calculus, can also be successfully used to simplify the proofs of confluence and normalization for first order calculi, and can be applied to various extensions of the calculus presented here. 1 Introduction The typed lambda calculus provides a convenient framework for studying functional programming and offers a natural formalism to deal with proofs in intuitionistic logic. It comes traditionally equipped with the fi equality (x:M)N = M [N=x] as fundamental computational mechanism, and with the j (extensional) equality x:Mx = M as a tool for reasoning about programs. This basic calculus can then be extended by adding further types, like products, unit and second order types, each coming with its own computational mechanism and/or its extensional equalities. To reason abou...
On the Power of Simple Diagrams
, 1996
"... . In this paper we focus on a set of abstract lemmas that are easy to apply and turn out to be quite valuable in order to establish confluence and/or normalization modularly, especially when adding rewriting rules for extensional equalities to various calculi. We show the usefulness of the lemmas by ..."
Abstract

Cited by 9 (3 self)
 Add to MetaCart
. In this paper we focus on a set of abstract lemmas that are easy to apply and turn out to be quite valuable in order to establish confluence and/or normalization modularly, especially when adding rewriting rules for extensional equalities to various calculi. We show the usefulness of the lemmas by applying them to various systems, ranging from simply typed lambda calculus to higher order lambda calculi, for which we can establish systematically confluence and/or normalization (or decidability of equality) in a simple way. Many result are new, but we also discuss systems for which our technique allows to provide a much simpler proof than what can be found in the literature. 1 Introduction During a recent investigation of confluence and normalization properties of polymorphic lambda calculus with an expansive version of the # rule, we came across a nice lemma that gives a simple but quite powerful sufficient condition to check the Church Rosser property for a compound rewriting system...
Combining Algebraic Rewriting, Extensional Lambda Calculi, and Fixpoints
"... It is well known that confluence and strong normalization are preserved when combining algebraic rewriting systems with the simply typed lambda calculus. It is equally well known that confluence fails when adding either the usual contraction rule for #, or recursion together with the usual contract ..."
Abstract

Cited by 8 (3 self)
 Add to MetaCart
It is well known that confluence and strong normalization are preserved when combining algebraic rewriting systems with the simply typed lambda calculus. It is equally well known that confluence fails when adding either the usual contraction rule for #, or recursion together with the usual contraction rule for surjective pairing. We show that confluence and strong normalization are modular properties for the combination of algebraic rewriting systems with typed lambda calculi enriched with expansive extensional rules for # and surjective pairing. We also show how to preserve confluence in a modular way when adding fixpoints to di#erent rewriting systems. This result is also obtained by a simple translation technique allowing to simulate bounded recursion. 1 Introduction Confluence and strong normalization for the combination of lambda calculus and algebraic rewriting systems have been the object of many studies [BT88, JO91, BTG94, HM90], where the modularity of these properties is s...
A Brief History of Rewriting With Extensionality
, 1996
"... A A ×B oo # 1 // # 2 B That is: h = #f, g# = ## 1 # h, # 2 # h# Case C A // in 1 << f y y y y y y y y y y y y y y y y y y y A +B OO [f,g] h OO B o ..."
Abstract

Cited by 8 (0 self)
 Add to MetaCart
<F NaN><F NaN> A A ×B<F NaN><F NaN> oo # 1<F NaN><F NaN> // # 2 B That is: h = #f, g# = ## 1 # h, # 2 # h# Case C A<F NaN><F NaN> // in 1<F NaN><F NaN> << f y y y y y y y y y y y y y y y y y y y A +B<F NaN><F NaN> OO [f,g] h<F NaN><F NaN> OO B<F NaN><F NaN> oo in 2<F NaN><F NaN> bb g E E E E E E E E E E E E E E E E E E E That is: h = [f, g] = [h # in 1 , h # in 2 ] Roberto Di Cosmo Glasgow, September 96 4 From equations to rewriting Two choices to orient
Constructor subtyping
, 1999
"... Constructor subtyping is a form of subtyping in which an inductive type is viewed as a subtype of another inductive type Ï if Ï has more constructors than. As suggested in [5, 12], its (potential) uses include proof assistants and functional programming languages. In this paper, we introduce and ..."
Abstract

Cited by 7 (3 self)
 Add to MetaCart
Constructor subtyping is a form of subtyping in which an inductive type is viewed as a subtype of another inductive type Ï if Ï has more constructors than. As suggested in [5, 12], its (potential) uses include proof assistants and functional programming languages. In this paper, we introduce and study the properties of a simply typed Î»calculus with record types and datatypes, and which supports record subtyping and constructor subtyping. In the first part of the paper, we show that the calculus is confluent and strongly normalizing. In the second part of the paper, we show that the calculus admits a wellbehaved theory of canonical inhabitants, provided one adopts expansive extensionality rules, includingexpansion, surjective pairing, and a suitable expansion rule for datatypes. Finally, in the third part of the paper, we extend our calculus with unbounded recursion and show that confluence is preserved.
A Confluent Reduction for the Extensional Typed LambdaCalculus With Pairs, Sums, Recursion and Terminal Object
, 1993
"... We add extensional equalities for the functional and product types to the typed calculus with not only products and terminal object, but also sums and bounded recursion (a version of recursion that does not allow recursive calls of infinite length). We provide a confluent and strongly normalizing ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
We add extensional equalities for the functional and product types to the typed calculus with not only products and terminal object, but also sums and bounded recursion (a version of recursion that does not allow recursive calls of infinite length). We provide a confluent and strongly normalizing (thus decidable) rewriting system for the calculus, that stays confluent when allowing unbounded recursion. For that, we turn the extensional equalities into expansion rules, and not into contractions as is done traditionally. We first prove the calculus to be weakly confluent, which is a more complex and interesting task than for the usual calculus. Then we provide an effective mechanism to simulate expansions without expansion rules, so that the strong normalization of the calculus can be derived from that of the underlying, traditional, non extensional system. These results give us the confluence of the full calculus, but we also show how to deduce confluence directly form our simulatio...
Simulating etaExpansions with betaReductions in the SecondOrder Polymorphic Calculus
, 1996
"... . We introduce an approach to simulating jexpansions with fireductions in the secondorder polymorphic calculus. This generalizes the work of Di Cosmo and Delia Kesner which simulates jexpansions with fireductions in simply typed settings, positively solving the conjecture on whether the simu ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
. We introduce an approach to simulating jexpansions with fireductions in the secondorder polymorphic calculus. This generalizes the work of Di Cosmo and Delia Kesner which simulates jexpansions with fireductions in simply typed settings, positively solving the conjecture on whether the simulation technique can be extended to polymorphic settings. We then present a modular proof that the secondorder polymorphic calculus with an expansive version of jreduction is strong normalizing and confluent. The simulation is also promising to provide modular proofs showing that other rewriting systems are also strongly normalizing after expanded with certain versions of jexpansion. 1 Introduction and Related Work jconversion presents an approach to studying extensional equalities for terms. Given an jequality x:M (x) = j M , where x has no free occurrences in M ; one can either say x:M (x) jcontracts (! j ) to M , or M jexpands (! j ) to x:M (x); the former is usually adopted ...
Reasoning about Redundant Patterns
, 1997
"... The extensional version of the simply typed calculus with product types enriched with layered, wildcard, and product patterns is studied. Extensionality is expressed by the surjective pairing axiom and a generalization of the jconversion to patterns. Two different confluent reduction systems, ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
The extensional version of the simply typed calculus with product types enriched with layered, wildcard, and product patterns is studied. Extensionality is expressed by the surjective pairing axiom and a generalization of the jconversion to patterns. Two different confluent reduction systems, called lwp \Gamma! and lw \Gamma! respectively, are obtained by turning the extensional axioms as expansion rules, and then adding some restrictions to these expansions to avoid reduction loops. It is shown that only layered and wildcard patterns are redundant in lw \Gamma!, while product patterns are unnecessary in lwp \Gamma!. Confluence of both reduction systems is proven by the composition of modular properties of the systems' extensional and nonextensional parts. Recursion is also added to both systems by keeping the modularity of the confluence property. 1 Introduction Patternmatching in function definitions is one of the most popular features of functional languages...