Knowledge Representation Languages and Predicate Calculus: How to Have Your Cake and Eat It Too

This paper attempts to resolve some of the controversy between advocates of predicate calculus and users of other knowledge representation languages by demonstrating that it is possible to have the key features of both in a hybrid system. An example is given of a recently implemented hybrid system in which a specialized planning language coexists with its translation into predicate calculus. In this system, various kinds of reasoning required for a program understanding task are implemented at either the predicate calculus level or the planning language level, depending on which is more natural.