next up previous contents
Next: Determining satisfiability Up: The constraint language: Previous: Feature graphs

Solutions of constraints

An interpretation $ \cal {I}$ of $ \cal {L}$ consists of a domain D$\scriptstyle \cal {I}$ which is the set of all feature graphs built from L, C and V, and a solution mapping . $\scriptstyle \cal {I}$ which will be defined below. An $ \cal {I}$-assignment is a mapping from the set of variables to D$\scriptstyle \cal {I}$. I write ASS$\scriptstyle \cal {I}$ for the set of all $ \cal {I}$-assignments. Variables and constants will denote feature graphs, relative to some assignment.

The denotation of a variable X w.r.t. assignment $ \alpha$ is simply $ \alpha$(X). The denotation of a constant c is the feature graph (c,$ \emptyset$) (for any assignment). The denotation of a descriptor sp is defined as Fp where F is the denotation of s; i.e. the denotation of sp is the subgraph at p of the graph denoted by s. Note that the denotation of some descriptors is undefined. Summarizing:

\begin{displaymath}
\begin{array}{l}
\mbox{\rm c}_{\alpha}^{\cal{I}} =_{def} (\m...
...sp)^{\cal{I}}_\alpha =_{def} (s^{\cal{I}}_\alpha)^p
\end{array}\end{displaymath}

As an example, consider the feature graph F2 in figure 2.2.

Figure 2.2: The feature graph F2
\begin{figure}
\begin{picture}
(200,130)(-80,-20)
\put(100,90){\circle*{3}}
\put...
...0,31){\vector(0,-1){0}}
\put(160,31){\vector(0,-1){0}}
\end{picture}\end{figure}

For an assignment that maps X to the feature graph F2, the denotation of the descriptor Xl1l3 is the subgraph rooted at X2. Similarly, the denotation of Xl2l4l2 is the feature graph (c3,$ \emptyset$). Note that the denotation of the descriptor c (i.e. c$ \epsilon$) is the feature graph (c,$ \emptyset$).

An interpretation $ \cal {I}$ satisfies an atomic constraint $ \phi$ = d1 $ \doteq$ d2, relative to an assignment $ \alpha$, written $ \cal {I}$ $ \models_{\alpha}^{}$ $ \phi$ if the denotation of descriptors d1, d2 are both defined and the same, i.e.:

\begin{displaymath}
{\cal{I}} \models_\alpha d_1 \doteq d_2\mbox{ iff }(d_1)^{\cal{I}}_\alpha = (d_2)^{\cal{I}}_\alpha
\end{displaymath}
Hence, $ \cal {I}$ satisfies the equation Xl1l3 $ \doteq$ Xl2l3 with respect to the assignment that maps X to the feature graph F2 defined above. As another example, $ \cal {I}$ also satisfies the equation Xl1l3l1 $ \doteq$ c2, with the same $ \alpha$.

The solutions of a constraint are all assignments that give satisfaction. Constraints are thus seen as restrictions on the values the variables in the constraints can take. The solutions of an atomic constraint $ \phi$ are defined as follows:

\begin{displaymath}
\phi^{\cal{I}} =_{def} \{ \alpha \in ASS^{\cal{I}} \vert \cal{I} \models_\alpha \phi \}
\end{displaymath}
The set of solutions of a constraint $ \phi_{1}^{}$,...,$ \phi_{n}^{}$ is defined as the intersection of the solutions of its atomic constraints:

($\displaystyle \phi_{1}^{}$,...$\displaystyle \phi_{n}^{}$)$\scriptstyle \cal {I}$ = def$\displaystyle \bigcap_{1 \leq i \leq n}^{}$$\displaystyle \phi_{i}^{\cal{I}}$

A constraint is satisfiable iff it has at least one solution. Two constraints are equivalent iff they have the same solutions. A constraint is valid iff its solutions are all possible assignments ASS$\scriptstyle \cal {I}$.


next up previous contents
Next: Determining satisfiability Up: The constraint language: Previous: Feature graphs
Noord G.J.M. van
1998-09-30