Abstract
A decision procedure for a class of semantic matching problems was proposed in [3], but it yielded efficiency problems, principally because of redundancies. We present in this paper a new semantic matching algorithm for a restricted class of convergent rewrite systems, its theoretical properties, and an efficient implementation. This class of rewrite systems is particularly interesting for functional programming and for program manipulations. To make the algorithm efficient, two techniques are introduced: dependency analysis and sharing analysis. The possibility to divide the semantic matching problems into three complexity classes linear, polynomial, and decidableis also an advantage of our approach. A number of test results shed some light on the efficiency of an ML implementation in the theorem prover Isabelle.
Research partially supported by BMBF Project UniForM.
Preview
Unable to display preview. Download preview PDF.
References
Bockmayr, B.: A Note on a Canonical Theory with Undecidable Unification and Matching Problem. In Journal of Automated Reasoning, Vol. 3, 379–381, 1987.
Dershowitz, N., Jouannaud, J.-P.: Rewrite System. In I. van Leeuwen, editor, Formal Models and Semantics, Handbook of Theoretical Computer Science, Vol. B, 243–320. The MIT press, 1990.
Dershowitz, N., Mitra, S. and Sivakumar, G.: Decidable Matching for Convergent Systems. In Proc. of 11th International Conference on Automated Deduction, LNCS 607, 589–602, 1992.
Fay, M.: First Order Unification in an Equational Theory. In Proc. 4th Workshop on Automated Deduction (1979), 161–167.
Harper, R., MacQueen, D., Miller, R.: Standard ML. LFCS Report Series, ECS-LFCS-86-2. Dept. of Computer Science, University of Edinburgh, 1986.
Hullot, J.-M.: Canonical Forms and Unification. In Proc. 5th Workshop on Automated Deduction (1980), 318–334.
Klop, J. W.: Term Rewriting Systems. In Abramski, S., Gabbay, Dov. M. and Maibaum, T.S.E. (eds): Handbook of Logic in Computer Science, Chapter 1. Oxford Science Publications, (1992).
Krieg-Brückner, B., Liu, J., Shi, H. and Wolff, B.: Towards Correct, Efficient and Reusable Transformational Developments. In Broy, M. and Jährlichen, S. (ed.): KORSO, Correct Software by Formal Methods, LNCS 1009, 1995.
Martelli, A. and Montanari, U.: An Efficient Unification Algorithm. ACM Transactions on Programming Languages and Systems, Vol 4, No. 2, (1982), 258–282.
Middeldorp, A. and Hamoen, E.: Completeness Results for Basic Narrowing. In Proc. 3rd International Conference on Algebraic and Logic Programming, LNCS 632, 244–258, (1992).
Paulson, Lawrence C: Isabelle — A Generic Theorem Prover. LNCS 828, Springer-Verlag, 1994.
Shi, H.: Extended Matching with Applications to Program Transformation. Ph.D. thesis, Universität Bremen, 1994.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1996 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Shi, H. (1996). A semantic matching algorithm: Analysis and implementation. In: Penczek, W., Szałas, A. (eds) Mathematical Foundations of Computer Science 1996. MFCS 1996. Lecture Notes in Computer Science, vol 1113. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-61550-4_175
Download citation
DOI: https://doi.org/10.1007/3-540-61550-4_175
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-61550-7
Online ISBN: 978-3-540-70597-0
eBook Packages: Springer Book Archive