ELAN
The ELAN system 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. 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 operations and a backtracking capability. One of the main originality of the language is to provide strategy constructors to specify whether a function call returns several, at-least one or only one result. This declarative handling of non-determinism is part of a strategy language allowing the programmer to specify the control on rules application. This is in contrast to many existing rewriting-based languages where the term reduction strategy is hard-wired and not accessible to the designer of an application. The strategy language offers primitives for sequential composition, iteration, deterministic and non-deterministic choices of elementary strategies that are labelled rules. From these primitives, more complex strategies can be expressed. In addition the user can introduce new strategy operators and define them by rewrite rules. Evaluation of strategy application is itself based on rewriting. So the simple and well-known paradigm of rewriting provides both the logical framework in which deduction systems can be expressed and combined, and the evaluation mechanism of the language. The purpose of these pages is to summarize ELAN features, library and environment and to provide a guide to the literature on the language.
Keywords for this software
References in zbMATH (referenced in 113 articles , 2 standard articles )
Showing results 1 to 20 of 113.
Sorted by year (- Ciobanu, Gabriel; Koutny, Maciej; Steggles, Jason: Strategy based semantics for mobility with time and access permissions (2015)
- Gnaedig, Isabelle; Kirchner, Hélène: Proving weak properties of rewriting (2011)
- Alpuente, M.; Ballis, D.; Correa, F.; Falaschi, M.: An integrated framework for the diagnosis and correction of rule-based programs (2010)
- Andersen, Jacob; Brabrand, Claus: Syntactic language extension via an algebra of languages and transformations (2010)
- Shankar, Natarajan: Rewriting, inference, and proof (2010)
- Bagge, Anya Helene; Haveraaen, Magne: Axiom-based transformations: optimisation and testing (2009)
- Şerbănuţă, Traian Florin; Roşu, Grigore; Meseguer, José: A rewriting logic approach to operational semantics (2009)
- Klint, Paul; Kooiker, A.Taeke; Vinju, Jurgen J.: Language parametric module management for ides. (2008)
- Brabrand, Claus; Schwartzbach, Michael I.: The metafront system: safe and extensible parsing and transformation (2007)
- Chothia, Tom; Duggan, Dominic; Wu, Ye: An end-to-end approach to distributed policy language implementation: (Extended abstract). (2007)
- Cirstea, Horatiu; Faure, Germain; Kirchner, Claude: A $\rho$-calculus of explicit constraint application (2007)
- Erwig, Martin; Ren, Deling: An update calculus for expressing type-safe program updates (2007)
- Faure, Germain: Term collections in lambda and rho-calculi. (2007)
- Winter, Victor L.: Model-driven transformation-based generation of Java stress tests. (2007)
- Bournez, Olivier; Ibanescu, Liliana; Kirchner, Hélène: From chemical rules to term rewriting. (2006)
- Conchon, Sylvain; Krstić, Sava: Strategies for combining decision procedures (2006)
- May, Jonathan; Knight, Kevin: Tiburon: a weighted tree automata toolkit (2006)
- Rossi, Francesca (ed.); van Beek, Peter (ed.); Walsh, Toby (ed.): Handbook of constraint programming. (2006)
- Cirstea, Horatiu; Faure, Germain; Kirchner, Claude: A rho-calculus of explicit constraint application. (2005)
- Cirstea, Horatiu; Moreau, Pierre-Etienne; Reilles, Antoine: Rule-based programming in Java for protocol verification. (2005)