A given value in a pair means that the feature must have a real value at the beginning of the unification. A unified fd will never contain a given since given will always be unified with a real value. given is useful to specify what features are necessary in an input. It is also much more efficient than any. It is often used in branches of an alt, to ``test'' for the presence of a feature.
The rule is: when you think of using any, you often want to use given and, conversely, when you use wait (for goal freezing) and something does not work, it is because you should use any instead of given.
Given addresses the most obvious limitation of the top-down regime used by FUF when traversing the constituent tree (and computing the cset expansion) in cases when the grammar contains the equivalent of left-recursive rules. Given is in a sense the dual of the any meta-variable of the original FUG formalism: while any requires a feature to be instantiated at the end of the unification process, given requires it to be instantiated before unification starts. Thus, given is used to check that a constraint has been specified in the input. A given feature can only appear in a grammar, thus, given gives a different status to the two arguments of the unification function.7
((cat NP)
(semr ((possessor GIVEN)))
(cset (det head))
(det ((cat NP)
(possessive yes)
(semr {^ ^ possessor})))
...)
|
To illustrate how given solves the problem of the left-recursive rules, consider how the possessive NP rule is implemented in FUF in this example. This FD implements the FUF equivalent of a rule:
NP -> NP(possessive) head
|
This is a left-recursive rule which, if used in a top-down control, could lead to infinite recursion of the form NP -> NP (NP (NP ..... (NP head...))) Note how the cset expansion in FUF is the equivalent of the rule application in rule-based grammatical formalisms.
To avoid using this rule when there is no possessor in the input (which is the step which leads to non-termination), the grammar contains a feature (possessor GIVEN), checking that the semantic representation of this constituent does indeed have a possessor specified in the input. If none is specified, then the rule will fail, and the sub-constituent possessive NP will not get created. Without the use of GIVEN, this FD would always be successfully unified, and the cset expansion would lead to non-termination. The use of the given meta-variable therefore ensures that the top-down regime of FUF is goal-directed.
NOTE: The under construct is related to the given value. It is
presented in Section
.