Results 1 - 10
of
16
An Overview of ELAN
, 1998
"... This paper presents a comprehensive introduction to the ELAN rule-based programming language. We describe the main features of the language, the ELAN environment, and introduce bibliographic references to various papers addressing foundations, implementation and applications of ELAN. 1 Introduction ..."
Abstract
-
Cited by 94 (24 self)
- Add to MetaCart
This paper presents a comprehensive introduction to the ELAN rule-based programming language. We describe the main features of the language, the ELAN environment, and introduce bibliographic references to various papers addressing foundations, implementation and applications of ELAN. 1 Introduction The ELAN system [18] provides an environment for specifying and prototyping deduction systems in a language based on rules controlled by strategies. Its purpose is to support the design of theorem provers, logic programming languages, constraints solvers and decision procedures and to offer a modular framework for studying their combination. ELAN takes from functional programming the concept of abstract data types and the function evaluation principle based on rewriting. But rewriting is inherently non-deterministic since several rules can be applied at different positions in a same term, and in ELAN, a computation may have several results. This aspect is taken into account through choice...
ELAN from a rewriting logic point of view
- Theoretical Computer Science
, 2002
"... ELAN implements computational systems, a concept that combines two first class entities: rewrite rules and rewriting strategies. ELAN can be used either as a logical framework or to describe and execute deterministic as well as non-deterministic rule based processes. With the general goal to make pr ..."
Abstract
-
Cited by 49 (4 self)
- Add to MetaCart
ELAN implements computational systems, a concept that combines two first class entities: rewrite rules and rewriting strategies. ELAN can be used either as a logical framework or to describe and execute deterministic as well as non-deterministic rule based processes. With the general goal to make precise a rewriting logic based semantics of ELAN, this paper has three contributions: a presentation of the concepts of rules and strategies available in ELAN, an expression of rewrite rules with matching conditions in conditional rewriting logic, and finally an enrichment mechanism of a rewrite theory into a strategy theory in conditional rewriting logic.
Context-Sensitive Rewriting Strategies
, 1997
"... Context-sensitive rewriting is a simple restriction of rewriting which is formalized by imposing fixed restrictions on replacements. Such a restriction is given on a purely syntactic basis: it is (explicitly or automatically) specified on the arguments of symbols of the signature and inductively ..."
Abstract
-
Cited by 41 (30 self)
- Add to MetaCart
Context-sensitive rewriting is a simple restriction of rewriting which is formalized by imposing fixed restrictions on replacements. Such a restriction is given on a purely syntactic basis: it is (explicitly or automatically) specified on the arguments of symbols of the signature and inductively extended to arbitrary positions of terms built from those symbols. Termination is not only preserved but usually improved and several methods have been developed to formally prove it. In this paper, we investigate the definition, properties, and use of context-sensitive rewriting strategies, i.e., particular, fixed sequences of context-sensitive rewriting steps. We study how to define them in order to obtain efficient computations and to ensure that context-sensitive computations terminate whenever possible. We give conditions enabling the use of these strategies for root-normalization, normalization, and infinitary normalization. We show that this theory is suitable for formalizing ...
Rewriting With Strategies In ELAN: A Functional Semantics
, 1999
"... In this work, we consider term rewriting from a functional point of view. A rewrite rule is a function that can be applied to a term using an explicit application function. From this starting point, we show how to build more elaborated functions, describing rst rewrite derivations, then sets of d ..."
Abstract
-
Cited by 35 (8 self)
- Add to MetaCart
In this work, we consider term rewriting from a functional point of view. A rewrite rule is a function that can be applied to a term using an explicit application function. From this starting point, we show how to build more elaborated functions, describing rst rewrite derivations, then sets of derivations. These functions, that we call strategies, can themselves be dened by rewrite rules and the construction can be iterated leading to higher-order strategies. Furthermore, the application function is itself dened using rewriting in the same spirit. We present this calculus and study its properties. Its implementation in the ELAN language is used to motivate and exemplify the whole approach. The expressiveness of ELAN is illustrated by examples of polymorphic functions and strategies. Keywords: Rewriting Calculus, Rewriting Logic, Strategy, Rewrite Based Language, Term Rewriting, Strategy, Matching. 1. Introduction Rule-based reasoning is present in many domains of compu...
A Proof Theoretic View of Constraint Programming
, 1998
"... We provide here a proof theoretic account of constraint programming that attempts to capture the essential ingredients of this programming style. We exemplify it by presenting proof rules for linear constraints over interval domains, and illustrate their use by analyzing the constraint propagation p ..."
Abstract
-
Cited by 23 (8 self)
- Add to MetaCart
We provide here a proof theoretic account of constraint programming that attempts to capture the essential ingredients of this programming style. We exemplify it by presenting proof rules for linear constraints over interval domains, and illustrate their use by analyzing the constraint propagation process for the SEND + MORE = MONEY puzzle. We also show how this approach allows one to build new constraint solvers. 1 Introduction 1.1 Motivation One of the most interesting recent developments in the area of programming has been constraint programming. A prominent instance of it is constraint logic programming exemplified by such programming languages as CLP(R), Prolog III or ECL i PS e . But recently also imperative constraint programming languages emerged, such as 2LP of McAloon & Tretkoff (1995) or CLAIRE of Caseau & Laburthe (1996). (For an overview of this area and related references see Hentenryck, Saraswat & et al. (1996)). The aim of this paper is to explain the essence of t...
A Core Language for Rewriting
- Electronic Notes in Theoretical Computer Science
, 1998
"... System S is a calculus providing the basic abstractions of term rewriting: matching and building terms, term traversal, combining computations and handling failure. The calculus forms a core language for implementation of a wide variety of rewriting languages, or more generally, languages for specif ..."
Abstract
-
Cited by 22 (8 self)
- Add to MetaCart
System S is a calculus providing the basic abstractions of term rewriting: matching and building terms, term traversal, combining computations and handling failure. The calculus forms a core language for implementation of a wide variety of rewriting languages, or more generally, languages for specifying tree transformations. In this paper we showhow a conventional rewriting language based on conditional term rewriting can be implemented straightforwardly in System S. Subsequently we show how this implementation can be extended with features such as matching conditions, negative conditions, default rules, non-strictness annotations and alternativeevaluation strategies. 1 Introduction Term rewriting is a theoretically well-de#ned paradigm that consists of reducing a term to normal form with respect to a set of rewrite rules #12,5,1#. However, in practical instantiations of this paradigm a wide variety of features are added to this basic paradigm. This has resulted in the design and impl...
Combining Higher-Order and First-Order Computation Using ρ-calculus: Towards a Semantics of ELAN
- In Frontiers of Combining Systems 2
, 1999
"... The ρ-calculus permits to express in a uniform and simple way firstorder rewriting, λ-calculus and non-deterministic computations as well as their combination. In this paper, we present the main components of the ρ-calculus and we give a full first-order presentation of this rewriting calculus using ..."
Abstract
-
Cited by 18 (8 self)
- Add to MetaCart
The ρ-calculus permits to express in a uniform and simple way firstorder rewriting, λ-calculus and non-deterministic computations as well as their combination. In this paper, we present the main components of the ρ-calculus and we give a full first-order presentation of this rewriting calculus using an explicit substitution setting, called ρσ, that generalizes the λσ-calculus. The basic properties of the non-explicit and explicit substitution versions are presented. We then detail how to use the ρ-calculus to give an operational semantics to the rewrite rules of the ELAN language. 1
Rule-Based Constraint Programming
- Fundamenta Informaticae
, 1998
"... In this paper we present a view of constraint programming based on the notion of rewriting controlled by strategies. We argue that this concept allows us to describe in a unified way the constraint solving mechanism as well as the meta-language needed to manipulate the constraints. This has the a ..."
Abstract
-
Cited by 8 (1 self)
- Add to MetaCart
In this paper we present a view of constraint programming based on the notion of rewriting controlled by strategies. We argue that this concept allows us to describe in a unified way the constraint solving mechanism as well as the meta-language needed to manipulate the constraints. This has the advantage to provide descriptions that are very close to the proof theoretical setting used now to describe constraint manipulations like unification or numerical constraint solving. We examplify the approach by presenting examples of constraint solvers descriptions and combinations written in the ELAN language. 1
Theorem proving using computational systems: The case of the B predicate prover
- In Workshop CCL'97, Schlo Dagstuhl
, 1997
"... The framework of computational systems has been already used for describing several computational logics. In this paper is described the way a propositional prover and a predicate prover are implemented in ELAN, the system developed in Nancy for describing and executing computational systems. The in ..."
Abstract
-
Cited by 7 (2 self)
- Add to MetaCart
The framework of computational systems has been already used for describing several computational logics. In this paper is described the way a propositional prover and a predicate prover are implemented in ELAN, the system developed in Nancy for describing and executing computational systems. The inference rules for the provers are described by conditional rewrite rules and their application is controlled by strategies. We show how different strategies using the same set of rewrite rules can yield different results. Some implementation issues are discussed and we provide a proof of termination of the propositional prover using rewrite techniques.
Probabilistic rewrite strategies: Applications to elan
- Rewriting Techniques and Applications
, 2002
"... Abstract. Recently rule based languages focussed on the use of rewriting as a modeling tool which results in making specifications executable. To extend the modeling capabilities of rule based languages, we explore the possibility of making the rule applications subject to probabilistic choices. We ..."
Abstract
-
Cited by 7 (2 self)
- Add to MetaCart
Abstract. Recently rule based languages focussed on the use of rewriting as a modeling tool which results in making specifications executable. To extend the modeling capabilities of rule based languages, we explore the possibility of making the rule applications subject to probabilistic choices. We propose an extension of the ELAN strategy language to deal with randomized systems. We argue trough several examples that we propose indeed a natural setting to model systems with randomized choices. This leads us to interesting new problems, and we address the generalization of the usual concepts in abstract reduction systems to randomized systems. 1

