Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to main content

Coalgebraic Semantics for Parallel Derivation Strategies in Logic Programming

  • Conference paper
Algebraic Methodology and Software Technology (AMAST 2010)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 6486))

Abstract

Logic programming, a class of programming languages based on first-order logic, provides simple and efficient tools for goal-oriented proof-search. Logic programming supports recursive computations, and some logic programs resemble the inductive or coinductive definitions written in functional programming languages. In this paper, we give a coalgebraic semantics to logic programming. We show that ground logic programs can be modelled by either P f P f -coalgebras or P f List-coalgebras on Set. We analyse different kinds of derivation strategies and derivation trees (proof-trees, SLD-trees, and-or parallel trees) used in logic programming, and show how they can be modelled coalgebraically.

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

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. Ali, K., Karlsson, R.: Full prolog and scheduling or-parallelism in muse. Int. Journal Of Parallel Programming 19(6), 445–475 (1991)

    Article  Google Scholar 

  2. Amato, G., Lipton, J., McGrail, R.: On the algebraic structure of declarative programming languages. Theor. Comput. Sci. 410(46), 4626–4671 (2009)

    Article  MathSciNet  MATH  Google Scholar 

  3. Ancona, D., Lagorio, G., Zucca, E.: Type inference by coinductive logic programming. In: Berardi, S., Damiani, F., de’Liguoro, U. (eds.) TYPES 2008. LNCS, vol. 5497, pp. 1–18. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  4. Asperti, A., Martini, S.: Projections instead of variables: A category theoretic interpretation of logic programs. In: ICLP, pp. 337–352 (1989)

    Google Scholar 

  5. Bonchi, F., Montanari, U.: Reactive systems (semi-)saturated semantics and coalgebras on presheaves. Theor. Comput. Sci. 410(41), 4044–4066 (2009)

    Article  MathSciNet  MATH  Google Scholar 

  6. Bruni, R., Montanari, U., Rossi, F.: An interactive semantics of logic programming. TPLP 1(6), 647–690 (2001)

    MathSciNet  MATH  Google Scholar 

  7. Comini, M., Levi, G., Meo, M.C.: A theory of observables for logic programs. Inf. Comput. 169(1), 23–80 (2001)

    Article  MathSciNet  MATH  Google Scholar 

  8. Costa, V.S., Warren, D.H.D., Yang, R.: Andorra-I: A parallel prolog system that transparently exploits both and- and or-parallelism. In: PPOPP, pp. 83–93 (1991)

    Google Scholar 

  9. Falaschi, M., Levi, G., Palamidessi, C., Martelli, M.: Declarative modeling of the operational behavior of logic languages. TCS 69(3), 289–318 (1989)

    Article  MathSciNet  MATH  Google Scholar 

  10. Gabrielli, M., Levi, G., Meo, M.: Observable behaviors and equivalnences of logic programs. Information and Computation 122(1), 1–29 (1995)

    Article  MathSciNet  MATH  Google Scholar 

  11. Gupta, G., Bansal, A., Min, R., Simon, L., Mallya, A.: Coinductive logic programming and its applications. In: Dahl, V., Niemelä, I. (eds.) ICLP 2007. LNCS, vol. 4670, pp. 27–44. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  12. Gupta, G., Costa, V.S.: Optimal implementation of and-or parallel prolog. In: Proceedings of Parallel Architectures and Languages Europe, PARLE 1992, pp. 71–92. Elsevier North-Holland, Inc., New York (1992)

    Google Scholar 

  13. Hermenegildo, M.V., Greene, K.J.: &-prolog and its performance: Exploiting independent and-parallelism. In: ICLP, pp. 253–268 (1990)

    Google Scholar 

  14. Jaume, M.: On greatest fixpoint semantics of logic programming. J. Log. Comput. 12(2), 321–342 (2002)

    Article  MathSciNet  MATH  Google Scholar 

  15. Kanellakis, P.C.: Logic programming and parallel complexity. In: Foundations of Deductive Databases and Logic Programming, pp. 547–585. M. Kaufmann, San Francisco (1988)

    Chapter  Google Scholar 

  16. Kelly, G.M.: A unified treatment of transfinite constructions for free algebras, free monoids, colimits, associated sheaves, and so on. Bull. Austral. Math. Soc. 22, 1–83 (1980)

    Article  MathSciNet  MATH  Google Scholar 

  17. Kinoshita, Y., Power, A.J.: A fibrational semantics for logic programs. In: Herre, H., Dyckhoff, R., Schroeder-Heister, P. (eds.) ELP 1996. LNCS (LNAI), vol. 1050, Springer, Heidelberg (1996)

    Chapter  Google Scholar 

  18. Komendantskaya, E., Power, J.: Fibrational semantics for many-valued logic programs: Grounds for non-groundness. In: Hölldobler, S., Lutz, C., Wansing, H. (eds.) JELIA 2008. LNCS (LNAI), vol. 5293, pp. 258–271. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  19. Lloyd, J.: Foundations of Logic Programming, 2nd edn. Springer, Heidelberg (1987)

    Book  MATH  Google Scholar 

  20. Lusk, E.L., Warren, D.H.D., Haridi, S.: The aurora or-parallel prolog system. New Generation Computing 7(2,3), 243–273 (1990)

    Article  Google Scholar 

  21. Miller, D., Nadathur, G.: Higher-order logic programming. In: Shapiro, E. (ed.) ICLP 1986. LNCS, vol. 225, pp. 448–462. Springer, Heidelberg (1986)

    Chapter  Google Scholar 

  22. Paulson, L.C., Smith, A.W.: Logic programming, functional programming, and inductive definitions. In: Schroeder-Heister, P. (ed.) ELP 1989. LNCS, vol. 475, pp. 283–309. Springer, Heidelberg (1991)

    Chapter  Google Scholar 

  23. Pontelli, E., Gupta, G.: On the duality between or-parallelism and and-parallelism in logic programming. In: Haridi, S., Ali, K., Magnusson, P. (eds.) Euro-Par 1995. LNCS, vol. 966, pp. 43–54. Springer, Heidelberg (1995)

    Chapter  Google Scholar 

  24. Simon, L., Bansal, A., Mallya, A., Gupta, G.: Co-logic programming: Extending logic programming with coinduction. In: Arge, L., Cachin, C., Jurdziński, T., Tarlecki, A. (eds.) ICALP 2007. LNCS, vol. 4596, pp. 472–483. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  25. Staton, S.: Relating coalgebraic notions of bisimulation. In: Kurz, A., Lenisa, M., Tarlecki, A. (eds.) CALCO 2009. LNCS, vol. 5728, pp. 191–205. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  26. Sterling, L., Shapiro, E.: The art of Prolog. MIT Press, Cambridge (1986)

    MATH  Google Scholar 

  27. Ullman, J.D., Gelder, A.V.: Parallel complexity of logical query programs. Algorithmica 3, 5–42 (1988)

    Article  MathSciNet  MATH  Google Scholar 

  28. Worrell, J.: Toposes of coalgebras and hidden algebras. Electr. Notes Theor. Comput. Sci. 11 (1998)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Komendantskaya, E., McCusker, G., Power, J. (2011). Coalgebraic Semantics for Parallel Derivation Strategies in Logic Programming. In: Johnson, M., Pavlovic, D. (eds) Algebraic Methodology and Software Technology. AMAST 2010. Lecture Notes in Computer Science, vol 6486. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-17796-5_7

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-17796-5_7

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-17795-8

  • Online ISBN: 978-3-642-17796-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics