next up previous
Next: User Defined Concepts Up: An Architecture for Previous: Specification of Primitives

Domain Specification

Logical queries put to the DP will often contain quantification. That is we shall often be concerned with whether there exists some entity satisfying a certain property, or perhaps whether all enties of a particular kind satisfy some property. In order for such queries to be evaluated, the DP must know what is the domain of entities under consideration.

In some cases, specifying this domain may be easy because it consists simply of a finite number of entities each corresponding to some data object. We could specify such a domain by a declaration such as:

Here, ` phys_objects' is the name of a decision procedure; ` solid' is a sort --- one of a small number of basic kinds of object covered by a theory; and ` solid_objects' is some means of specifying a set of data objects. In an object-oriented language this could be a class name; it could also be an array of pointers, some kind of list or even an algorithm which generates a sequence of object references.

However, the objects in a database may not always encompass the whole domain of entities which a DP reasons about. For many theories it will be possible to infer the existence of additional entities which are not explicitly represented as data objects. For example, if two spatial regions overlap then there must be a third region which is the intersection of the overlapping regions --- even if this overlap has no explicit representation in the database we may still want to infer that it exists. The existence of such regions can be ensured by means of existential axioms included in a theory.

For this kind of theory we need a slightly different kind of declaration which tells the DP that certain objects are included in the domain but does not limit the domain to these objects:



next up previous
Next: User Defined Concepts Up: An Architecture for Previous: Specification of Primitives



A G Cohn
Wed Nov 1 13:20:53 GMT 1995