Computational efficiency is a central concern in the design of knowled
ge representation systems. In order to obtain efficient systems, it ha
s been suggested that one should limit the form of the statements in t
he knowledge base or use an incomplete inference mechanism. The former
approach is often too restrictive for practical applications, whereas
the latter leads to uncertainty about exactly what can and cannot be
inferred from the knowledge base. We present a third alternative, in w
hich knowledge given in a general representation language is translate
d (compiled) into a tractable form-allowing for efficient subsequent q
uery answering. We show how propositional logical theories can be comp
iled into Horn theories that approximate the original information. The
approximations bound the original theory from below and above in term
s of logical strength. The procedures are extended to other tractable
languages (for example, binary clauses) and to the first-order case. F
inally, we demonstrate the generality of our approach by compiling con
cept descriptions in a general frame-based language into a tractable f
orm.