3.4.2. Semantics of Feature Expressions

Due to Definition 5, a Ξ-structure U = (*U*, Φ<sup>U</sup> ) fixes for each feature symbol *F* ∈ Φ its semantics in U as a set [[ *F* ]]<sup>U</sup> ⊆ Base(*αF*, *U*) of all valid interpretations of *F* in *U*.

Relying on the inductive definition of first-order feature expressions, we can extend the semantics of feature symbols and define the semantics of a feature expression *X Ex* in a Ξ-structure U as a set [[ *Ex* ]]<sup>U</sup> *<sup>X</sup>* of all **valid interpretations (solutions)** of *X Ex* in U. This semantics is a restriction of the semantics of *X* relative to the carrier *U* as defined by Equation (1), i.e., [[ *Ex* ]]U *<sup>X</sup>* <sup>⊆</sup> [[ *<sup>X</sup>* ]]*<sup>U</sup>* <sup>=</sup> Base(*X*, *<sup>U</sup>*). For **interpretations** *<sup>ι</sup>* : *<sup>X</sup>* <sup>→</sup> *<sup>U</sup>*, we will use, instead of *ι* ∈ [[*Ex*]]<sup>U</sup> *<sup>X</sup>*, also the more traditional notation *ι* |=<sup>U</sup> *X Ex* .

Given a morphism *ϕ* : *X* → *Y* in Var, we say that an interpretation : *Y* → *U* is an **expansion** of an interpretation *ι* : *X* → *U* **via** *ϕ* if, and only if, *ϕ*; = *ι*.

**Definition 10** (Feature expressions: Semantics)**.** *The semantics of feature* Ξ*-expressions in an arbitrary, but fixed,* Ξ*-structure* U = (*U*, Φ<sup>U</sup> ) *is defined inductively:*

*1. Atomic expressions: ι* ∈ [[ *F*(*β*) ]]<sup>U</sup> *<sup>X</sup> iff β*; *ι* ∈ [[ *F* ]]<sup>U</sup>


*Universal quantification: ι* ∈ [[∀(*ϕ*,*Y* : *Ex*)]]<sup>U</sup> *<sup>X</sup> iff for all expansions of ι via ϕ we have* ∈ [[*Ex*]]<sup>U</sup> *Y .*

**Remark 11** (Feature expressions: Semantics)**.** *Every feature symbol F in* Φ *reappears as the* Ξ*-expression αF F*(*idαF*) *and Definition 10 ensures* [[ *F*(*idαF*) ]]<sup>U</sup> *<sup>α</sup><sup>F</sup>* = [[ *F* ]]<sup>U</sup> *.*

*The universal quantification X* ∀(*ϕ*,*Y* : *Ex*) *is trivially valid if there is no expansion of ι via ϕ at all, while the existential quantification X* ∃(*ϕ*,*Y* : *Ex*) *is not valid, in this case.*

*Two expressions X Ex*<sup>1</sup> *and X Ex*<sup>2</sup> *are semantical equivalent, X Ex*<sup>1</sup> ≡ *Ex*<sup>2</sup> *in symbols, if, and only if,* [[*Ex*2]]<sup>U</sup> *<sup>X</sup>* = [[*Ex*2]]<sup>U</sup> *<sup>X</sup> for all* Ξ*-structures* U *in* Sem(Ξ)*. Definition 10 ensures that we do have the usual semantic equivalences available. In particular, conjunction and disjunction are associative; thus we can drop, for convenience, the corresponding parenthesis as we have done already at some places in the examples.*

**Remark 12** (Closed expressions: Semantics)**.** *For a closed expression* **0** *Ex (see Remark 8),* [[ **<sup>0</sup>** ]]*<sup>U</sup>* <sup>=</sup> Base(**0**, *<sup>U</sup>*) *is a singleton with the initial morphism* !*<sup>U</sup>* : **<sup>0</sup>** <sup>→</sup> *<sup>U</sup> as the only element. In such a way, we have either* [[*Ex*]]U **<sup>0</sup>** = [[ ]]<sup>U</sup> **<sup>0</sup>** = {!*U*}*, i.e.,* !*<sup>U</sup>* |=<sup>U</sup> **0** *Ex, or* [[*Ex*]]<sup>U</sup> **<sup>0</sup>** = [[ ⊥ ]]<sup>U</sup> **<sup>0</sup>** = ∅*, i.e.,* !*<sup>U</sup>* <sup>U</sup> **0** *Ex.*
