Template programs for disjunctive logic programming: an operational semantics. (English) Zbl 1104.68009

Summary: Disjunctive logic programming is nowadays a mature formalism which has been successfully applied to a variety of practical problems, such as information integration, knowledge representation, planning, diagnosis, optimization and configuration. Although current DLP systems have been extended in many directions, they still miss features which may be helpful towards industrial applications, like the capability of quickly introducing new predefined constructs or of dealing with modules. Indeed, in spite of the fact that a wide literature about modular logic programming is known, code reusability has never been considered as a critical point in disjunctive logic programming. In this work we extend disjunctive logic programming, under stable model semantics, with the notion of “template” predicates. A template predicate may be instantiated to an ordinary predicate by means of template atoms, thus allowing to define reusable modules, to define new constructs and aggregates without any syntactic limitation.


68N17 Logic programming
68Q55 Semantics in the theory of computing