The purpose of the present section is to remedy the deficiencies of
the work described in E&G 1989b by furnishing `DATR` with a
transparent, mathematical semantics. It is easy to see
`DATR` as a language for representing a certain class of
non-monotonic inheritance networks (`semantic nets'). While this
perspective provides an intuitive and appealing way of thinking about
the structure and representation of lexical knowledge, it is less
clear that it provides an accurate or particularly helpful picture of
the `DATR` language itself. In fact, there are a number of constructs
available in `DATR` that are impossible to visualize in terms of
simple inheritance hierarchies. For this reason, the approach adopted
here reflects a rather different perspective on `DATR`, as a language
for defining certain kinds of partial functions by cases. In the
following pages, this viewpoint is made more precise.
Section 3.1.4, above, presented
the syntax of the `DATR` language and
introduces the notion of a `DATR` theory. The semantics of `DATR` is
now covered in two stages. Section 4.1 introduces
`DATR` interpretations and describes the semantics of a restricted
version of the language without defaults. The treatment of implicit
information is covered in Section 4.2, which provides a
definition of a default model for a `DATR` theory. And, in
Section 4.3, we make some concluding comments about
the semantics given here.