Word #
@cite{biberauer-roberts-2014} @cite{dryer-1992}
The lexical unit and its building blocks: morphological feature types (aliased
to Universal Dependencies), the Features bundle, and the Word structure.
Provenance #
Lifted from Core/Lexical/Word.lean in the cleanup that dissolved
Core/Lexical/. Every layer (Fragments, Phenomena, Theories, Features,
Typology) consumes Word; the broad consumer base is the strongest case
for keeping it in Core/.
Universal Dependencies Integration #
Morphological features are aliased to UD types:
Number=UD.Number(with compatibility constructorssg,pl)Person=UD.Person(with compatibility constructorsfirst,second,third)Case=UD.Case(with compatibility constructorsnom,acc,gen)Voice=UD.Voice(with compatibility constructorsactive,passive)VForm=UD.VerbForm(with compatibility constructors)
Syntactic categories use UD.UPOS directly (the 17 universal POS tags).
Types without UD equivalents remain defined here:
Valence(argument structure)HeadDirection(word-order typology)
Singular (compatibility alias for UD.Number.Sing)
Equations
Instances For
Plural (compatibility alias for UD.Number.Plur)
Equations
Instances For
Dual (compatibility alias for UD.Number.Dual). Used for lexical
items that morphologically restrict to two-atom domains
(e.g. English both/neither, Slovenian dual, Icelandic hvor).
Equations
Instances For
Active voice (compatibility alias)
Equations
Instances For
Passive voice (compatibility alias)
Equations
Instances For
Verb form. Aliased to UD.VerbForm.
Equations
Instances For
Finite (compatibility alias)
Equations
Instances For
Infinitive (compatibility alias)
Equations
Instances For
Past participle (compatibility alias - maps to Part)
Equations
Instances For
Present participle (compatibility alias - maps to Part)
Equations
Instances For
Past tense (compatibility alias)
Equations
Instances For
Present tense (compatibility alias)
Equations
Instances For
Future tense (compatibility alias)
Equations
Instances For
Morphosyntactic mass/count feature. No direct UD equivalent.
A formal feature parallel to grammatical gender — not an ontological distinction. Determines kind-anaphor morphology: [MASS] → it, [COUNT] → they. Evidence: pollen[MASS] → it vs pollen grains[COUNT] → they for the same referent (@cite{krifka-2026} §2).
Instances For
Equations
- instReprMassCount.repr MassCount.mass prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "MassCount.mass")).group prec✝
- instReprMassCount.repr MassCount.count prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "MassCount.count")).group prec✝
Instances For
Equations
- instReprMassCount = { reprPrec := instReprMassCount.repr }
Equations
- instDecidableEqMassCount x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- instHashableMassCount = { hash := instHashableMassCount.hash }
Equations
Instances For
Equations
- instReprValence.repr Valence.intransitive prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Valence.intransitive")).group prec✝
- instReprValence.repr Valence.transitive prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Valence.transitive")).group prec✝
- instReprValence.repr Valence.ditransitive prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Valence.ditransitive")).group prec✝
- instReprValence.repr Valence.dative prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Valence.dative")).group prec✝
- instReprValence.repr Valence.locative prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Valence.locative")).group prec✝
- instReprValence.repr Valence.copular prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Valence.copular")).group prec✝
- instReprValence.repr Valence.clausal prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Valence.clausal")).group prec✝
Instances For
Equations
- instReprValence = { reprPrec := instReprValence.repr }
Equations
- instDecidableEqValence x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
Instances For
Equations
- instInhabitedValence = { default := instInhabitedValence.default }
Head direction of a syntactic construction. Used for word-order typology and constraints like FOFC.
- headInitial : HeadDirection
- headFinal : HeadDirection
Instances For
Equations
- instReprHeadDirection.repr HeadDirection.headInitial prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "HeadDirection.headInitial")).group prec✝
- instReprHeadDirection.repr HeadDirection.headFinal prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "HeadDirection.headFinal")).group prec✝
Instances For
Equations
- instReprHeadDirection = { reprPrec := instReprHeadDirection.repr }
Equations
- instDecidableEqHeadDirection x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- instReprFeatures = { reprPrec := instReprFeatures.repr }
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- instReprWord = { reprPrec := instReprWord.repr }
Equations
- One or more equations did not get rendered due to their size.
Instances For
Derive a passive variant: sets voice to passive, valence to intransitive.
Used to compose with VerbEntry.toWordPastPart for passive constructions.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- instToStringWord = { toString := fun (w : Word) => w.form }
Convert a word list to a readable string.
Equations
- wordsToString ws = " ".intercalate (List.map (fun (x : Word) => x.form) ws)