Programming by Combining General Logic Programs
The program composition approach can be fruitfully applied to combine
general logic programs, i.e. logic programs possibly containing
negative premises.
We show how the introduction of a basic set of (meta-level) composition
operations over general programs increases the knowledge representation
capabilities of logic programming for non-monotonic reasoning.
Examples of modular programming, hierarchical reasoning, constraints
and rules with exceptions will be illustrated.
The semantics of programs and program compositions is defined in terms
of three-valued logic. The computational interpretation of program
compositions is formalised by an equivalence preserving syntactic
transformation of arbitrary program compositions into standard general
programs.