Skip to main content
Log in

A class of confluent term rewriting systems and unification

  • Published:
Journal of Automated Reasoning Aims and scope Submit manuscript

Abstract

The narrowing mechanism and term rewriting systems are powerful tools for constructing complete and efficient unification algorithms for useful classes of equational theories. This has been shown for the case where term rewriting systems are confluent and noetherian (i.e., terminating). In this paper we show that the narrowing mechanism, combined with ordinary unification, yields a complete unification algorithm for equational theories that can be described by a closed linear term rewriting system with the non-repetition property; this class allows non-terminating rewrite systems. For some special forms of input terms, narrowing generates complete sets of E-unifiers without resorting to the non-repetition property. The key observation underlying the proof is that a reduction sequence in this class of term rewriting system can be transformed into one which possesses properties that enable a completeness proof.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Dershowitz, H., ‘Equations as programming language’, in Proc. 4th Jerusalem Conference on Information Technology, pp. 114–123, May (1984).

  2. Dershowitz, H. and Plaisted, D. ‘Logic programming cum applicative programming’, in Proc. 1985 International Symposium on Logic Programming, pp. 54–67, Boston, Mass., July (1985).

  3. Fay, M. J., ‘First-order unification in an equational theory’, in 4th Workshop on Automated Deduction, pp. 161–167, Austin, Texas, February, (1979).

  4. Fribourg, L., ‘A superposition oriented theorem prover’, Tech. Report 11, L.I.T.P., 1983, To appear in Theoretical Compute Science, short version in Proc. IJCAI-89, pp. 923–925.

  5. Fribourg, L., ‘SLOG: A logic programming language interpreter based on clausal superposition and rewriting’, in Proc. 1985 International Symposium on Logic Programming, pp. 172–184, Boston, Mass., July (1985).

  6. Goguen, J. and Meseguer, J., ‘Equality, types, modules and generics for logic programming’, in Proc. Second International Logic Programming Conference, Uppsala, July (1984).

  7. Hoffmann, C. M. and O'Donnell, M., ‘Programming with Equations’, ACMTOPLAS, Vol. 4, No. 1, pp. 83–112, January (1982).

    Google Scholar 

  8. Hullot, J. M., ‘Canonical forms and unification’, in Proc. 5th Conference on Automated Deduction, pp. 318–334 (1980).

  9. Hussmann, H., ‘Unification in conditional-equational theories’, Tech. Report MIP 8502, Universitat Passau, January (1985).

  10. Knuth, D. and Bendix, P., ‘Simple word problems in universal algebras’, in Computational Problems in Abstract Algebra J. Leech, (ed.) pp. 163–279, Pergamon Press (1970).

  11. Jouannaud, J. P., Kirchner, C., and Kirchner, H., ‘Incremental construction of unification algorithms in equational theories’, in Proc. 10th Colloquium on Automata, Languages and programming (1982).

  12. Lankford, D. S., ‘Canonical inference,’ Technical Report ATP-32, Department of Mathematics and Computer Science, University of Texas at Austin, December (1975).

  13. Peterson, G. E. and Stickel, M. E., ‘Complete sets of reductions for some equational theories’, in Journal of ACM 28 (2): 233–264, April (1981).

  14. Plotkin, G., ‘Building-in equational theories’, in Machine Intelligence 7, pp. 73–90, Edinburgh University press (1972).

  15. O'Donnell, M., ‘Computing in systems described by equations’, in Lecture Notes in Computer Science, Vol. 58, Springer-Verlag, New York (1977).

    Google Scholar 

  16. Reddy, U., ‘Narrowing as the operational semanties of functional languages’, in proc. 1985 International Symposium on Logic Programming, pp. 138–151, Boston, Mass., July (1985).

  17. Rety, P., Kirchner, C., Kirchner, H., and lescanne, P., ‘NARROWER: A new algorithm and its application to logic programming’, in Proc. Rewriting Techniques and Applications, also in Lecture Notes in Computer Science 202, pp. 141–157 (1985).

  18. Robinson, J. A., ‘A machine oriented logic based on the resolution,’ in Journal of ACM, Vol. 12, No. 1 pp. 23–41, January (1985).

  19. Siekmann, J., ‘Universal unification’, in Proc. 7th International Conference on Automated Deduction, pp. 1–42, Napa, California, May (1984).

  20. Subrahmanyam, P. A. and Jia-Huai You, ‘FUNLOG: A computational model integrating logic programming and functional programming’, in Logic Programming: Relations, Functions and Equations, D. DeGroot and G. Lindstrom (eds.), Prentice-Hall (1986).

  21. You, J.-H. and Subrahmanyam, P. A., ‘Equational logic programming: an extension to equational programming’, in Proc. 13th POOL, pp. 209–218, St. Petersburg, Florida, January (1986).

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

You, JH., Subrahmanyam, P.A. A class of confluent term rewriting systems and unification. Journal of Automated Reasoning 2, 391–418 (1986). https://doi.org/10.1007/BF00248250

Download citation

  • Issue Date:

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

Key words

Navigation