Abstract
We describe a method to improve the efficiency of normalization procedures for term rewriting systems. This improvement does not restrict the semantics of the term rewriting specification in any respect. In particular, the expressive power of term rewriting systems as a programming language for generic programs and as a theorem prover has been preserved. Our method is based on the following observation. Many rewrite specifications are instances of theories for which efficient data structures exist. In that case we can exploit the canonical representation of objects of such a data structure by translating terms to corresponding objects, and retranslating these objects to terms (in normal form). We will call an implementation of a data structure that allows for this kind of transformations for all (not necessarily ground) terms an evaluation domain. This is then extended to the case where only part of a rewrite specification can directly be transformed using an evaluation domain. We develop the semantical requirements for such evaluation domains and discuss how evaluation domains can support the normalization process. We propose language extensions necessary for term rewriting software to take advantage of evaluation domains. Many experiments with an implementation based on the ReDuX term rewriting laboratory emphasize the efficiency of our approach.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Avenhaus, J., and Becker, K.: Operational specifications with built-ins. In Enlbert, P., Mayr, E. W., and Wagner, K. W., editors, STACS 94 (LNCS 775). Springer-Verlag, 1994.
Benninghofen, B., Kemmerich, S., and Richter, M. M.: Systems of Reductions. Springer-Verlag, Berlin, 1987.
Bryant, R. E.: Graph-based algorithms for Boolean function manipulation. IEEE Transactions on Computers, C-35(8):677–691, 1986.
Bubeck, T., Kebschull, U., and Rosenstiel, W.:-Sparrow — Ein Mikroprozessor-Entwurfs-und Ausbildungssystem. Technical Report 93-07, Wilhelm-Schickard-Institut, Universität Tübingen, D-72076 Tübingen, 1993. (in German).
Bündgen, R.: Reduce the redex → ReDuX. In Kirchner, C., editor, Rewriting Techniques and Applications (LNCS 690). Springer-Verlag, 1993.
Bündgen, R.: Combining computer algebra and rule based reasoning. In Integrating Symbolic Mathematical Computation and Artificial Intelligence. Springer-Verlag, 1995.
Bündgen, R.: Preserving confluence for rewrite systems with built-in operations. In Dershowitz, N., and Lindenstrauss, N., editors, Conditional and Typed Rewriting Systems (LNCS 968). Springer-Verlag, 1995.
Bündgen, R., and Eckhardt, H.: A fast algorithm for ground normal form analysis. In Kirchner, H., and Levi, G., editors, Algebraic and Logic Programming (LNCS 632). Springer-Verlag, 1992.
Bündgen, R., Göbel, M., and Küchlin, W.: Strategy compliant multi-threaded term completion. Journal of Symbolic Computation, 1996. (to appear).
Bündgen, R., Küchlin, W., and Lauterbach, W.: Verification of the Sparrow processor. In Engineering of Computer-Based Systems. IEEE Press, 1996.
Bündgen, R., Sinz, C., and Walter, J. ReDuX 1.5: New facets of rewriting. In Ganzinger, H., editor, Rewriting Techniques and Applications. Springer-Verlag, 1996. (to appear).
Collins, G. E.: ALDES and SAC-2 now available. SIGSAM Bull., 12(2): 19, 1980.
Dershowitz, N., and Jouannaud, J.-R: Rewrite systems. In Leeuven, J. van, editor, Formal Models and Semantics, volume B of Handbook of Theoretical Computer Science, chapter 6. Elsevier, 1990.
Goguen, J. A., Winkler, T., Meseguer, J., Futatsugi, K., and Jouannaud, J.-P.: Introducing OBJ, October 1993.
Guttag, J. V., and Horning, J. J.: Larch: Languages and tools for Formal Specification. Springer-Verlag, 1993.
Hsiang, J.: Refutational theorem proving using term-rewriting systems. Artificial Intelligence, 25:255–300, 1985.
Jaffar, J., and Lassez, J.-L.: Constraint logic programming. In ACM Symp. on Principles of Progr. Languages '87. 1987.
Kamperman, J., and Walters, H. R.: Minimal term rewriting. In 11th Workshop on Abstract Data Types (this volume), 1996.
Kaplan, S., and Choppy, C.: Abstract rewriting with concrete operators. In Dershowitz, N., editor, Rewriting Techniques and Applications (LNCS 355). Springer-Verlag, 1989.
Kapur, D., and Musser, D. R.: Tecton: A framework for specifying and verifying generic system components. Technical Report 92-20, Rennselaer Polytechnic Institute, Troy, New York 12180-3590, 1992.
Kebschull, U., Schubert, E., and Rosenstiel, W: Multilevel logic synthesis based on functional decision diagrams. In Proc. EDAC 1992, 1992.
Kirchner, C., Kirchner, H., and Michaël, R.: Deduction with symbolic constraints. Revue d'Intelligence Artificielle, 4(3): 9–52, 1990.
Kirchner, C., and Viry, P.: Implementing parallel rewriting. In Fronhöfer, B., and Wrightson, G., editors, Parallelization in Inference Systems (LNCS 590). Springer-Verlag, 1990.
Knuth, D. E., and Bendix, P. B.: Simple word problems in universal algebra. In Leech, J., editor, Computational Problems in Abstract Algebra. Pergamon Press, 1970.
Küchlin, W.: Some reduction strategies for algebraic term rewriting. ACM SIGSAM Bull., 16(4): 13–23, Nov. 1982.
Küchlin, W.: Inductive completion by ground proof transformation. In Aït-Kaci, H., and Nivat, M., editors, Resolution of Equations in Algebraic Structures, volume 2 of Rewriting Techniques, chapter 7. Academic Press, 1989.
Le Chenadec, P.: Canonical Forms in Finitely Presented Algebras. Pitman, London, 1986.
Marché, C.: Normalised rewriting and normalised completion. In Ninth Anual Symposium on Logic in Computer Science. IEEE Computer Society Press, 1994.
Meinke, K., and Tucker, J. V.: Universal algebra. In Abramsky, S., Gabbay, D. M., and Maibaum, T. S. E., editors, Background: Mathematical Strcutures, volume 1 of Handbook of Logic in Computer Science, chapter 3. Oxford University Press, 1992.
Peterson, G., and Stickel, M.: Complete sets of reductions for some equational theories. J. ACM, 28:223–264, 1981.
Stone, M. H.: The theory of representations of Boolean algebras. Trans. American Math. Society, 40:37–111, 1936.
Walters, H. R.: Hybrid implementations of algebraic specifications. In Kirchner, H., and Wechler, W., editors, Algebraic and Logic Programming (LNCS 463). Springer-Verlag, 1990.
Walters, H. R. and Kamperman, J. Epic 1.0 (unconditional), an equational programming language. Technical Report CS-R9604, CWI, 1996.
Walters, H.R., and Zantema, H.: Rewrite systems for integer arithmetic. In Hsiang, J., editor, Rewriting Techniques and Applications (LNCS 914). Springer-Verlag, 1995.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1996 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Bündgen, R., Lauterbach, W. (1996). Experiments with partial evaluation domains for rewrite specifications. In: Haveraaen, M., Owe, O., Dahl, OJ. (eds) Recent Trends in Data Type Specification. ADT COMPASS 1995 1995. Lecture Notes in Computer Science, vol 1130. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-61629-2_40
Download citation
DOI: https://doi.org/10.1007/3-540-61629-2_40
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-61629-0
Online ISBN: 978-3-540-70642-7
eBook Packages: Springer Book Archive