Xhosa: Basic Types #
The Xhosa noun class system with five singular/plural pairings (genders A–E) and semantic core associations following [Car26].
Xhosa has ten active noun classes (1–10) plus class 15 (infinitives/gerunds), organized into five genders. Three genders have interpretable semantic cores: A (1/2) = [human], D (7/8) = [inanimate], E (9/10) = [animal]. Two genders (B = 3/4, C = 5/6) are uninterpretable — their members are semantically arbitrary.
Agreement with conjoined singulars #
The interpretability split directly predicts agreement patterns with uniform conjoined singulars ([Car26] §3, Tables 13–14):
- [1&1], [7&7], [9&9]: gender-matching plural agreement available
- [3&3], [5&5]: gender-matching plural agreement unavailable; default only
Default agreement: class 2 ba- for [human], class 8 zi- for non-human.
Equations
- Xhosa.instDecidableEqNounClass x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Xhosa.instReprNounClass = { reprPrec := Xhosa.instReprNounClass.repr }
Equations
- Xhosa.instReprNounClass.repr Xhosa.NounClass.cl1 prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Xhosa.NounClass.cl1")).group prec✝
- Xhosa.instReprNounClass.repr Xhosa.NounClass.cl2 prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Xhosa.NounClass.cl2")).group prec✝
- Xhosa.instReprNounClass.repr Xhosa.NounClass.cl3 prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Xhosa.NounClass.cl3")).group prec✝
- Xhosa.instReprNounClass.repr Xhosa.NounClass.cl4 prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Xhosa.NounClass.cl4")).group prec✝
- Xhosa.instReprNounClass.repr Xhosa.NounClass.cl5 prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Xhosa.NounClass.cl5")).group prec✝
- Xhosa.instReprNounClass.repr Xhosa.NounClass.cl6 prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Xhosa.NounClass.cl6")).group prec✝
- Xhosa.instReprNounClass.repr Xhosa.NounClass.cl7 prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Xhosa.NounClass.cl7")).group prec✝
- Xhosa.instReprNounClass.repr Xhosa.NounClass.cl8 prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Xhosa.NounClass.cl8")).group prec✝
- Xhosa.instReprNounClass.repr Xhosa.NounClass.cl9 prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Xhosa.NounClass.cl9")).group prec✝
- Xhosa.instReprNounClass.repr Xhosa.NounClass.cl10 prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Xhosa.NounClass.cl10")).group prec✝
- Xhosa.instReprNounClass.repr Xhosa.NounClass.cl15 prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Xhosa.NounClass.cl15")).group prec✝
Instances For
Equations
- Xhosa.NounClass.cl1.classNumber = 1
- Xhosa.NounClass.cl2.classNumber = 2
- Xhosa.NounClass.cl3.classNumber = 3
- Xhosa.NounClass.cl4.classNumber = 4
- Xhosa.NounClass.cl5.classNumber = 5
- Xhosa.NounClass.cl6.classNumber = 6
- Xhosa.NounClass.cl7.classNumber = 7
- Xhosa.NounClass.cl8.classNumber = 8
- Xhosa.NounClass.cl9.classNumber = 9
- Xhosa.NounClass.cl10.classNumber = 10
- Xhosa.NounClass.cl15.classNumber = 15
Instances For
Equations
- Xhosa.NounClass.cl1.isSingular = true
- Xhosa.NounClass.cl3.isSingular = true
- Xhosa.NounClass.cl5.isSingular = true
- Xhosa.NounClass.cl7.isSingular = true
- Xhosa.NounClass.cl9.isSingular = true
- Xhosa.NounClass.cl15.isSingular = true
- x✝.isSingular = false
Instances For
Subject marker prefix for each class on the verb. From [Car26] and [TTML18].
Equations
- Xhosa.NounClass.cl1.subjPrefix = "u"
- Xhosa.NounClass.cl2.subjPrefix = "ba"
- Xhosa.NounClass.cl3.subjPrefix = "u"
- Xhosa.NounClass.cl4.subjPrefix = "i"
- Xhosa.NounClass.cl5.subjPrefix = "li"
- Xhosa.NounClass.cl6.subjPrefix = "a"
- Xhosa.NounClass.cl7.subjPrefix = "si"
- Xhosa.NounClass.cl8.subjPrefix = "zi"
- Xhosa.NounClass.cl9.subjPrefix = "i"
- Xhosa.NounClass.cl10.subjPrefix = "zi"
- Xhosa.NounClass.cl15.subjPrefix = "ku"
Instances For
Equations
- Xhosa.instDecidableEqGender x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Xhosa.instReprGender = { reprPrec := Xhosa.instReprGender.repr }
Equations
- Xhosa.instReprGender.repr Xhosa.Gender.genderA prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Xhosa.Gender.genderA")).group prec✝
- Xhosa.instReprGender.repr Xhosa.Gender.genderB prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Xhosa.Gender.genderB")).group prec✝
- Xhosa.instReprGender.repr Xhosa.Gender.genderC prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Xhosa.Gender.genderC")).group prec✝
- Xhosa.instReprGender.repr Xhosa.Gender.genderD prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Xhosa.Gender.genderD")).group prec✝
- Xhosa.instReprGender.repr Xhosa.Gender.genderE prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Xhosa.Gender.genderE")).group prec✝
Instances For
Equations
Instances For
Equations
Instances For
Semantic core status for each Xhosa gender.
[Car26] (71):
- Gender A (1/2): nₐ₁ = i[entity] i[human], nₐ₂ = i[entity] (arbitrary)
- Gender B (3/4): nB = uninterpretable for all members
- Gender C (5/6): nC = uninterpretable for all members
- Gender D (7/8): nD₁ = i[entity] i[inanimate], nD₂ = i[entity] (arbitrary)
- Gender E (9/10): nE₁ = i[entity] i[animal], nE₂ = i[entity] (arbitrary)
Equations
- Xhosa.Gender.genderA.status = Bantu.GenderStatus.interpretable Bantu.SemanticCore.human
- Xhosa.Gender.genderB.status = Bantu.GenderStatus.uninterpretable
- Xhosa.Gender.genderC.status = Bantu.GenderStatus.uninterpretable
- Xhosa.Gender.genderD.status = Bantu.GenderStatus.interpretable Bantu.SemanticCore.inanimate
- Xhosa.Gender.genderE.status = Bantu.GenderStatus.interpretable Bantu.SemanticCore.animal
Instances For
Sample nP structure for a [human] noun in its canonical class 1/2. E.g. umntwana 'child': [n₁/₂ √MNTWANA] — single layer.
Equations
- Xhosa.humanCanonical = { visibleClass := 1, coreClass := 1, status := Bantu.GenderStatus.interpretable Bantu.SemanticCore.human }
Instances For
Sample nP structure for a [human] noun in non-canonical class 3/4. E.g. umgewu 'criminal': [n₃/₄ [n₁/₂ √GEWU]] — stacked.
Equations
- Xhosa.humanInClass3 = { visibleClass := 3, coreClass := 1, status := Bantu.GenderStatus.interpretable Bantu.SemanticCore.human }
Instances For
Sample nP structure for a [human] noun in non-canonical class 5/6. E.g. ibutho 'warrior': [n₅/₆ [n₁/₂ √BUTHO]] — stacked.
Equations
- Xhosa.humanInClass5 = { visibleClass := 5, coreClass := 1, status := Bantu.GenderStatus.interpretable Bantu.SemanticCore.human }
Instances For
Sample nP structure for an [animal] noun in its canonical class 9/10. E.g. indlovu 'elephant': [n₉/₁₀ √DLOVU] — single layer.
Equations
- Xhosa.animalCanonical = { visibleClass := 9, coreClass := 9, status := Bantu.GenderStatus.interpretable Bantu.SemanticCore.animal }
Instances For
Sample nP structure for an [animal] noun in non-canonical class 1a/2a. E.g. unonkala 'crab': [n₁/₂ [n₉/₁₀ √NONKALA]] — stacked.
Equations
- Xhosa.animalInClass1 = { visibleClass := 1, coreClass := 9, status := Bantu.GenderStatus.interpretable Bantu.SemanticCore.animal }
Instances For
Map Xhosa gender classes to the shared surface-level gender type.
Gender A (cl1/cl2, human) → animate; all others → inanimate.
Xhosa's finer-grained semantic cores ([animal] for E, [inanimate] for D)
are captured in GenderStatus, not at the Gender level.