© 1999 by Oxford University Press
| ||||||||||||||||||||||||||||||||||||||||||||||||||||
Programming by combining general logic programs
Dipartimeto di Informatica, Università di Pisa, Corso Italia 40, 56125 Pisa, Italy. E-mail: {brogi,contiero,turini}@di.unipi.it
The program composition approach can be fruitfully applied to combine general logic programs, that is, 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 by extending the three-valued semantics for logic programs proposed by Fitting. A computational interpretation of program compositions is formalized by means of an equivalence preserving syntactic transformation of arbitrary program compositions into standard general programs.
Key words: Logic programming, program composition, non-monotonic reasoning, three-valued logic