Coalgebraic semantics for parallel derivation strategies in logic programming

Ekaterina Komendantskaya*, Guy McCusker, John Power

*Corresponding author for this work

Research output: Chapter in Book/Report/Conference proceedingConference contribution

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.

Original languageEnglish
Title of host publicationLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Pages111-127
Number of pages17
Volume6486 LNCS
DOIs
Publication statusPublished - 2011
Event13th International Conference on Algebraic Methodology and Software Technology, AMAST 2010 - Lac-Beauport, QC, Canada
Duration: 23 Jun 201025 Jun 2010

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume6486 LNCS
ISSN (Print)03029743
ISSN (Electronic)16113349

Conference

Conference13th International Conference on Algebraic Methodology and Software Technology, AMAST 2010
Country/TerritoryCanada
CityLac-Beauport, QC
Period23/06/1025/06/10

Keywords

  • Coalgebra
  • Coinduction
  • Logic programming
  • Parallel Logic programming
  • SLD-resolution

Fingerprint

Dive into the research topics of 'Coalgebraic semantics for parallel derivation strategies in logic programming'. Together they form a unique fingerprint.

Cite this