Results 1 -
6 of
6
Combining First Order Algebraic Rewriting Systems, Recursion and Extensional Lambda Calculi
- Intern. Conf. on Automata, Languages and Programming (ICALP), volume 820 of Lecture Notes in Computer Science
, 1994
"... It is well known that confluence and strong normalization are preserved when combining left-linear algebraic rewriting systems with the simply typed lambda calculus. It is equally well known that confluence fails when adding either the usual extensional rule for j, or recursion together with the usu ..."
Abstract
-
Cited by 15 (7 self)
- Add to MetaCart
It is well known that confluence and strong normalization are preserved when combining left-linear algebraic rewriting systems with the simply typed lambda calculus. It is equally well known that confluence fails when adding either the usual extensional rule for j, or recursion together with the usual contraction rule for surjective pairing. We show that confluence and normalization are modular properties for the combination of left-linear algebraic rewriting systems with typed lambda calculi enriched with expansive extensional rules for j and surjective pairing. For that, we use a translation technique allowing to simulate expansions without expansion rules. We also show that confluence is maintained in a modular way when adding fixpoints. This result is also obtained by a simple translation technique allowing to simulate bounded recursion with fi reduction. 1 Introduction Confluence and strong normalization for the combination of lambda calculus and algebraic rewriting systems have...
Eta-Expansions in Dependent Type Theory - The Calculus of Constructions
- Proceedings of the Third International Conference on Typed Lambda Calculus and Applications (TLCA'97
, 1997
"... . Although the use of expansionary j-rewrite has become increasingly common in recent years, one area where j-contractions have until now remained the only possibility is in the more powerful type theories of the -cube. This paper rectifies this situation by applying j-expansions to the Calculus of ..."
Abstract
-
Cited by 13 (0 self)
- Add to MetaCart
. Although the use of expansionary j-rewrite has become increasingly common in recent years, one area where j-contractions have until now remained the only possibility is in the more powerful type theories of the -cube. This paper rectifies this situation by applying j-expansions to the Calculus of Constructions --- we discuss some of the difficulties posed by the presence of dependent types, prove that every term rewrites to a unique long fij-normal form and deduce the decidability of fij-equality, typeability and type inhabitation as corollaries. 1 Introduction Extensional equality for the simply typed -calculus requires j-conversion, whose interpretation as a rewrite rule has traditionally been as a contraction x : T:fx ) f where x 6 2 FV(t). When combined with the usual fi-reduction, the resulting rewrite relation is strongly normalising and confluent, and thus reduction to normal form provides a decision procedure for the associated equational theory. However j-contractions beh...
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 well-behaved theory of canonical inhabitants, provided one adopts expansive extensionality rules, including-expansion, 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 Unified Framework for Binding-Time Analysis
- Colloquium on Formal Approaches in Software Engineering (FASE '97), volume 1214 of Lect
, 1997
"... . Binding-time analysis is a crucial part of offline partial evaluation. It is often specified as a non-standard type system. Many typebased binding-time analyses are reminiscent of simple type systems with additional features like recursive types. We make this connection explicit by expressing bind ..."
Abstract
-
Cited by 7 (3 self)
- Add to MetaCart
. Binding-time analysis is a crucial part of offline partial evaluation. It is often specified as a non-standard type system. Many typebased binding-time analyses are reminiscent of simple type systems with additional features like recursive types. We make this connection explicit by expressing binding-time analysis with annotated type systems that separate the concerns of type inference from those of binding-time annotation. The separation enables us to explore a design space for bindingtime analysis by varying the underlying type system and the annotation strategy independently. The result is a classification of different monovariant binding-time analyses which allows us to compare their relative power. Due to the systematic approach we uncover some novel analyses. A partial evaluator separates the computation of a source program into two or more stages [7, 20]. Using the (static) input of the first stage it transforms a source program into a specialized residual program. Application...
Eta Expansions in System F
- LIENS-DMI, Ecole Normale Superieure
, 1996
"... The use of expansionary j-rewrite rules in various typed -calculi has become increasingly common in recent years as their advantages over contractive j-rewrite rules have become apparent. Not only does one obtain the decidability of fij-equality, but rewrite relations based on expansions give a natu ..."
Abstract
-
Cited by 6 (0 self)
- Add to MetaCart
The use of expansionary j-rewrite rules in various typed -calculi has become increasingly common in recent years as their advantages over contractive j-rewrite rules have become apparent. Not only does one obtain the decidability of fij-equality, but rewrite relations based on expansions give a natural interpretation of long fij-normal forms, generalise more easily to other type constructors, retain key properties when combined with other rewrite relations, and are supported by a categorical theory of reduction. This paper extends the initial results concerning the simply typed -calculus to System F, that is, we prove strong normalisation and confluence for a rewrite relation consisting of traditional fi-reductions and j-expansions satisfying certain restrictions. Further, we characterise the second order long fij-normal forms as precisely the normal forms of the restricted rewrite relation. These results are an important step towards showing that j-expansions are compatible with the m...
Reasoning about Layered, Wildcard and Product Patterns
- ALP '94, volume 850 of LNCS
, 1994
"... We study the extensional version of the simply typed -calculus with product types and fixpoints enriched with layered, wildcard and product patterns. Extensionality is expressed by the surjective pairing axiom and a generalization of the j-conversion to patterns. We obtain a confluent reduction syst ..."
Abstract
-
Cited by 3 (2 self)
- Add to MetaCart
We study the extensional version of the simply typed -calculus with product types and fixpoints enriched with layered, wildcard and product patterns. Extensionality is expressed by the surjective pairing axiom and a generalization of the j-conversion to patterns. We obtain a confluent reduction system by turning the extensional axioms as expansion rules, and then adding some restrictions to these expansions in order to avoid reduction loops. Confluence is proved by composition of modular properties of the extensional and non-extensional subsystems of the reduction calculus. 1 Introduction Pattern-matching function definitions is one of the most popular features of functional languages, allowing to specify the behavior of functions by cases, according to the form of their arguments. Left-hand sides of function definitions are usually expressed using Layered, Wildcard and Product Patterns (LWPP), as for example the following Caml Light [ea93] program where the function cons new pair ta...

