Abstracting First-Order Theories

An abstraction is taken as a mapping from one theory, the concrete level theory, to another, the abstract level theory. The intent is that this abstraction provide a reduction in search, so that concrete level problems can be solved by first mapping the problems to the abstract level, performing search within the abstract space, and using the abstract solution to guide the concrete level search. Formalizing this mapping requires a precise specification of the relationship between the levels. This paper describes such a specification. The novelty of this approach is that a class of mappings on theories in first-order predicate languages is specified not only syntactically and proof-theoretically, but semantically as well, the semantics being a generalization of inheritance (ISA) hierarchies. In addition, the syntactic constraints guarantee that for each problem having an abstract solution, there exists an isomorphic concrete level solution.