skip to main content
research-article

Extensional Higher-Order Logic Programming

Published:01 August 2013Publication History
Skip Abstract Section

Abstract

We propose a purely extensional semantics for higher-order logic programming. In this semantics program predicates denote sets of ordered tuples, and two predicates are equal iff they are equal as sets. Moreover, every program has a unique minimum Herbrand model which is the greatest lower bound of all Herbrand models of the program and the least fixed-point of an immediate consequence operator. We also propose an SLD-resolution proof system which is proven sound and complete with respect to the minimum Herbrand model semantics. In other words, we provide a purely extensional theoretical framework for higher-order logic programming which generalizes the familiar theory of classical (first-order) logic programming.

Skip Supplemental Material Section

Supplemental Material

References

  1. Abramsky, S. and Jung, A. 1994. Domain theory. In Handbook of Logic in Computer Science III, S. Abramsky, D. Gabbay, and T. Maibaum Eds., Clarendon Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Apt, K. R. 1990. Logic programming. In Handbook of Theoretical Computer Science (Vol. B), J. van Leeuwen Ed., MIT Press, Cambridge, MA, 493--574. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Barendregt, H. P. 1984. The Lambda Calculus: Its Syntax and Semantics. Studies in logic and the foundations of mathematics series, vol. 103, North-Holland.Google ScholarGoogle Scholar
  4. Benzmüller, C., Brown, C. E., and Kohlhase, M. 2004. Higher-order semantics and extensionality. J. Symb. Logic 69, 4, 1027--1088.Google ScholarGoogle ScholarCross RefCross Ref
  5. Bezem, M. 1999. Extensionality of simply typed logic programs. In Proceedings of the International Conference on Logic Programming. The MIT Press, 395--410. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Bezem, M. 2001. An improved extensionality criterion for higher-order logic programs. In Proceedings of the 15th International Workshop on Computer Science Logic. Springer, 203--216. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Birkhoff, G. 1967. Lattice Theory. American Mathematical Society.Google ScholarGoogle Scholar
  8. Chen, W., Kifer, M., and Warren, D. 1989. Hilog as a platform for database languages. IEEE Data Eng. Bull. 12, 3, 37--44. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Chen, W., Kifer, M., and Warren, D. S. 1993. Hilog: A foundation for higher-order logic programming. J. Logic Program. 15, 3, 187--230. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Clark, K. L. 1979. Predicate logic as a computational formalism. Res. rep. DOC 79/59. Department of Computing, Imperial College.Google ScholarGoogle Scholar
  11. Dowty, D., Wall, R., and Peters, S. 1981. Introduction to Montague Semantics. Studies in Linguistics and Philosophy, Kluwer Academic Publishers.Google ScholarGoogle Scholar
  12. Field, A. and Harrison, P. 1988. Functional Programming. International Computer Science Series, Addison-Wesley.Google ScholarGoogle Scholar
  13. Grätzer, G. 1978. General Lattice Theory. Academic Press.Google ScholarGoogle Scholar
  14. Hill, R. 1974. LUSH-resolution and its completeness. DCL memo 78, Department of Artificial Intelligence, University of Edinburgh.Google ScholarGoogle Scholar
  15. Kleene, S. 1959. Countable functionals. In Constructivity in Mathematics, A. Heyting Ed., North Holland, 81--100.Google ScholarGoogle Scholar
  16. Kountouriotis, V., Rondogiannis, P., and Wadge, W. W. 2005. Extensional higher-order datalog. In Proceedings of the 12th International Conference on Logic for Programming, Artificial Intelligence and Reasoning (Short Paper). 1--5.Google ScholarGoogle Scholar
  17. Kreisel, G. 1959. Interpretation of analysis by means of functionals of finite type. In Constructivity in Mathematics, A. Heyting Ed., North Holland, 101--128.Google ScholarGoogle Scholar
  18. Lloyd, J. W. 1987. Foundations of Logic Programming. Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Miller, D. and Nadathur, G. 1986. Higher-order logic programming. In Proceedings of the 3rd International Conference on Logic Programming. 448--462. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Nadathur, G. 1987. A higher-order logic as the basis for logic programming. Ph.D. thesis, University of Pennsylvania. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Nadathur, G. and Miller, D. 1990. Higher-order horn clauses. J. ACM 37, 4, 777--814. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Nadathur, G. and Miller, D. 1998. Higher-order logic programming. In Handbook of Logics for Artificial Intelligence and Logic Programming, Vol. 5, Claredon Press, 499--590.Google ScholarGoogle Scholar
  23. Normann, D. 2006. Computing with functionals - computability theory or computer science. Bull. Symb. Logic 12, 1, 43--59.Google ScholarGoogle ScholarCross RefCross Ref
  24. Rondogiannis, P. and Wadge, W. W. 2005. Minimum model semantics for logic programs with negation-as-failure. ACM Trans. Comput. Logic 6, 2, 441--467. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Stoy, J. E. 1977. Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory. MIT Press, Cambridge, MA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Tennent, R. D. 1991. Semantics of Programming Languages. Prentice-Hall.Google ScholarGoogle Scholar
  27. Wadge, W. W. 1991. Higher-order horn logic programming. In Proceedings of the International Symposium on Logic Programming. 289--303.Google ScholarGoogle Scholar
  28. Warren, D. H. 1982. Higher-order extensions to prolog: Are they needed? Machine Intell. 10, 441--454.Google ScholarGoogle Scholar

Index Terms

  1. Extensional Higher-Order 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

          Full Access

          • Published in

            cover image ACM Transactions on Computational Logic
            ACM Transactions on Computational Logic  Volume 14, Issue 3
            August 2013
            258 pages
            ISSN:1529-3785
            EISSN:1557-945X
            DOI:10.1145/2499937
            Issue’s Table of Contents

            Copyright © 2013 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 August 2013
            • Accepted: 1 October 2012
            • Revised: 1 July 2012
            • Received: 1 June 2011
            Published in tocl Volume 14, Issue 3

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • research-article
            • Research
            • Refereed

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader