Results 1  10
of
16
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.
Matching Power
 Proceedings of RTA’2001, Lecture Notes in Computer Science, Utrecht (The Netherlands
, 2001
"... www.loria.fr/{~cirstea,~ckirchne,~lliquori} Abstract. In this paper we give a simple and uniform presentation of the rewriting calculus, also called Rho Calculus. In addition to its simplicity, this formulation explicitly allows us to encode complex structures such as lists, sets, and objects. We pr ..."
Abstract

Cited by 31 (20 self)
 Add to MetaCart
www.loria.fr/{~cirstea,~ckirchne,~lliquori} Abstract. In this paper we give a simple and uniform presentation of the rewriting calculus, also called Rho Calculus. In addition to its simplicity, this formulation explicitly allows us to encode complex structures such as lists, sets, and objects. We provide extensive examples of the calculus, and we focus on its ability to represent some object oriented calculi, namely the Lambda Calculus of Objects of Fisher, Honsell, and Mitchell, and the Object Calculus of Abadi and Cardelli. Furthermore, the calculus allows us to get object oriented constructions unreachable in other calculi. In summa, we intend to show that because of its matching ability, the Rho Calculus represents a lingua franca to naturally encode many paradigms of computations. This enlightens the capabilities of the rewriting calculus based language ELAN to be used as a logical as well as powerful semantical framework. 1
Rewriting calculus with(out) types
 Proceedings of the fourth workshop on rewriting logic and applications
, 2002
"... The last few years have seen the development of a new calculus which can be considered as an outcome of the last decade of various researches on (higher order) term rewriting systems, and lambda calculi. In the Rewriting Calculus (or Rho Calculus, ρCal), algebraic rules are considered as sophisticat ..."
Abstract

Cited by 22 (13 self)
 Add to MetaCart
The last few years have seen the development of a new calculus which can be considered as an outcome of the last decade of various researches on (higher order) term rewriting systems, and lambda calculi. In the Rewriting Calculus (or Rho Calculus, ρCal), algebraic rules are considered as sophisticated forms of “lambda terms with patterns”, and rule applications as lambda applications with pattern matching facilities. The calculus can be customized to work modulo sophisticated theories, like commutativity, associativity, associativitycommutativity, etc. This allows us to encode complex structures such as list, sets, and more generally objects. The calculus can either be presented “à la Curry ” or “à la Church ” without sacrificing readability and without complicating too much the metatheory. Many static type systems can be easily pluggedin on top of the calculus in the spirit of the rich typeoriented literature. The Rewriting Calculus could represent a lingua franca to encode many paradigms of computations together with a formal basis used to build powerful theorem provers based on lambda calculus and efficient rewriting, and a step towards new proof engines based on the CurryHoward isomorphism. 1
Comparing Combinatory Reduction Systems and HigherOrder Rewrite Systems
, 1993
"... In this paper two formats of higherorder rewriting are compared: Combinatory Reduction Systems introduced by Klop [Klo80] and Higherorder Rewrite Systems defined by Nipkow [Nipa]. Although it always has been obvious that both formats are closely related to each other, up to now the exact relations ..."
Abstract

Cited by 18 (3 self)
 Add to MetaCart
In this paper two formats of higherorder rewriting are compared: Combinatory Reduction Systems introduced by Klop [Klo80] and Higherorder Rewrite Systems defined by Nipkow [Nipa]. Although it always has been obvious that both formats are closely related to each other, up to now the exact relationship between them has not been clear. This was an unsatisfying situation since it meant that proofs for much related frameworks were given twice. We present two translations, one from Combinatory Reduction Systems into HigherOrder Rewrite Systems and one vice versa, based on a detailed comparison of both formats. Since the translations are very `neat' in the sense that the rewrite relation is preserved and (almost) reflected, we can conclude that as far as rewrite theory is concerned, Combinatory Reduction Systems and HigherOrder Rewrite Systems are equivalent, the only difference being that Combinatory Reduction Systems employ a more `lazy' evaluation strategy. Moreover, due to this result...
HigherOrder Families
 In International Conference on Rewriting Techniques and Applications '96, LNCS
, 1996
"... A redex family is a set of redexes which are `created in the same way'. Families specify which redexes should be shared in any socalled optimal implementation of a rewriting system. We formalise the notion of family for orthogonal higherorder term rewriting systems (OHRSs). In order to comfort our ..."
Abstract

Cited by 15 (2 self)
 Add to MetaCart
A redex family is a set of redexes which are `created in the same way'. Families specify which redexes should be shared in any socalled optimal implementation of a rewriting system. We formalise the notion of family for orthogonal higherorder term rewriting systems (OHRSs). In order to comfort our formalisation of the intuitive concept of family, we actually provide three conceptually different formalisations, via labelling, extraction and zigzag and show them to be equivalent. This generalises the results known from literature and gives a firm theoretical basis for the optimal implementation of OHRSs. 1. Introduction A computation of a result is optimal if its cost is minimal among all computations of the result. Taking rewrite steps as computational units the cost of a rewrite sequence is simply its length. Given a rewrite system the question then is: does an effective optimal strategy exist for it? In the case of lambda calculus, a discouraging result was obtained in [BBKV76]: th...
Higherorder Matching for Program Transformation
, 1999
"... We present a simple, practical algorithm for higher order matching in the context of automatic program transformation. Our algorithm finds more matches than the standard second order matching algorithm of Huet and Lang, but it has an equally simple specification, and it is better suited to the tr ..."
Abstract

Cited by 14 (1 self)
 Add to MetaCart
We present a simple, practical algorithm for higher order matching in the context of automatic program transformation. Our algorithm finds more matches than the standard second order matching algorithm of Huet and Lang, but it has an equally simple specification, and it is better suited to the transformation of programs in modern programming languages such as Haskell or ML. The algorithm has been implemented as part of the MAG system for transforming functional programs. 1 Background and motivation 1.1 Program transformation Many program transformations are conveniently expressed as higher order rewrite rules. For example, consider the wellknown transformation that turns a tail recursive function into an imperative loop. The pattern f x = if p x then g x else f (h x ) is rewritten to the term f x = j[ var r ; r := x ; while :(p r) do r := h r ; r := g r ; return r ]j Carefully consider the pattern in this rule: it involves two bound variables, namely f and x , and ...
Termination Proofs for Higherorder Rewrite Systems
 IN 1ST INTERNATIONAL WORKSHOP ON HIGHERORDER ALGEBRA, LOGIC AND TERM REWRITING
, 1994
"... This paper deals with termination proofs for HigherOrder Rewrite Systems (HRSs), introduced in [12]. This formalism combines the computational aspects of term rewriting and simply typed lambda calculus. The result is a proof technique for the termination of a HRS, similar to the proof technique "Te ..."
Abstract

Cited by 13 (0 self)
 Add to MetaCart
This paper deals with termination proofs for HigherOrder Rewrite Systems (HRSs), introduced in [12]. This formalism combines the computational aspects of term rewriting and simply typed lambda calculus. The result is a proof technique for the termination of a HRS, similar to the proof technique "Termination by interpretation in a wellfounded monotone algebra", described in [8, 19]. The resulting technique is as follows: Choose a higherorder algebra with operations for each function symbol in the HRS, equipped with some wellfounded partial ordering. The operations must be strictly monotonic in this ordering. This choice generates a model for the HRS. If the choice can be made in such a way that for each rule the interpretation of the left hand side is greater than the interpretation of the right hand side, then the HRS is terminating. At the end of the paper some applications of this technique are given, which show that this technique is natural and can easily be applied.
Finite Family Developments
"... Associate to a rewrite system R having rules l → r, its labelled version R ω having rules l ◦ m+1 → r • , for any natural number m m ∈ ω. These rules roughly express that a lefthand side l carrying labels all larger than m can be replaced by its righthand side r carrying labels all smaller than o ..."
Abstract

Cited by 13 (6 self)
 Add to MetaCart
Associate to a rewrite system R having rules l → r, its labelled version R ω having rules l ◦ m+1 → r • , for any natural number m m ∈ ω. These rules roughly express that a lefthand side l carrying labels all larger than m can be replaced by its righthand side r carrying labels all smaller than or equal to m. A rewrite system R enjoys finite family developments (FFD) if R ω is terminating. We show that the class of higher order pattern rewrite systems enjoys FFD, extending earlier results for the lambda calculus and first order term rewrite systems.
Unification and Matching modulo Nilpotence
 In Proc. CADE13, volume 1104 of LNCS
, 1996
"... . We consider equational unification and matching problems where the equational theory contains a nilpotent function, i.e., a function f satisfying f(x;x) = 0 where 0 is a constant. Nilpotent matching and unification are shown to be NPcomplete. In the presence of associativity and commutativity, t ..."
Abstract

Cited by 8 (0 self)
 Add to MetaCart
. We consider equational unification and matching problems where the equational theory contains a nilpotent function, i.e., a function f satisfying f(x;x) = 0 where 0 is a constant. Nilpotent matching and unification are shown to be NPcomplete. In the presence of associativity and commutativity, the problems still remain NPcomplete. But when 0 is also assumed to be the unity for the function f , the problems are solvable in polynomial time. We also show that the problem remains in P even when a homomorphism is added. Secondorder matching modulo nilpotence is shown to be undecidable. Subject area: MECHANISMS: unification 1 Introduction Equational unification is an important computational problem in automated theorem proving. Its usefulness derives from the ability to `build in' many proof steps into the pattern matching algorithm, possibly shortening the search for a proof. As a new practical application, we define a class of set constraints and show that problems in this class ca...
Standardization and Evaluation in Combinatory Reduction Systems
, 2000
"... A rewrite system has standardization i for any rewrite sequence there is an equivalent one which contracts the redexes in a standard order. Standardization is extremely useful for finding normalizing strategies and proving that a rewrite system for a programming language is sound with respect to the ..."
Abstract

Cited by 4 (1 self)
 Add to MetaCart
A rewrite system has standardization i for any rewrite sequence there is an equivalent one which contracts the redexes in a standard order. Standardization is extremely useful for finding normalizing strategies and proving that a rewrite system for a programming language is sound with respect to the language's operational semantics. Although for some rewrite systems the standardorder can be simple, e.g., lefttoright or outermostfirst, many systems need a more delicate order. There are abstract notions of standard order which always apply, but proofs (often quite dicult) are required that the rewrite system satis es a number of axioms and not much guidance is provided for finding a concrete order that satisfies the abstract definition. This paper gives a framework based on combinatory reduction systems (CRS's) which is general enough to handle many programming languages. If the CRS is orthogonal and fully extended and a good redex ordering can be found, then a standard order is obtain...