The number-bearing capability #
HasNumber equips a carrier with the grammatical number it bears;
HasNumber.Compatible is the induced agreement relation, slot compatibility
in the flat information order. Underspecification is the typologically normal
case ([Cor00]): an unmarked carrier (none) is a wildcard, not a
default singular.
@[instance_reducible]
A UD bundle bears the number its number tag ingests (Number.fromUD);
Inv/Coll/Count have no analytical value and leave it unmarked.
Equations
- instHasNumberMorphFeatures = { numberOf := fun (f : UD.MorphFeatures) => Option.bind f.number Number.fromUD }
@[instance_reducible]
Equations
- instHasNumberNumber = { numberOf := fun (x : Number) => ↑x }
theorem
UD.MorphFeatures.compatible_hasNumber
{f1 f2 : MorphFeatures}
(h : f1.compatible f2 = true)
:
HasNumber.Compatible f1 f2
φ-compatibility of UD bundles entails number compatibility.