HasNumber — the number-bearing capability #
The typeclass mixin for carriers that bear grammatical number — the number
axis of the capability tower over lexical carriers (cf. Proform/Bound/
Clusive in Syntax/Pronoun/Capabilities.lean). A consumer (agreement
checker, resolution, semantics) requires [HasNumber α] and works over any
representation: a UD feature bundle, a Word, a Pronoun, an agreement
paradigm cell.
The accessor is Option-valued because underspecification is the
typologically normal case ([Cor00]): a carrier with no number marking
is a wildcard for agreement, not a default singular.
Instances live with their carriers (mathlib-style): UD.MorphFeatures here
(its type is below this file); Word in Morphology/Word.lean; Pronoun/
PersonalPronoun in Syntax/Pronoun/Capabilities.lean; paradigm Cell in
Syntax/Agreement/Paradigm.lean.
Named HasNumber, not Numbered: the bare name is taken by the carrier
type itself, the situation where Lean retains the Has prefix
(HasEquiv, HasSubset, HasQuotient), and the scheme scales across the
φ-inventory (HasPerson, HasGender) where adjectival forms do not.
The Minimalist probe/goal inventory (Minimalist.PhiFeature.number) is the
other number-bearing route in the library; it carries UD.Number and
relates to this one by Number.fromUD.
A UD morphology bundle bears the number its number tag ingests
(Number.fromUD); tags with no analytical equivalent (Inv/Coll/
Count) leave the carrier unvalued.
Equations
- instHasNumberMorphFeatures = { numberOf := fun (f : UD.MorphFeatures) => f.number.bind Number.fromUD }
Number compatibility between two (possibly heterogeneous) carriers:
the slot values are compatible in the flat information order (Compat)
— valued numbers must coincide; an unvalued carrier is a wildcard.
The number axis of φ-agreement (UD.MorphFeatures.compatible).
Equations
- HasNumber.Compatible a b = Compat (HasNumber.numberOf a) (HasNumber.numberOf b)
Instances For
φ-compatibility entails number compatibility: the HasNumber mixin never
diverges from the unification-based agreement engine
(UD.MorphFeatures.compatible).