Skip to main content

Modular AC unification of higher-order patterns

  • Conference paper
  • First Online:
Constraints in Computational Logics (CCL 1994)

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

Included in the following conference series:

Abstract

This paper considers AC unification of higher-order patterns (short: patterns), which are simply typed λ-terms in long β-normal form where the arguments of a free variable are always η-equal to distinct bound variables. A pattern is called pure if it can be written as λx 1 ... λx k.s1+...+s n, where + is an AC function symbol and each s i is either a bound variable or a subterm starting with a free variable. As the main part of the paper, we propose an AC unification algorithm for pure patterns, which is parameterized by a first-order AC1 unification algorithm. The algorithm for pure patterns is terminating and complete whenever the parameterizing AC1 unification algorithm is. A terminating and complete AC unification algorithm for all patterns is obtained by combining the algorithm for pure patterns and an AC unification algorithm for free patterns. Theoretically, the result presented here implies the decidability of AC unification of patterns. Practically, our algorithm can be used to extend higher-order logic programming and proof systems with AC operators.

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. M. Adi and C. Kirchner. AC-unification race: The system solving approach, implementation and benchmarks. J. Symbolic Computation, 14:51–70, 1992.

    Google Scholar 

  2. V. Breazu-Tannen. Combining algebra and higher-order types. In Proc. 3rd IEEE Symp. Logic in Computer Science, pages 82–90, 1988.

    Google Scholar 

  3. H.-J. Bürckert, A. Herold, D. Kapur, J. Siekmann, M. Stickel, M. Tepp, H. Zhang. Opening the AC-unification race. J. Automated Reasoning, 4:465–474, 1988.

    Google Scholar 

  4. N. Dershowitz and S. Mitra. Higher-order unification for convergent systems. In Proc. 13rd Conf. on Foundations of Software Technology and Theoretical Computer Science, Springer-Verlag LNCS 761 p.139–150, 1993.

    Google Scholar 

  5. D. Dougherty and P. Johann. A combinatory logic approach to higher-order E-unification. In Proc. 11th Int. Conf. on Automated Deduction, pages 79–93. Springer-Verlag LNCS 607, 1992.

    Google Scholar 

  6. J. Gallier and W. Snyder. Complete sets of transformations for general E-unification. Theoretical Computer Science, 67:203–260, 1988.

    Google Scholar 

  7. W. Goldfarb. The undecidability of the second-order unification problem. Theoretical Computer Science, 13:225–230, 1981.

    Google Scholar 

  8. A. Herold and J. Siekmann. Unification in abelian semigroups. J. Automated Reasoning, 3:247–283, 1987.

    Google Scholar 

  9. G. Huet. A unification algorithm for typed λ-calculus. Theoretical Computer Science, 1:27–57, 1975.

    Google Scholar 

  10. J.-P. Jouannaud and C. Kirchner. Solving equations in abstract algebras: A rule-based survey of unification. In J.-L. Lassez and G. Plotkin, editors, Computational Logic: Essays in Honor of Alan Robinson. MIT Press, 1991.

    Google Scholar 

  11. D. Miller. A logic programming language with lambda-abstraction, function variables, and simple unification. Journal of Logic and Computation, 1(4):497–536, 1991.

    Google Scholar 

  12. D. Miller. A multiple-conclusion meta-logic: An extended abstract. In Proc. 9th IEEE Symp. Logic in Computer Science, 1994. To appear.

    Google Scholar 

  13. G. Nadathur and D. Miller. An overview of λProlog. In Proc. 5th Int. Logic Programming Conference, pages 810–827. MIT Press, 1988.

    Google Scholar 

  14. T. Nipkow. Higher-order critical pairs. In Proc. 6th IEEE Symp. Logic in Computer Science, pages 342–349, 1991.

    Google Scholar 

  15. T. Nipkow. Functional unification of higher-order patterns. In Proc. 8th IEEE Symp. Logic in Computer Science, pages 64–74, 1993.

    Google Scholar 

  16. T. Nipkow and Z. Qian. Modular higher-order E-unification. In R. Book, editor, Proc. 4th Int. Conf. Rewriting Techniques and Applications, pages 200–214. Springer-Verlag LNCS 488, 1991.

    Google Scholar 

  17. L. Paulson. Isabelle: The next 700 theorem provers. In P. Odifreddi, editor, Logic and Computer Science, pages 361–385. Academic Press, 1990.

    Google Scholar 

  18. F. Pfenning. Elf: A language for logic definition and verified meta-programming. In LICS 1989, pages 313–322. IEEE Computer Society Press, June 1989.

    Google Scholar 

  19. F. Pfenning. Logic programming in the LF logical framework. In Logical Frameworks, pages 66–78. Cambridge University Press, 1991.

    Google Scholar 

  20. Z. Qian. Higher-order equational logic programming. In Proc. 21st ACM Symp. Principles of Programming Languages, pages 254–267. ACM Press, 1994.

    Google Scholar 

  21. Z. Qian and K. Wang. Higher-order E-unification for arbitrary theories. In Proc. 1992 Joint Int. Conf. and Symp. on Logic Programming. MIT Press, 1992.

    Google Scholar 

  22. W. Snyder. Higher-order E-unification. In Proc. 10th Int. Conf. Automated Deduction, pages 573–587. Springer-Verlag LNCS 449, 1990.

    Google Scholar 

  23. M. Stickel. A unification algorithm for associative-commutative functions. J. ACM, 28:423–434, 1981.

    Google Scholar 

  24. D. Wolfram. The Clausal Theory of Types. Cambridge Tracts in Theoretical Computer Science, Volume 21. Cambridge University Press, 1993.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding authors

Correspondence to Zhenyu Qian or Kang Wang .

Editor information

Jean-Pierre Jouannaud

Rights and permissions

Reprints and permissions

Copyright information

© 1994 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Qian, Z., Wang, K. (1994). Modular AC unification of higher-order patterns. In: Jouannaud, JP. (eds) Constraints in Computational Logics. CCL 1994. Lecture Notes in Computer Science, vol 845. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0016847

Download citation

  • DOI: https://doi.org/10.1007/BFb0016847

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-58403-2

  • Online ISBN: 978-3-540-48699-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics