skip to main content
10.1145/174675.177889acmconferencesArticle/Chapter ViewAbstractPublication PagespoplConference Proceedingsconference-collections
Article
Free Access

Higher-order equational logic programming

Published:01 February 1994Publication History

ABSTRACT

Higher-order equational logic programming is a paradigm which combines first-order equational and higher-order logic programming, where higher-order logic programming is based on a subclass of simply typed λ-terms, called higher-order patterns. Central to the notion of higher-order equational logic programming is the so-called higher-order equational unification. This paper extends several important classes of first-order equational unification algorithms to the higher-order setting: only problems of the extensions are discussed and first-order equational unifications are viewed as black boxes whenever possible.

We first extend narrowing and show that the completeness of many higher-order narrowing strategies reduces to that of their underlying first-order counterparts. Then we propose an algorithm or higher-order equational unification of free higher-order patterns in an arbitrary equational theory. Finally a general approach to extend first-order unification combination algorithms is sketched informally. The termination property of the above higher-order extensions is considered in a uniform way.

References

  1. 1.F. Baader and J. Siekmann. Unification theory. In D. Gabbay, C. Hogger, and J. Robinson, editors, Handbook of Logic in Artificial Intelligence and Logic Programming. Oxford University Press, Oxford, UK, 1993. To appear.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. 2.A. Boudet. Combining unification algorithms. J. Symbolic Computation, 11, 1992.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 3.V. Breazu-Tannen. Combining algebra and higher-order types. In Proc. 3rd IEEE Syrup. Logic in Corr~pu~er Science, pages 82-90, 1988.]]Google ScholarGoogle ScholarCross RefCross Ref
  4. 4.V. Breazu-Tannen and 3. Gallier. Polymorphic rewriting conserves algebraic strong normalization and confluence. In Proc. 16th Int. Coll. Automata, Languages and Programming, pages 137-150. Springer-Verlag LNCS 372, 1988.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 5.V. Breazu-Tannen and A. Meyer. Computable values can be classical. In Proc. 14th A CM Symp. Principles of Programming Languages, pages 238-245. ACM, 1987.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 6.D. DeGroot and G. Lindstrom (eds.). Logic Programming: Relations, Functions and Equations. Prentice Hall, 1986.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. 7.N. Dershowitz and D. Plaisted. Logic programming cum applicative programming. In Proc. 1985 Syrup. on Logic Programming, pages 54- 67. IEEE Comput. Soc. Press, 1985.]]Google ScholarGoogle Scholar
  8. 8.D. Dougherty and P. Johann. A combinatory logic approach to higher-order E-unification. In Proc. llth Int. Conf. on Automated Deduction, pages 79-93. Springer-Verlag LNCS 607, 1992.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. 9.F. Fages. Associative-commutative unification. In R. Shostak, editor, Proc. 7th Int. Conf. Automated Deduction. Springer-Verlag LNCS 170, 1984.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. 10.L. Fribourg. SLOG: A logic programming language interpreter based on clausal superposition and rewriting. In Proc. 1985 Symp. on Logic Programming, pages 172-184. IEEE Comput. Soc. Press, 1985.]]Google ScholarGoogle Scholar
  11. 11.J. Gallier and W. Snyder. Complete sets of transformations for general E-unification. Theoretical Computer Science, 67:203-260, 1988.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. 12.E. Giovannetti, G. Levi, C. Moiso, and C. Palamidessi. Kernel-LEAF: A logic plus functional language. J. Computer and System Sciences, pages 139-185, 1991.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. 13.M. Hanus. Compiling logic programs with equality. In Proc. Int. Workshop on Language Implementation and Logic Programming, pages 387- 401. Springer-Verlag LNCS 456, 1990.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. 14.S. HSlldobler. Foundations of Equational Logic Programming. Springer-Verlag LNCS 353, 1989.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. 15.:I.-M. Hullot. Canonical forms and unification. In W. Bibel and R. Kowalski, editors, Proc. 5th Int. Conf. Automated Deduction, pages 318-334. Springer-Verlag LNCS 87, 1980.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. 16.H. Huf~mann. Unification in conditionalequational theories. In Proc. European Conf. on Computer Algebras, pages 543-553. Springer- Verlag LNCS 204, 1985.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. 17.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 ScholarGoogle Scholar
  18. 18.S. Kaplan. Simplifying conditional term rewriting systems" Unification, termination and confluence. J. Symbolic Computation, 4(3):295-334, 1987.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. 19.A. Middeldorp and E. Hamoen. Completeness results for basic narrowing. In Proc. 3rd Int. Conf. on Algebraic and Logic Programming, pages 244-258. Springer-Verlag LNCS 632, 1992. A long version to appear in the journal of Applicable Algebra in Engineering, Communication and Computing.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. 20.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 ScholarGoogle ScholarCross RefCross Ref
  21. 21.J. Moreno-Navarro and M. Rodrlguez-Artatejo. BABEL: A functional and logic programming language based on constructor discipline and narrowing. In Proc. 2th Int. Conf. on Algebraic and Logic Programming, pages 223-232. Springer-Verlag LNCS 343, 1989.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. 22.T. Nipkow. Higher-order critical pairs. In Proc. 6th IEEE Syrup. Logic in Computer Science, pages 342-349, 1991.]]Google ScholarGoogle ScholarCross RefCross Ref
  23. 23.T. Nipkow. Functional unification of higherorder patterns. In Proc. 8th IEEE Symp. Logic in Computer Science, pages 64-74, 1993.]]Google ScholarGoogle Scholar
  24. 24.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 ScholarGoogle ScholarDigital LibraryDigital Library
  25. 25.L. Paulson. isabelie: The next 700 theorem provers. In P. Odifreddi, editor, Logic and Computer Science, pages 361-385. Academic Press, 1990.]]Google ScholarGoogle Scholar
  26. 26.L. Paulson. Introduction to Isabelle. Technical report, University of Cambridge, Computer Laboratory, 1993.]]Google ScholarGoogle Scholar
  27. 27.F.'Pfenning. Logic programming in the LF logical framework. In G. Huet and G. D. Plotkin, editors, Logical Frameworks, pages 66-78. Cambridge University Press, 1991.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. 28.Z. Qian. Linear unification of higher-order patterns, in J.-P. j. M.-C. Gaudel, editor, Proc. TAPSOFT'93, pages 391-405. Springer-Verlag LNCS 668, 1993.]] Google ScholarGoogle Scholar
  29. 29.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 ScholarGoogle Scholar
  30. 30.Z. Qian and K. Wang. Modular equational unification of higher-order patterns" The AC case. Technical report, Draft, Universit~t Bremen, June 1993.]]Google ScholarGoogle Scholar
  31. 31.U. Reddy. Narrowing as the operational semantics of functional languages. In Proc. 1985 Symp. on Logic Programming, pages 138-151. IEEE Comput. Soc. Press, 1985.]]Google ScholarGoogle Scholar
  32. 32.P. R~ty, C. Kirchner, H. Kirchner, and P. Lescann~. NARROWER: A new algorithm and its application to logic programming. In Proc. 1st Int. Conf. Rewriting Techniques and Applications, pages 141-157. Springer-Verlag LNCS 256, 1985.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. 33.M. Schmidt-Schaui~. Unification in a combination of arbitrary disjoint equational theories. J. Symbolic Computation, 8:51-99, 1989.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. 34.W. Snyder. Higher-order E-unification. In Proc. lOth Int. Conf. Automated Deduction, pages 573-587. Springer-Verlag LNCS 449, 1990.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. 35.M. van Emden and K. Yukawa. Logic programming with equality, j. Logic Programming, pages 265-288, 1987.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. 36.F. Weber. Softwareentwicklung mit Logik hoeberet Stufe. PhD thesis, FZI, Universit~t Karlsruhe, 1993.]]Google ScholarGoogle Scholar
  37. 37.D. Wolfram. Rewriting, and equational unification: the higher-order cases. In R. Book, editor, Pvoc. ~th Int. Conf. Rewriting Techniques and Applications, pages 25-36. Springer-Verlag LNCS 488, 1991.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. 38.K. Yelick. Unification in combinations of collapse-free regular theories../. Symbolic Computation, 3:153-181, 1987.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. 39.:I.-H. You. Unification modulo an equality theory for equational logic programming. J. Computer and System Sciences, pages 54-75, 1991.]] Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Higher-order equational logic programming

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Conferences
          POPL '94: Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
          February 1994
          492 pages
          ISBN:0897916360
          DOI:10.1145/174675

          Copyright © 1994 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 1 February 1994

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • Article

          Acceptance Rates

          POPL '94 Paper Acceptance Rate39of173submissions,23%Overall Acceptance Rate824of4,130submissions,20%

          Upcoming Conference

          POPL '25

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader