Skip to main content

A semantic matching algorithm: Analysis and implementation

  • Contributed Papers
  • Conference paper
  • First Online:
Mathematical Foundations of Computer Science 1996 (MFCS 1996)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1113))

  • 158 Accesses

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Bockmayr, B.: A Note on a Canonical Theory with Undecidable Unification and Matching Problem. In Journal of Automated Reasoning, Vol. 3, 379–381, 1987.

    Article  Google Scholar 

  2. 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.

    Google Scholar 

  3. 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.

    Google Scholar 

  4. Fay, M.: First Order Unification in an Equational Theory. In Proc. 4th Workshop on Automated Deduction (1979), 161–167.

    Google Scholar 

  5. Harper, R., MacQueen, D., Miller, R.: Standard ML. LFCS Report Series, ECS-LFCS-86-2. Dept. of Computer Science, University of Edinburgh, 1986.

    Google Scholar 

  6. Hullot, J.-M.: Canonical Forms and Unification. In Proc. 5th Workshop on Automated Deduction (1980), 318–334.

    Google Scholar 

  7. 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).

    Google Scholar 

  8. 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.

    Google Scholar 

  9. Martelli, A. and Montanari, U.: An Efficient Unification Algorithm. ACM Transactions on Programming Languages and Systems, Vol 4, No. 2, (1982), 258–282.

    Article  Google Scholar 

  10. 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).

    Google Scholar 

  11. Paulson, Lawrence C: Isabelle — A Generic Theorem Prover. LNCS 828, Springer-Verlag, 1994.

    Google Scholar 

  12. Shi, H.: Extended Matching with Applications to Program Transformation. Ph.D. thesis, Universität Bremen, 1994.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Wojciech Penczek Andrzej Szałas

Rights and permissions

Reprints 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

Publish with us

Policies and ethics