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|