Results 1  10
of
18
Exceptions in the rewriting calculus
 PART I AND II. LOGIC JOURNAL OF THE INTEREST GROUP IN PURE AND APPLIED LOGICS
, 2001
"... In the context of the rewriting calculus, we introduce and study an exception mechanism that allows us to express in a simple way rewriting strategies and that is therefore also useful for expressing theorem proving tactics. This gives us the ability to simply express the semantics of the first tact ..."
Abstract

Cited by 65 (26 self)
 Add to MetaCart
In the context of the rewriting calculus, we introduce and study an exception mechanism that allows us to express in a simple way rewriting strategies and that is therefore also useful for expressing theorem proving tactics. This gives us the ability to simply express the semantics of the first tactical and to describe in full details the expression of conditional rewriting.
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.
Rewriting calculus with fixpoints: Untyped and firstorder systems
 In Postproceedings of TYPES, Lecture Notes in Computer Science
, 2003
"... Abstract The rewriting calculus, also called ρcalculus, is a framework embedding λcalculus and rewriting capabilities, by allowing abstraction not only on variables but also on patterns. The higherorder mechanisms of the λcalculus and the pattern matching facilities of the rewriting are then bot ..."
Abstract

Cited by 26 (10 self)
 Add to MetaCart
Abstract The rewriting calculus, also called ρcalculus, is a framework embedding λcalculus and rewriting capabilities, by allowing abstraction not only on variables but also on patterns. The higherorder mechanisms of the λcalculus and the pattern matching facilities of the rewriting are then both available at the same level. Many type systems for the λcalculus can be generalized to the ρcalculus: in this paper, we study extensively a firstorder ρcalculus à la Church, called ρ stk The type system of ρ stk � allows one to type (object oriented flavored) fixpoints, leading to an expressive and safe calculus. In particular, using pattern matching, one can encode and typecheck term rewriting systems in a natural and automatic way. Therefore, we can see our framework as a starting point for the theoretical basis of a powerful typed rewritingbased language.
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
Rewrite Strategies in the Rewriting Calculus
 WRS 2003
, 2003
"... This paper presents an overview on the use of the rewriting calculus to express rewrite strategies. We motivate first the use of rewrite strategies by examples in the ELAN language. We then show how this has been modeled in the initial version of the rewriting calculus and how the matching power of ..."
Abstract

Cited by 18 (7 self)
 Add to MetaCart
This paper presents an overview on the use of the rewriting calculus to express rewrite strategies. We motivate first the use of rewrite strategies by examples in the ELAN language. We then show how this has been modeled in the initial version of the rewriting calculus and how the matching power of this framework facilitates the representation of powerful strategies.
A rewriting calculus for cyclic higherorder term graphs
 in "2nd International Workshop on Term Graph Rewriting  TERMGRAPH’2004
, 2004
"... graphs ..."
Firstclass Rules and Generic Traversal
, 2001
"... In this paper we present a functional language supporting firstclass rules and generic traversal. This is achieved by generalizing the pattern matching constructs of standard functional languages. The case construct that ties rules together and prevents their reuse, is replaced by separate, firs ..."
Abstract

Cited by 8 (2 self)
 Add to MetaCart
In this paper we present a functional language supporting firstclass rules and generic traversal. This is achieved by generalizing the pattern matching constructs of standard functional languages. The case construct that ties rules together and prevents their reuse, is replaced by separate, firstclass, pattern matching rules and a choice combinator that deals with pattern match failure. Generic traversal is achieved through application pattern matching in which a constructor application is generically divided into a prefix and a su#x, thus giving generic access to the subterms of a constructor term. Many highly generic term traversals can be defined in a typesafe way using this feature.
The rewriting calculus as a combinatory reduction system
 In Foundations of Software Science and Computation Structures – FoSSaCS’07, LNCS
, 2007
"... Abstract. The last few years have seen the development of the rewriting calculus (also called rhocalculus or ρcalculus) that uniformly integrates firstorder term rewriting and λcalculus. The combination of these two latter formalisms has been already handled either by enriching firstorder rewri ..."
Abstract

Cited by 5 (1 self)
 Add to MetaCart
Abstract. The last few years have seen the development of the rewriting calculus (also called rhocalculus or ρcalculus) that uniformly integrates firstorder term rewriting and λcalculus. The combination of these two latter formalisms has been already handled either by enriching firstorder rewriting with higherorder capabilities, like in the Combinatory Reduction Systems (crs), or by adding to λcalculus algebraic features. In a previous work, the authors showed how the semantics of crs can be expressed in terms of the ρcalculus. The converse issue is adressed here: rewriting calculus derivations are simulated by Combinatory Reduction Systems derivations. As a consequence of this result, important properties, like standardisation, are deduced for the rewriting calculus.
Formal validation of pattern matching code
 PROCEEDINGS OF PPDP 2005
, 2005
"... When addressing the formal validation of generated software, two main alternatives consist either to prove the correctness of compilers or to directly validate the generated code. Here, we focus on directly proving the correctness of compiled code issued from powerful pattern matching constructions ..."
Abstract

Cited by 5 (4 self)
 Add to MetaCart
When addressing the formal validation of generated software, two main alternatives consist either to prove the correctness of compilers or to directly validate the generated code. Here, we focus on directly proving the correctness of compiled code issued from powerful pattern matching constructions typical of ML like languages or rewrite based languages such as ELAN, Maude or Tom. In this context, our first contribution is to define a general framework for anchoring algebraic patternmatching capabilities in existing languages like C, Java or ML. Then, using a just enough powerful intermediate language, we formalize the behavior of compiled code and define the correctness of compiled code with respect to patternmatching behavior. This allows us to prove the equivalence of compiled code correctness with a generic firstorder proposition whose proof could be achieved via a proof assistant or an automated theorem prover. We then extend these results to the multimatch situation characteristic of the ML like languages. The whole approach has been implemented on top of the Tom compiler and used to validate the syntactic matching code of the Tom compiler itself.