represents courses which enroll students and are taught either by graduate students or professors. Cardinality restrictions are used to impose a minimum and maximum number of students that may be enrolled in a course, and to express that each course is taught by exactly one individual. The frame AdvCourse represents courses which enroll only graduate students, i.e., students who already have a degree. Basic courses, on the other hand, may be taught only by professors.

n

## 3.2  Semantics Of Frame Based Systems

To give semantics to a set of frame definitions we resort to their interpretation in terms of first-order predicate calculus (Hayes, 1979). According to such interpretation, frame names are treated as unary predicates, while slots are considered binary predicates.

A frame expression E is interpreted as a predicate logic formula E ( x ), which has one free variable, and consists of the conjunction of sentences, obtained from the super-class specification and from each slot specification. In particular, for the super-classes F 1 , . . , F h we have:
F 1 ( x ) ∧ . . . ∧ F n ( x )
and for a slot specification

$F_{1}(x)$$\Lambda$$\cdot$$\cdot$$\Lambda$$F_{h}(x)$  Me mberSlot : $S$  ValueClass : $H$  Cardinality.Min : $m$  Cardinality.Max : $n$
$$\mathbf{M}$$
we have

$$\begin{array}{r}{S\left[\,x\,,y\,\right]\,\longrightarrow}\\ {=\,f\left(\,t\,\right)}\end{array}$$

∀y (S(x,y) → H(y)) ∧

== ∀ Y 1 , · · · Y n +1 · ((S(x, Y 1 ) ∧ · · · ∧ S(x, Y n +1 )) → V i ≠ i Y i = Y j ),

under the assumption that within one frame definition the occurrences of x refer to the same free variable. Finally the constraints on the slots are interpreted as conjunction, disjunction and negation, respectively, i.e.:

$$\begin{array}{l}{{\mathrm{(INTERSECTION~}H_{1}~H_{2}\,\mathrm{)}}}\\ {{\mathrm{(UNION~}H_{1}~H_{2}\,\mathrm{)}}}\\ {{\mathrm{(NOT~}H\mathrm{)}}}\end{array}$$
$$\begin{array}{r l}{{\mathrm{is~interpreted~as}}}&{{}\quad H_{1}(x)\wedge H_{2}(x)}\\ {{\mathrm{is~interpreted~as}}}&{{}\quad H_{1}(x)\lor H_{2}(x)}\\ {{\mathrm{is~interpreted~as}}}&{{}\quad\neg H(x)}\end{array}$$

A frame definition

$$\mathbf{Frame}:\ F\ \mathbf{in}\ \mathbf{KB}\ {\mathcal{F}}\ \ \ E$$

is then considered as the universally quantified sentence of the form
∀ x (F(x) → E(x)).

The whole frame knowledge base F is considered as the conjunction of all first-order sentences corresponding to the frame definitions in F .

Here we regard frame definitions as necessary conditions, which is commonplace in the frame systems known as assertional frame systems, as opposed to definitional systems, where frame definitions are interpreted as necessary and sufficient conditions.