Coalgebraic logic programming: from semantics to implementation

Ekaterina Komendantskaya, John Power, Martin Schmidt

Research output: Contribution to journalArticlepeer-review

4 Citations (SciVal)
144 Downloads (Pure)


Corecursive definitions, such as that of a stream, may often be described by elegant logic programs, but ones for which SLD-refutation is of no value while infinite SLD-derivations are of considerable value. Such definitions give rise to questions of parallelism, and logic programs can have both recursive and corecursive features at once. Observational and coalgebraic semantics have been used to study them abstractly. The programming developments have often occurred separately and have usually been implementation-led. Here, we give a coherent semantics-led account of the issues, starting with abstract category theoretic semantics, developing coalgebra to characterise naturally arising trees, and proceeding towards implementation of a new dialect, CoALP, of logic programming, characterised by guarded recursion and parallelism.
Original languageEnglish
Pages (from-to)745 - 783
Number of pages39
JournalJournal of Logic and Computation
Issue number2
Early online date28 May 2014
Publication statusPublished - Apr 2016


  • logic programing
  • coalgebra
  • parallelism
  • coinduction
  • corecursion
  • observational semantics


Dive into the research topics of 'Coalgebraic logic programming: from semantics to implementation'. Together they form a unique fingerprint.

Cite this