Deduction in Concept Languages: from Subsumption to Instance Checking

Abstract
It is a common opinion that subsumption is the central reasoning task in frame-based knowledge representation languages (or concept languages). Intuitively, a concept C subsumes another concept D if the set of objects represented by C is a superset of the one represented by D. When individual objects are taken into account, the basic deductive task for retrieving information from a knowledge base is instance checking, that amounts to checking whether the knowledge base implies that an individual is an instance of a given concept. In this paper, we address the question of whether instance checking can be solved by means of subsumption algorithms. We do so by considering several languages where subsumption belongs to different complexity classes. For such languages we present methods for the instance checking problem, provide a complexity analysis of this problem, and compare it with the subsumption problem. The main result of the paper is that instance checking is not always easily reducible to subsumption. In particular, there are cases where it is strictly harder than subsumption. This impacts on the design of reasoning algorithms for knowledge representation systems based on concept languages.