![]()
In contrast, the system of inference described here characterizes a relationship between DATR expressions (i.e., sequences of descriptors) and the values they may be used to compute. As an example, consider the following (simplified) rule of the operational semantics:

Both approaches to inference in DATR aim to provide a system of deduction that makes it possible to determine formally, for a given DATR theory T, what follows from the statements in T. The primary interest lies in deducing statements about the values associated with particular node/path pairs defined within the theory. Unfortunately, the proof rules described in E&G 1989a are not sufficiently general to support all of the required inferences, and it is not obvious that the approach can be extended appropriately to cover all of the available DATR constructs. A particular problem concerns DATR's notion of non-local or global inheritance. The value expressed by a global inheritance descriptor depends on more than just the properties of the nodes specified by the definitional sentences of a theory. In fact, it only makes sense to talk about the value of a global descriptor relative to a given context of evaluation, or global context. Because the proof rules of E&G 1989a just talk about DATR sentences, which do not make explicit reference to context, it is not possible to give a satisfactory account of the global inheritance mechanism. The problem is partially overcome in E&G 1989a by making use of a second kind of DATR sentence (the extensional sentence) which effectively provides an implicit reference to global context. However, this approach relies on the overly-restrictive assumption that there is at most one global inheritance descriptor on the right of each definitional sentence.
The evaluation semantics described in the following sections provides a perspicuous treatment of both local and global inheritance in DATR. The rules capture the essential details of the process of evaluating DATR expressions, and for this reason should prove of use to the language implementer.
