16 research outputs found
Rewriting with strategies in ELAN: a functional semantics
Article soumis en 1999 et finalement paru en 2001.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 first rewrite derivations, then sets of derivations. These functions, that we call strategies, can themselves be defined by rewrite rules and the construction can be iterated leading to higher-order strategies. Furthermore, the application function is itself defined 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
ELAN from the rewriting logic point of view
Rapport interne.\elan\ implements computational systems, a concept that combines rewriting logic with the powerful description of 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 the semantics of \elan, this paper has four 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, an enrichment mechanism of a rewrite theory into a strategy theory in conditional rewriting logic, and eventually a description in conditional rewriting logic of the rules and strategies application mechanism in ELAN
Graph Creation, Visualisation and Transformation
We describe a tool to create, edit, visualise and compute with interaction
nets - a form of graph rewriting systems. The editor, called GraphPaper, allows
users to create and edit graphs and their transformation rules using an
intuitive user interface. The editor uses the functionalities of the TULIP
system, which gives us access to a wealth of visualisation algorithms.
Interaction nets are not only a formalism for the specification of graphs, but
also a rewrite-based computation model. We discuss graph rewriting strategies
and a language to express them in order to perform strategic interaction net
rewriting
Strategic programming on graph rewriting systems
We describe a strategy language to control the application of graph rewriting
rules, and show how this language can be used to write high-level declarative
programs in several application areas. This language is part of a graph-based
programming tool built within the port-graph transformation and visualisation
environment PORGY.Comment: In Proceedings IWS 2010, arXiv:1012.533
Implementation of Higher-Order Unification Based on Calculus of Explicit Substitution
. In this paper, we present several improvements of an algorithm for a higher-order unification based on the calculus of explicit substitutions. The main difference between our algorithm and the already known version is, that we try to postpone normalisation of oe-terms as long as possible, i.e. until some information of these oe-terms is necessary for the next step of the unification algorithm. 1 Introduction In this paper, we describe an improved version of a higher-order unification algorithm, which was presented in [DHK95]. The main idea of this algorithm is based on a calculus of explicit substitutions in a simply typed -theory (for definitions and details, see [ACCL90]), which integrates substitutions in the framework of the first-order formalism. In this calculus, substitutions are treated as the firstorder objects, i.e. all basic operations over substitutions, like an application, a composition and a concatenation are defined in the first-order theory (their semantic is descri..
Cooperation of Constraint Solvers: Using the New Process Control Facilities of ELAN
In this paper, we introduce new process control facilities in the ELAN language as low-level primitives and high-level concurrent strategies. The low-level primitives are similar to those existing in UNIX for process control and communication. The high-level concurrent strategies proposed in this paper extend their existing sequential version giving them a new behaviour while preserving their operational semantics. This extension of the ELAN language allows to prototype in a very abstract and flexible way the integration of several computational systems within the same rewriting framework. Using the high-level concurrent strategies we can also avoid some non-terminating processes and/or apply the most efficient rewrite rule or strategy. We exemplify their use by prototyping different kinds of cooperation between constraint solvers, e.g. sequential and concurrent solvers. Keywords: Rewriting Logic, Computational Systems, Constraint Satisfaction Optimisation Problems, Process Communicat..
Rewriting as a Unified Specification Tool for Logic and Control: The ELAN Language
Colloque sur invitation.We have introduced computational systems as the notion of rewriting directed by user defined strategies. This provides a semantics for \elan, an environment dedicated to prototype, experiment and study the combination of different deduction systems for constraint solving, theorem proving and logic programming paradigms. Formally, a computational system can be represented as a rewrite theory in rewriting logic together with a notion of strategy to select relevant computations. We show how conveniently the strategies can also be specified using again computational systems. Several non-trivial exemples of strategy description are described including a search space library and its use for solving problems like game winning strategies
A functional view of rewriting and strategies for a semantics of ELAN
Colloque sur invitation.In this paper, 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 define more elaborated functions, describing first rewrite derivations, then sets of derivations. These functions that we call strategies, can themselves be defined by rewrite rules and the construction can be iterated leading to higher order strategies. Furthermore the application function is itself defined using rewriting in the same spirit. We show how this calculus can be defined and we study some of its properties. Its implementation in the ELAN language is used to motivate and exemplify the whole approach