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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Ali, K., Karlsson, R.: Full prolog and scheduling or-parallelism in muse. Int. Journal Of Parallel Programming 19(6), 445–475 (1991)
Amato, G., Lipton, J., McGrail, R.: On the algebraic structure of declarative programming languages. Theor. Comput. Sci. 410(46), 4626–4671 (2009)
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)
Asperti, A., Martini, S.: Projections instead of variables: A category theoretic interpretation of logic programs. In: ICLP, pp. 337–352 (1989)
Bonchi, F., Montanari, U.: Reactive systems (semi-)saturated semantics and coalgebras on presheaves. Theor. Comput. Sci. 410(41), 4044–4066 (2009)
Bruni, R., Montanari, U., Rossi, F.: An interactive semantics of logic programming. TPLP 1(6), 647–690 (2001)
Comini, M., Levi, G., Meo, M.C.: A theory of observables for logic programs. Inf. Comput. 169(1), 23–80 (2001)
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)
Falaschi, M., Levi, G., Palamidessi, C., Martelli, M.: Declarative modeling of the operational behavior of logic languages. TCS 69(3), 289–318 (1989)
Gabrielli, M., Levi, G., Meo, M.: Observable behaviors and equivalnences of logic programs. Information and Computation 122(1), 1–29 (1995)
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)
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)
Hermenegildo, M.V., Greene, K.J.: &-prolog and its performance: Exploiting independent and-parallelism. In: ICLP, pp. 253–268 (1990)
Jaume, M.: On greatest fixpoint semantics of logic programming. J. Log. Comput. 12(2), 321–342 (2002)
Kanellakis, P.C.: Logic programming and parallel complexity. In: Foundations of Deductive Databases and Logic Programming, pp. 547–585. M. Kaufmann, San Francisco (1988)
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)
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)
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)
Lloyd, J.: Foundations of Logic Programming, 2nd edn. Springer, Heidelberg (1987)
Lusk, E.L., Warren, D.H.D., Haridi, S.: The aurora or-parallel prolog system. New Generation Computing 7(2,3), 243–273 (1990)
Miller, D., Nadathur, G.: Higher-order logic programming. In: Shapiro, E. (ed.) ICLP 1986. LNCS, vol. 225, pp. 448–462. Springer, Heidelberg (1986)
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)
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)
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)
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)
Sterling, L., Shapiro, E.: The art of Prolog. MIT Press, Cambridge (1986)
Ullman, J.D., Gelder, A.V.: Parallel complexity of logical query programs. Algorithmica 3, 5–42 (1988)
Worrell, J.: Toposes of coalgebras and hidden algebras. Electr. Notes Theor. Comput. Sci. 11 (1998)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)