Abstract
Syntactic unification has widespread use in computing. There are several operations used in deductive computing such as critical pair generation, paramodulation and narrowing that require unifying a term s with every subterm of another term p. This subterm unification problem can be solved naively by repeatedly unifying s with each subterm of p in isolation. The drawback of doing unification in isolation is that commonality among subterms of p is ignored. We present an algorithm for efficient subterm unification by exploiting this commonality. The central idea used in our algorithm is to reduce the common part computation in unification into a string-matching problem and solve it efficiently using a string-matching automaton. The automaton succinctly captures the commonality between subterms of p. The string-matching approach, in conjunction with two new techniques called bidirectional-reduce and marking enables efficient unification of s with every subterm of p.
Research supported by NSP grant CCR-9110055.
Research supported by NSF grants CCR-9102159, 9404921, CDA-9303181 and INT-9314412.
Research done while at SUNY, Stony Brook.
Preview
Unable to display preview. Download preview PDF.
References
A.V. Aho and M.J. Corasick, Efficient String Matching: An Aid to Bibliographic Search, CACM, Vol. 18 No. 6, 1975, pp. 333–340.
C.H. Hoffmann and M.J. O'Donnell, Tree Pattern Matching, JACM, Vol. 29 No. 1, 1982, pp. 68–95.
G. Heut and J.-J. Levy, Computations in Orthogonal Rewriting Systems, In Essays in Computational Logic (in honor of Alan Robinson), J.-L. Lassez and G. Plotkin, ed., MIT Press, 1991.
D. E. Knuth and P. Bendix, Simple word problems in Universal Algebras, In Computational Problems in Abstract Algebra, J. Leech, ed., Pergammon Press, 1970, pp. 263–297.
A. Martelli and U. Montanari, An Efficient Unification Algorithm, ACM TOPLAS, Vol. 4 No. 2, 1982, pp. 258–282.
A. Martelli and U. Montanari, Unification in Linear Time and Space: A Structured Presentation, Internal Report #B76-16, Instituto di Elaborazione della Informazione, Consiglio Nazionale delle Ricerche, Pisa, Italy.
M.S. Paterson and M.N. Wegman, Linear Unification, Journal of Computer System and Science, Vol. 16 No. 2, 1978, pp. 158–167
R. Ramesh and I.V. Ramakrishnan, Nonlinear Pattern Matching in Trees, JACM, Vol. 39 No. 2, 1992, pp. 295–316.
R. Ramesh and I.V. Ramakrishnan, Automata-Driven Indexing of Prolog Clauses, in POPL 1990, pp. 281–291 (to appear in Journal of Logic Programming).
R.E. Tarjan, On the Efficiency of a Good but not Linear Set Merging Algorithm, JACM, Vol. 22 No. 2, 1975, pp 215–225.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1994 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Ramesh, R., Ramakrishnan, I.V., Sekar, R.C. (1994). Automata-driven efficient subterm unification. In: Thiagarajan, P.S. (eds) Foundation of Software Technology and Theoretical Computer Science. FSTTCS 1994. Lecture Notes in Computer Science, vol 880. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-58715-2_132
Download citation
DOI: https://doi.org/10.1007/3-540-58715-2_132
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-58715-6
Online ISBN: 978-3-540-49054-8
eBook Packages: Springer Book Archive