Abstract
The ELAN system is an environment for specifying and prototyping constraint solvers, theorem provers and deduction systems in general. It also provides a framework for experimenting their combination. The ELAN language is based on rewriting logic and evaluation of labelled conditional rewrite rules. ELAN has two originalities with respect to several other algebraic languages, namely to handle non-deterministic computations and to provide a user-defined strategy language for controlling rule application. We focus in this paper on these two related aspects and explain how non-determinism is used in ELAN programs and handled in the ELAN compiler.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
H. Aït-Kaci. TheWAM: a (real) tutorial. Technical report 5, Digital Systems Research Center, Paris (France), January 1990.
K. R. Apt and A. Schaerf. Search and imperative programming. In 24th POPL, pages 67–79, 1997.
P. Borovanský, C. Kirchner, and H. Kirchner. Controlling rewriting by rewriting. In J. Meseguer, editor, Proceedings of the first international workshop on rewriting logic, volume 4 of Electronic Notes in Theoretical Computer Science, Asilomar (California), September 1996.
P. Borovanský, C. Kirchner, and H. Kirchner. A functional view of rewriting and strategies for a semantics of ELAN. In M. Sato and Y. Toyama, editors, The Third Fuji International Symposium on Functional and Logic Programming, pages 143–167, Kyoto, April 1998. World Scientific. Also report LORIA 98-R-165.
C. Castro. Building Constraint Satisfaction Problem Solvers Using Rewrite Rules and Strategies. Fundamenta Informaticae, 34:263–293, September 1998.
M. Clavel, S. Eker, P. Lincoln, and J. Meseguer. Principles of Maude. In J. Meseguer, editor, Proceedings of the first international workshop on rewriting logic, volume 4, Asilomar (California), September 1996. Electronic Notes in Theoretical Computer Science.
H. Cirstea and C. Kirchner. Theorem proving Using Computational Systems: The case of the B Predicate Prover. Available at http://www.loria.fr/ ffcirstea/Papers/TheoremProver.ps, 1997.
Y. Caseau and F. Laburthe. Introduction to the CLAIRE programming language. Technical report 96-15, LIENS Technical, September 1996.
K. Didrich, A. Fett, C. Gerke, W. Grieskamp, and P. Pepper. OPAL: Design and implementation of an algebraic programming language. In J. Gutknecht, editor, Programming Languages and System Architectures PLSA’94, volume 782 of Lecture Notes in Computer Science, pages 228–244. Springer-Verlag, March 1994.
K. Futatsugi and A. Nakagawa. An overview of CAFE specification environment — an algebraic approach for creating, verifying, and maintaining formal specifications over networks. In Proceedings of the 1st IEEE Int. Conference on Formal Engineering Methods, 1997.
J. A. Goguen and T. Winkler. Introducing OBJ3. Technical Report SRICSL-88-9, SRI International, 333, Ravenswood Ave.,Menlo Park, CA 94025, August 1988.
F. Henderson, T. Conway, and Z. Somogyi. The execution algorithm of Mercury, an efficient purely declarative logic programming language. Journal of Logic Programming, 29:17–54, October-December 1996.
F. Henderson, Z. Somogyi, and T. Conway. Determinism analysis in the Mercury compiler. In Proceedings of the Nineteenth Australian Computer Science Conference, pages 337–346, Melbourne, Australia, January 1996.
J.-P. Jouannaud and H. Kirchner. Completion of a set of rules modulo set of equations. SIAM Journal of Computing, 15(4):1155–1194, 1986.Preliminary version in Proceedings 11th ACM Symposium on Principles of Programming Languages, Salt Lake City (USA), 1984.
C. Kirchner, H. Kirchner, and M. Vittek. Designing constraint logic programming languages using computational systems. In P. Van Hentenryck and V. Saraswat, editors, Principles and Practice of Constraint Programming. The Newport Papers., chapter 8, pages 131–158. The MIT press, 1995.
P. Klint. A meta-environment for generating programming environments. ACM Transactions on Software Engineering and Methodology, 2:176–201, 1993.
H. Kirchner and P.-E. Moreau. Prototyping completion with constraints using computational systems. In J. Hsiang, editor, Proceedings 6th Conference on Rewriting Techniques and Applications, Kaiserslautern (Germany), volume 914 of Lecture Notes in Computer Science, pages 438–443. Springer-Verlag, 1995.
C. Kirchner and C. Ringeissen. Rule-Based Constraint Programming. Fundamenta Informaticae, 34(3):225–262, September 1998.
J. Meseguer. Conditional rewriting logic as a unified model of concurrency. Theoretical Computer Science, 96(1):73–155, 1992.
P.-E. Moreau and H. Kirchner. A compiler for rewrite programs in associative-commutative theories. In “Principles of Declarative Programming”, number 1490 in Lecture Notes in Computer Science, pages 230–249. Springer-Verlag, September 1998. Report LORIA 98-R-226.
P.-E. Moreau. A choice-point library for backtrack programming. JICSLP’98 Post-Conference Workshop on Implementation Technologies for Programming Languages based on Logic, 1998.
P.-E. Moreau. Compiling nondeterministic computations. Technical Report 98-R-005, CRIN, 1998.
V. Partington. Implementation of an Imperative Programming Language with Backtracking. Technical Report P9714, University of Amsterdam, Programming Research Group, 1997. Available by anonymous ftp from ftp.wins.uva.nl, le pub/programming-research/reports/1997/P9712.ps.Z.
C. Ringeissen. Prototyping Combination of Unification Algorithms with the ELAN Rule-Based Programming Language. In Proceedings 8th Conference on Rewriting Techniques and Applications, Sitges (Spain), volume 1232 of Lecture Notes in Computer Science, pages 323–326. Springer-Verlag, 1997.
H. Sawamura and T. Takeshima. Recursive unsolvability of determinacy, solvable cases of determinacy and their applications to Prolog optimization. In Proceedings of the Second International Logic Programming Conference, pages 200–207, Boston, Massachusetts, 1985.
M. Vittek. A compiler for nondeterministic term rewriting systems. In H. Ganzinger, editor, Proceedings of RTA’96, volume 1103 of Lecture Notes in Computer Science, pages 154–168, New Brunswick (New Jersey), July 1996. Springer-Verlag.
D. H. D. Warren. An abstract Prolog instruction set. Technical Report 309, SRI International, Artificial Intelligence Center, 1983.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1999 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Kirchner, H., Moreau, PE. (1999). Non-deterministic Computations in ELAN. In: Fiadeiro, J.L. (eds) Recent Trends in Algebraic Development Techniques. Lecture Notes in Computer Science, vol 1589. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48483-3_12
Download citation
DOI: https://doi.org/10.1007/3-540-48483-3_12
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-66246-4
Online ISBN: 978-3-540-48483-7
eBook Packages: Springer Book Archive