Chuj Root Classes #
Root lexicon for Chuj (Q'anjob'alan, Mayan): the four Mayanist root classes and the root inventory of [Coo19] "Building verbs in Chuj: Consequences for the nature of roots."
Main declarations #
Chuj.RootClass: the four morphosyntactic root classes (√TV, √ITV, √POS, √NOM), identified by surface distribution.Chuj.ChujRoot: a root entry — form, gloss, and class label.Chuj.allRootsand the per-class liststvRoots,itvRoots,posRoots,nomRoots, derived by filtering on the class label.
Implementation notes #
The entry carries only the distributional class label; the theoretical
coordinates ([Coo19]'s Classification values — semantic type,
valency, transitive-Voice licensing) are a derived projection
RootClass.toClassification in Studies/Coon2019.lean, following the
derived-projection pattern of Studies/HaninkKoontzGarboden2025.lean.
The four morphosyntactic root classes in Chuj, identified by surface distribution (which suffixes they combine with, whether they form bare transitive stems). Labels follow [Coo19].
- tv : RootClass
Transitive roots: form bare transitive stems.
- itv : RootClass
Intransitive roots: take null v in intransitive stems.
- pos : RootClass
Positional roots: require -w for verbalization.
- nom : RootClass
Nominal roots: require -w for verbalization.
Instances For
Equations
- Chuj.instDecidableEqRootClass x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Chuj.instReprRootClass.repr Chuj.RootClass.tv prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Chuj.RootClass.tv")).group prec✝
- Chuj.instReprRootClass.repr Chuj.RootClass.itv prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Chuj.RootClass.itv")).group prec✝
- Chuj.instReprRootClass.repr Chuj.RootClass.pos prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Chuj.RootClass.pos")).group prec✝
- Chuj.instReprRootClass.repr Chuj.RootClass.nom prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Chuj.RootClass.nom")).group prec✝
Instances For
Equations
- Chuj.instReprRootClass = { reprPrec := Chuj.instReprRootClass.repr }
Equations
- Chuj.instReprChujRoot = { reprPrec := Chuj.instReprChujRoot.repr }
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Chuj.instBEqChujRoot.beq { form := a, gloss := a_1, class' := a_2 } { form := b, gloss := b_1, class' := b_2 } = (a == b && (a_1 == b_1 && a_2 == b_2))
- Chuj.instBEqChujRoot.beq x✝¹ x✝ = false
Instances For
Equations
- Chuj.instBEqChujRoot = { beq := Chuj.instBEqChujRoot.beq }
Equations
- One or more equations did not get rendered due to their size.
Instances For
√TV roots (Table (5), p. 39) #
Equations
- Chuj.chonh = { form := "chonh", gloss := "sell", class' := Chuj.RootClass.tv }
Instances For
√TV roots from examples (not in Table (5)) #
Equations
- Chuj.ch'ak = { form := "ch'ak", gloss := "fell", class' := Chuj.RootClass.tv }
Instances For
√ITV roots (Table (5), p. 39) #
√POS roots (Table (5), p. 39; Table (20), p. 47) #
Equations
- Chuj.chek' = { form := "chek'", gloss := "leaning", class' := Chuj.RootClass.pos }
Instances For
Equations
- Chuj.lich' = { form := "lich'", gloss := "extended", class' := Chuj.RootClass.pos }
Instances For
√NOM roots (Table (5), p. 39; Table (17), p. 46) #
Equations
- Chuj.k'atzitz = { form := "k'atzitz", gloss := "wood", class' := Chuj.RootClass.nom }
Instances For
Equations
- Chuj.winak = { form := "winak", gloss := "man", class' := Chuj.RootClass.nom }
Instances For
Equations
- Chuj.chanhal = { form := "chanhal", gloss := "dance", class' := Chuj.RootClass.nom }
Instances For
Equations
- Chuj.at'is = { form := "at'is", gloss := "sneeze", class' := Chuj.RootClass.nom }
Instances For
Equations
- Chuj.tz'ib' = { form := "tz'ib'", gloss := "writing", class' := Chuj.RootClass.nom }
Instances For
Root lists #
The full root inventory.
Equations
- One or more equations did not get rendered due to their size.
Instances For
All √TV roots.
Equations
- Chuj.tvRoots = List.filter (fun (x : Chuj.ChujRoot) => x.class' == Chuj.RootClass.tv) Chuj.allRoots
Instances For
All √ITV roots.
Equations
- Chuj.itvRoots = List.filter (fun (x : Chuj.ChujRoot) => x.class' == Chuj.RootClass.itv) Chuj.allRoots
Instances For
All √POS roots.
Equations
- Chuj.posRoots = List.filter (fun (x : Chuj.ChujRoot) => x.class' == Chuj.RootClass.pos) Chuj.allRoots
Instances For
All √NOM roots.
Equations
- Chuj.nomRoots = List.filter (fun (x : Chuj.ChujRoot) => x.class' == Chuj.RootClass.nom) Chuj.allRoots