Jock Mackinlay, Michael R. Genesereth
Specialized languages are often a good choice for expressing a set of facts. However, many specialized languages are limited in their expressive power. This paper presents methods for determining when a set of facts is expressible in a language. Some specialized languages have the property that when some collections of facts are stated explicitly, additional facts are stated implicitly. A set of facts should not be stated in such a language unless these implicit facts are correct. This paper presents an algorithm for identifying implicit facts so that they can be checked for correctness. Criteria are also presented for choosing between languages that are sufficiently expressible for a set of facts. This research is being used to build a system that automatically determines when a specialized language is appropriate. It is also relevant to system designers who wish to use specialized languages.