Results 11  20
of
102
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.
The rewriting calculus  Part I
, 2001
"... The ρcalculus integrates in a uniform and simple setting firstorder rewriting, λcalculus and nondeterministic computations. Its abstraction mechanism is based on the rewrite rule formation and its main evaluation rule is based on matching modulo a theory T. In this first part, the calculus is mot ..."
Abstract

Cited by 16 (2 self)
 Add to MetaCart
The ρcalculus integrates in a uniform and simple setting firstorder rewriting, λcalculus and nondeterministic computations. Its abstraction mechanism is based on the rewrite rule formation and its main evaluation rule is based on matching modulo a theory T. In this first part, the calculus is motivated and its syntax and evaluation rules for any theory T are presented. In the syntactic case, i.e. when T is the empty theory, we study its basic properties for the untyped case. We first show how it uniformly encodes λcalculus as well as firstorder rewriting derivations. Then we provide sufficient conditions for ensuring confluence of the calculus.
Cut Rules and Explicit Substitutions
, 2000
"... this paper deals exclusively with intuitionistic logic (in fact, only the implicative fragment), we require succedents to be a single consequent formula. Natural deduction systems, which we choose to call Nsystems, are symbolic logics generally given via introduction and elimination rules for the l ..."
Abstract

Cited by 15 (0 self)
 Add to MetaCart
this paper deals exclusively with intuitionistic logic (in fact, only the implicative fragment), we require succedents to be a single consequent formula. Natural deduction systems, which we choose to call Nsystems, are symbolic logics generally given via introduction and elimination rules for the logical connectives which operate on the right, i.e., they manipulate the succedent formula. Examples are Gentzen's NJ and NK (Gentzen 1935). Logical deduction systems are given via leftintroduction and rightintroduction rules for the logical connectives. Although others have called these systems "sequent calculi", we call them Lsystems to avoid confusion with other systems given in sequent style. Examples are Gentzen's LK and LJ (Gentzen 1935). In this paper we are primarily interested in Lsystems. The advantage of Nsystems is that they seem closer to actual reasoning, while Lsystems on the other hand seem to have an easier proof theory. Lsystems are often extended with a "cut" rule as part of showing that for a given Lsystem and Nsystem, the derivations of each system can be encoded in the other. For example, NK proves the same as LK + cut (Gentzen 1935). Proof Normalization. A system is consistent when it is impossible to prove false, i.e., derive absurdity from zero assumptions. A system is analytic (has the analycity property) when there is an e#ective method to decompose any conclusion sequent into simpler premise sequents from which the conclusion can be obtained by some rule in the system such that the conclusion is derivable i# the premises are derivable (Maenpaa 1993). To achieve the goals of consistency and analycity, it has been customary to consider
Rewriting Modulo a Rewrite System
, 1995
"... . We introduce rewriting with two sets of rules, the first interpreted equationally and the second not. A semantic view considers equational rules as defining an equational theory and reduction rules as defining a rewrite relation modulo this theory. An operational view considers both sets of rules ..."
Abstract

Cited by 13 (3 self)
 Add to MetaCart
. We introduce rewriting with two sets of rules, the first interpreted equationally and the second not. A semantic view considers equational rules as defining an equational theory and reduction rules as defining a rewrite relation modulo this theory. An operational view considers both sets of rules as similar. We introduce sufficient properties for these two views to be equivalent (up to different notions of equivalence). The paper ends with a collection of example showing the effectiveness of this approach. Rewriting can be viewed simultaneously as the most basic symbolmanipulating method, and as a very expressive specification framework, given the expressive power of rewriting modulo equations. It is a primary candidate to the role of a general logical framework [Mes92, MOM93]. Historically, rewriting has been given an equational semantics, saying that a rewrite rule u \Gamma! v is interpreted as u is equal to v. This is the case for instance when defining functions or solving the w...
Confluence of Extensional and NonExtensional λcalculi with Explicit Substitutions
 Theoretical Computer Science
"... This paper studies confluence of extensional and nonextensional calculi with explicit substitutions, where extensionality is interpreted by jexpansion. For that, we propose a scheme for explicit substitutions which describes those abstract properties that are sufficient to guarantee confluence. O ..."
Abstract

Cited by 12 (2 self)
 Add to MetaCart
