Building on this conceptualization, a number of implementation issues will be described and possible implementation approaches illustrated. A couple of larger Prolog-based agent applications will be described, and rationales for the design and implementation decisions taken will be presented. The tutorial will be based on examples expressed in SICStus Prolog, one of the most widely used Prolog implementations. We present an overview of some techniques which have been proposed for the transformation of logic programs. We will also show through some examples the use and the power of the transformational approach and we will briefly illustrate its relationship to other methodologies for program development, such as program specialization and program synthesis.
Inheritance is a fundamental concept in everyday life as well as in sciences and engineering.
In artificial intelligence, systems have been developed out of practical need for efficient reasoning with taxonomic information. In objected-oriented systems, inheritance is considered rudimentary in developing and maintaining complex systems of objects where software reusability is a central issue. In knowledge representation and reasoning, inheritance has become a common language construct for specifying and, constraining to, preferred conclusions. Any system that attempts to model the real world will encounter exceptions to almost every generalization. This includes natural kinds with no clear-cut definition and situations with incomplete and changing information.