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.
|Title of host publication||Algebraic Methodology and Software Technology|
|Editors||Michael Johnson, Dusko Pavlovic|
|Number of pages||17|
|Publication status||Published - 2011|
|Name||Lecture Notes in Computer Science|
Komendantskaya, E., McCusker, G., & Power, J. (2011). Coalgebraic semantics for parallel derivation strategies in logic programming. In M. Johnson, & D. Pavlovic (Eds.), Algebraic Methodology and Software Technology (Vol. 6486, pp. 111-127). (Lecture Notes in Computer Science). Springer. https://doi.org/10.1007/978-3-642-17796-5_7