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.
Preview
Unable to display preview. Download preview PDF.
References
M. Adi and C. Kirchner. AC-unification race: The system solving approach, implementation and benchmarks. J. Symbolic Computation, 14:51–70, 1992.
V. Breazu-Tannen. Combining algebra and higher-order types. In Proc. 3rd IEEE Symp. Logic in Computer Science, pages 82–90, 1988.
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.
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.
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.
J. Gallier and W. Snyder. Complete sets of transformations for general E-unification. Theoretical Computer Science, 67:203–260, 1988.
W. Goldfarb. The undecidability of the second-order unification problem. Theoretical Computer Science, 13:225–230, 1981.
A. Herold and J. Siekmann. Unification in abelian semigroups. J. Automated Reasoning, 3:247–283, 1987.
G. Huet. A unification algorithm for typed λ-calculus. Theoretical Computer Science, 1:27–57, 1975.
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.
D. Miller. A logic programming language with lambda-abstraction, function variables, and simple unification. Journal of Logic and Computation, 1(4):497–536, 1991.
D. Miller. A multiple-conclusion meta-logic: An extended abstract. In Proc. 9th IEEE Symp. Logic in Computer Science, 1994. To appear.
G. Nadathur and D. Miller. An overview of λProlog. In Proc. 5th Int. Logic Programming Conference, pages 810–827. MIT Press, 1988.
T. Nipkow. Higher-order critical pairs. In Proc. 6th IEEE Symp. Logic in Computer Science, pages 342–349, 1991.
T. Nipkow. Functional unification of higher-order patterns. In Proc. 8th IEEE Symp. Logic in Computer Science, pages 64–74, 1993.
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.
L. Paulson. Isabelle: The next 700 theorem provers. In P. Odifreddi, editor, Logic and Computer Science, pages 361–385. Academic Press, 1990.
F. Pfenning. Elf: A language for logic definition and verified meta-programming. In LICS 1989, pages 313–322. IEEE Computer Society Press, June 1989.
F. Pfenning. Logic programming in the LF logical framework. In Logical Frameworks, pages 66–78. Cambridge University Press, 1991.
Z. Qian. Higher-order equational logic programming. In Proc. 21st ACM Symp. Principles of Programming Languages, pages 254–267. ACM Press, 1994.
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.
W. Snyder. Higher-order E-unification. In Proc. 10th Int. Conf. Automated Deduction, pages 573–587. Springer-Verlag LNCS 449, 1990.
M. Stickel. A unification algorithm for associative-commutative functions. J. ACM, 28:423–434, 1981.
D. Wolfram. The Clausal Theory of Types. Cambridge Tracts in Theoretical Computer Science, Volume 21. Cambridge University Press, 1993.
Author information
Authors and Affiliations
Corresponding authors
Editor information
Rights 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