Evolving logic programs

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

83 Citations (Scopus)


Logic programming has often been considered less than adequate for modelling the dynamics of knowledge changing over time. In this paper we describe a simple though quite powerful approach to modelling the updates of knowledge bases expressed by generalized logic programs, by means of a new language, hereby christened EVOLP (after EVOlving Logic Programs). The approach was first sparked by a critical analysis of previous efforts and results in this direction [1],[2],[7],[11], and aims to provide a simpler, and at once more general, formulation of logic program updating, which runs closer to traditional logic programming (LP) doctrine. From the syntactical point of view, evolving programs are just generalized logic programs (i.e. normal LPs plus default negation also in rule heads), extended with (possibly nested) assertions, whether in heads or bodies of rules. From the semantics viewpoint, a model-theoretic characterization is offered of the possible evolutions of such programs. These evolutions arise both from self (or internal) updating, and from external updating too, originating in the environment. This formulation sets evolving programs on a firm basis in which to express, implement, and reason about dynamic knowledge bases, and opens up a number of interesting research topics that we brush on.
Original languageEnglish
Title of host publicationLecture Notes in Computer Science
Number of pages13
Volume2424 LNAI
Publication statusPublished - 1 Jan 2002
EventEuropean Conference on Logics in Artificial Intelligence (JELIA) -
Duration: 1 Jan 2002 → …


ConferenceEuropean Conference on Logics in Artificial Intelligence (JELIA)
Period1/01/02 → …


  • Model-theoretic
  • Research topics
  • Critical analysis
  • Generalized logic program
  • Knowledge basis
  • Logic programs


Dive into the research topics of 'Evolving logic programs'. Together they form a unique fingerprint.

Cite this