This paper studies confluence of extensional and nonextensional calculi with explicit substitutions, where extensionality is interpreted by jexpansion. For that, we propose a scheme for explicit substitutions which describes those abstract properties that are sufficient to guarantee confluence. Our method makes it possible to treat at the same time many wellknown calculi such as oe , oe * , OE , s , AE , f , d and dn . Keywords: functional programming, calculi, explicit substitutions, confluence, extensionality. 1 Introduction The calculus is a convenient framework to study functional programming, where the evaluation process is modeled by fireduction. The main mechanism used to perform fireduction is substitution, which consists of the replacement of formal parameters by actual arguments. The correctness of substitution is guaranteed by a systematic renaming of bound variables, inconvenient which can be simply avoided in the calculus `a la de Bruijn by using natur...
ML^F  Raising ML to the Power of System F
 In ICFP ’03: Proceedings of the eighth ACM SIGPLAN international conference on Functional programming
, 2003
"... We propose a type system ML F that generalizes ML with firstclass polymorphism as in System F. We perform partial type reconstruction. As in ML and in opposition to System F, each typable expression admits a principal type, which can be inferred. Furthermore, all expressions of ML are welltyped, ..."
Abstract

Cited by 12 (0 self)
 Add to MetaCart
We propose a type system ML F that generalizes ML with firstclass polymorphism as in System F. We perform partial type reconstruction. As in ML and in opposition to System F, each typable expression admits a principal type, which can be inferred. Furthermore, all expressions of ML are welltyped, with a possibly more general type than in ML, without any need for type annotation. Only arguments of functions that are used polymorphically must be annotated, which allows to type all expressions of System F as well.
Confluence and Preservation of Strong Normalisation in an Explicit Substitutions Calculus
, 1995
"... Explicit substitutions calculi are formal systems that implement fireduction by means of an internal substitution operator. Thus, in that calculi it is possible to delay the application of a substitution to a term or to consider terms with partially applied substitutions. This feature is useful, f ..."
Abstract

Cited by 10 (0 self)
 Add to MetaCart
Explicit substitutions calculi are formal systems that implement fireduction by means of an internal substitution operator. Thus, in that calculi it is possible to delay the application of a substitution to a term or to consider terms with partially applied substitutions. This feature is useful, for instance, to represent incomplete proofs in type based proof systems. The oe calculus of explicit substitutions proposed by Abadi, Cardelli, Curien and L'evy gives an elegant way to deal with management of variable names and substitutions of calculus. However, oe does not preserve strong normalisation of calculus and it is not a confluent system. Typed variants of oe without composition are strongly normalising but not confluent, while variants with composition are confluent but do not preserve strong normalisation. Neither of them enjoys both properties. In this paper we propose the i  calculus an we present the full proofs of its main properties. This is, as far as we know, the...
The simply typed rewriting calculus
 WRLA 2004
, 2004
"... The rewriting calculus is a rule construction and application framework. As such it embeds in a uniform way term rewriting and lambdacalculus. Since rule application is an explicit object of the calculus, it allows us also to handle the set of results explicitly. We present a simply typed version o ..."
Abstract

Cited by 10 (5 self)
 Add to MetaCart
The rewriting calculus is a rule construction and application framework. As such it embeds in a uniform way term rewriting and lambdacalculus. Since rule application is an explicit object of the calculus, it allows us also to handle the set of results explicitly. We present a simply typed version of the rewriting calculus. With a good choice of the type system, we show that the calculus is type preserving and terminating, i.e. verifies the subject reduction and strong normalization properties.
Raising ML to the Power of System F
 In ICFP ’03: Proceedings of the eighth ACM SIGPLAN international conference on Functional programming
, 2003
"... We propose a type system MLF that generalizes ML with firstclass polymorphism as in System F. We perform partial type reconstruction. As in ML and in opposition to System F, each typable expression admits a principal type, which can be inferred. Furthermore, all expressions of ML are welltyped, wi ..."
Abstract

Cited by 10 (0 self)
 Add to MetaCart
We propose a type system MLF that generalizes ML with firstclass polymorphism as in System F. We perform partial type reconstruction. As in ML and in opposition to System F, each typable expression admits a principal type, which can be inferred. Furthermore, all expressions of ML are welltyped, with a possibly more general type than in ML, without any need for type annotation. Only arguments of functions that are used polymorphically must be annotated, which allows to type all expressions of System F as well.
Practical higherorder pattern unification with onthefly raising
 In ICLP 2005: 21st International Logic Programming Conference, volume 3668 of LNCS
, 2005
"... Abstract. Higherorder pattern unification problems arise often in computations carried out within systems such as Twelf, λProlog and Isabelle. An important characteristic of such problems is that they are given by equations appearing under a prefix of alternating universal and existential quantifie ..."
Abstract

Cited by 9 (4 self)
 Add to MetaCart
Abstract. Higherorder pattern unification problems arise often in computations carried out within systems such as Twelf, λProlog and Isabelle. An important characteristic of such problems is that they are given by equations appearing under a prefix of alternating universal and existential quantifiers. Existing algorithms for solving these problems assume that such prefixes are simplified to a ∀∃ ∀ form by an a priori application of a transformation known as raising. There are drawbacks to this approach. Mixed quantifier prefixes typically manifest themselves in the course of computation, thereby requiring a dynamic form of preprocessing that is difficult to support in lowlevel implementations. Moreover, raising may be redundant in many cases and its effect may have to be undone by a subsequent pruning transformation. We propose a method to overcome these difficulties. In particular, a unification algorithm is described that proceeds by recursively descending through the structures of terms, performing raising and other transformations onthefly and only as needed. This algorithm also exploits an explicit substitution notation for lambda terms. 1