Taraldsen, Taraldsen Medová & Langa (2018) #
@cite{taraldsen-et-al-2018}
"Class prefixes as specifiers in Southern Bantu." Natural Language & Linguistic Theory 36:1339–1394.
Core claims #
- Bantu class prefixes are phrasal specifiers, not heads.
- Each prefix lexicalizes a nanosyntactic tree: [# Nx] (plural) or just [Nx] (singular), where # is the number head and Nx is a classifier-like nominal head.
- "Strong" classes (1/2, 7/8) share the same N between singular and plural; "weak" classes (3/4, 5/6, 9/10) have distinct Ns (N₄ ≠ N₃, N₆ ≠ N₅). This is the paper's central empirical finding from agreement with conjoined subjects (§2.1–2.6).
- The Foot Condition constrains prefix insertion and derives nP stacking (double prefix constructions in Changana/Rhonga).
- The specifier analysis unifies Bantu class prefixes with classifiers on the @cite{aikhenvald-2000} continuum.
Formalization #
- §1:
NCFeature— nominal feature inventory (number, classifier) - §2: Class prefix entries as
TreeLexEntry NCFeature - §3: Tree-based spellout verification
- §4: Strong vs weak classes — the core N₄ ≠ N₃ distinction
- §5: Foot Condition and why weak classes can't spell out
- §6: Pluralization derivation — the backtracking algorithm
- §7: Stacking-agreement correlation (central bridge theorem)
- §8: DM vs Nanosyntax comparison on SC prefixes
- §9: Agreement-classifier bridge (@cite{carstens-2026})
- §10: NPStack derivation from stacking analysis
- §11: NPStack–stacking bridge (canonical ↔ direct spellout)
- §12: NounClass alignment (Fragment enums ↔ study Nats)
Equations
- TaraldsenEtAl2018.instDecidableEqNCFeature.decEq TaraldsenEtAl2018.NCFeature.num TaraldsenEtAl2018.NCFeature.num = isTrue ⋯
- TaraldsenEtAl2018.instDecidableEqNCFeature.decEq TaraldsenEtAl2018.NCFeature.num (TaraldsenEtAl2018.NCFeature.cls a) = isFalse ⋯
- TaraldsenEtAl2018.instDecidableEqNCFeature.decEq (TaraldsenEtAl2018.NCFeature.cls a) TaraldsenEtAl2018.NCFeature.num = isFalse ⋯
- TaraldsenEtAl2018.instDecidableEqNCFeature.decEq (TaraldsenEtAl2018.NCFeature.cls a) (TaraldsenEtAl2018.NCFeature.cls b) = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
Instances For
Equations
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- TaraldsenEtAl2018.instReprNCFeature = { reprPrec := TaraldsenEtAl2018.instReprNCFeature.repr }
Singular class prefixes: each lexicalizes just Nx. @cite{taraldsen-et-al-2018} (60)–(61): singular prefixes are specifiers of nP, spelling out the classifier head N alone.
Equations
- TaraldsenEtAl2018.cl1Sg = { tree := Morphology.Nanosyntax.NanoTree.leaf (TaraldsenEtAl2018.NCFeature.cls 1), exponent := "um", morphType := Morphology.Nanosyntax.MorphType.prefix }
Instances For
Equations
- TaraldsenEtAl2018.cl3Sg = { tree := Morphology.Nanosyntax.NanoTree.leaf (TaraldsenEtAl2018.NCFeature.cls 3), exponent := "um", morphType := Morphology.Nanosyntax.MorphType.prefix }
Instances For
Equations
- TaraldsenEtAl2018.cl5Sg = { tree := Morphology.Nanosyntax.NanoTree.leaf (TaraldsenEtAl2018.NCFeature.cls 5), exponent := "ili", morphType := Morphology.Nanosyntax.MorphType.prefix }
Instances For
Equations
- TaraldsenEtAl2018.cl7Sg = { tree := Morphology.Nanosyntax.NanoTree.leaf (TaraldsenEtAl2018.NCFeature.cls 7), exponent := "isi", morphType := Morphology.Nanosyntax.MorphType.prefix }
Instances For
Equations
- TaraldsenEtAl2018.cl9Sg = { tree := Morphology.Nanosyntax.NanoTree.leaf (TaraldsenEtAl2018.NCFeature.cls 9), exponent := "in", morphType := Morphology.Nanosyntax.MorphType.prefix }
Instances For
Plural class prefixes: each lexicalizes [# Nx]. @cite{taraldsen-et-al-2018} (60)–(61), (77), (83): plural prefixes are specifiers of #P, spelling out [number + classifier].
Critical: "strong" classes (2, 8) share the same N with their singular counterparts (N₁, N₇). "Weak" classes (4, 6, 10) contain DISTINCT Ns: N₄ ≠ N₃, N₆ ≠ N₅, N₁₀ ≠ N₉. This is the paper's central empirical finding from agreement with conjoined subjects (@cite{taraldsen-et-al-2018} §2).
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Singular: target N1 -> "um" (cl1Sg wins, smallest match).
Plural: target [# N1] -> "aba" (cl2Pl matches — strong class).
Singular: target N5 -> "ili".
Plural: target [# N6] -> "ama" (weak class — N₆ ≠ N₅).
Singular: target N7 -> "isi".
Plural: target [# N7] -> "izi" (strong class).
No prefix matches an unlexicalized N (class 2 has no singular form).
Classes 3/4 do NOT share Ns — weak class pair. @cite{taraldsen-et-al-2018} §2.1–2.4: a conjunction of two class 3 singular nouns does NOT trigger class 4 agreement. The plural prefix mi contains N₄, distinct from the N₃ in the singular prefix mu.
Classes 5/6 do NOT share Ns — weak class pair. @cite{taraldsen-et-al-2018} §2.5: a conjunction of two class 5 singular nouns does NOT trigger class 6 agreement. The plural prefix ma contains N₆, distinct from the N₅ in class 5.
Classes 9/10 do NOT share Ns — weak class pair (in Changana/Rhonga; in Xhosa the class 10 prefix = class 8).
The foot of cl2Pl ("aba") is N₁.
The foot of cl4Pl ("imi") is N₄ — NOT N₃. This is the key structural fact: imi requires N₄ to be present in the syntactic structure. Since N₄ ≠ N₃, imi cannot spell out a structure built from a class 3 noun.
Strong class: "aba" CAN spell out [# N₁] because its foot (N₁) is present in the target. No stacking needed.
Strong class: "izi" CAN spell out [# N₇].
Weak class: "imi" CANNOT spell out a structure containing only N₃. The Foot Condition requires N₄ (the foot of imi's stored tree), but the target [# N₃] contains only N₃. This forces backtracking, producing stacking — e.g., mi-mu-twa 'thorns' (class 4-3) in Changana/Rhonga.
Weak class: "ama" CANNOT spell out a structure containing only N₅. Same logic: N₆ ≠ N₅.
The stacking prediction: for weak classes, no entry in the lexicon can spell out the target [# N_sg]. The derivation must backtrack, splitting the structure and building a Specifier — producing the stacking pattern observed in Changana/Rhonga. @cite{taraldsen-et-al-2018} §4.2, prediction derived from (77)–(83).
Contrast with strong classes (§3) where spellout succeeds directly.
Result of pluralizing a Bantu noun. @cite{taraldsen-et-al-2018} §4.2 derives two outcomes:
direct: one plural prefix replaces the singular (strong class).stacked: the plural prefix stacks on top of the singular prefix (weak class), producing double prefix constructions.
- direct : String → PluralizationResult
- stacked : String → String → PluralizationResult
Instances For
Equations
- One or more equations did not get rendered due to their size.
- TaraldsenEtAl2018.instDecidableEqPluralizationResult.decEq (TaraldsenEtAl2018.PluralizationResult.direct a) (TaraldsenEtAl2018.PluralizationResult.stacked a_1 a_2) = isFalse ⋯
- TaraldsenEtAl2018.instDecidableEqPluralizationResult.decEq (TaraldsenEtAl2018.PluralizationResult.stacked a a_1) (TaraldsenEtAl2018.PluralizationResult.direct a_2) = isFalse ⋯
Instances For
Equations
Equations
- TaraldsenEtAl2018.instBEqPluralizationResult.beq (TaraldsenEtAl2018.PluralizationResult.direct a) (TaraldsenEtAl2018.PluralizationResult.direct b) = (a == b)
- TaraldsenEtAl2018.instBEqPluralizationResult.beq (TaraldsenEtAl2018.PluralizationResult.stacked a a_1) (TaraldsenEtAl2018.PluralizationResult.stacked b b_1) = (a == b && a_1 == b_1)
- TaraldsenEtAl2018.instBEqPluralizationResult.beq x✝¹ x✝ = false
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Equations
- (TaraldsenEtAl2018.PluralizationResult.direct a).isStacked = false
- (TaraldsenEtAl2018.PluralizationResult.stacked a a_1).isStacked = true
Instances For
Derive the plural form for a noun with singular class sgCls.
Models @cite{taraldsen-et-al-2018} §4.2 cyclic derivation:
- Noun N_Y merges with classifier N_sgCls → [N_sgCls N_Y].
- Number head # merges → target [# N_sgCls].
- Try spellout of [# N_sgCls]. If some entry's tree contains this target, the plural prefix directly replaces the singular (strong class path — e.g., ba replaces m for cl 1→2).
- If no entry matches: the Foot Condition blocks lexicalization (§5). Backtrack (Starke's last resort): form [# N_plCls] as a Specifier merged with N_Y, producing a stacked structure (weak class path — e.g., mi-mu for cl 3→4).
Equations
- One or more equations did not get rendered due to their size.
Instances For
Strong class 1/2: direct pluralization. ba ↔ [# N₁] matches the target [# N₁], so the derivation succeeds in one step.
Strong class 7/8: direct pluralization.
Weak class 3/4: stacking. No entry matches [# N₃] (because the only class 4 entry has [# N₄] and N₄ ≠ N₃), so the derivation backtracks: mi ↔ [# N₄] stacks on top of um ↔ [N₃]. Produces the Changana/Rhonga form mi-mu-twa 'thorns'.
Weak class 5/6: stacking. ama ↔ [# N₆] on top of ili ↔ [N₅]. Produces Rhonga ma-rhi-tu 'words'.
Weak class 9/10: stacking. iin ↔ [# N₁₀] on top of in ↔ [N₉]. Produces Rhonga ti-yi-n-dlu 'houses'.
Whether an entry is a plural prefix (has # at root).
Structurally, plural entries are [# N_X] (node with num label);
singular entries are [N_X] (leaf).
Equations
- TaraldsenEtAl2018.isPluralEntry e = match e.tree with | Morphology.Nanosyntax.NanoTree.node f a => f == TaraldsenEtAl2018.NCFeature.num | Morphology.Nanosyntax.NanoTree.leaf a => false
Instances For
All singular prefixes lack #.
All plural prefixes have # at root.
The paper's central prediction, proved structurally: for any lexicon where direct spellout of [# N_s] succeeds iff s = pN, stacking occurs iff the classifier Ns are distinct.
The three class-number parameters:
s: the singular class N (e.g., N₁ for class 1)pN: the N inside the plural entry's tree (e.g., N₁ for strong class 2, N₄ for weak class 4)plCls: the plural class number used inderivePlural(e.g., 2, 4)
For strong classes, pN = s (shared N): cl2Pl has N₁ = cl1Sg's N.
For weak classes, pN ≠ s (distinct Ns): cl4Pl has N₄ ≠ cl3Sg's N₃.
The proof chains three structural insights:
- Algorithm:
derivePluralstacks iff direct spellout fails (derivePlural_isStacked_eq) - Lexicon: direct spellout fails iff s ≠ pN (
hDirect) - Entries:
sharesClassifierN= (s = pN) for standard-form entries (definitional fromNanoTree.foot)
@cite{taraldsen-et-al-2018}: the correlation between agreement failure and stacking is not stipulated — it is derived from distinct Ns in the lexical entries.
Strong class 1/2: no stacking (shared N₁).
Strong class 7/8: no stacking (shared N₇).
Weak class 3/4: stacking (N₄ ≠ N₃).
Weak class 5/6: stacking (N₆ ≠ N₅).
Weak class 9/10: stacking (N₁₀ ≠ N₉).
A singular-plural class pairing in Bantu.
- sgEntry : Morphology.Nanosyntax.TreeLexEntry NCFeature
- plEntry : Morphology.Nanosyntax.TreeLexEntry NCFeature
- sgClass : ℕ
- plClass : ℕ
Instances For
All five Xhosa class pairings: 2 strong + 3 weak.
Equations
- One or more equations did not get rendered due to their size.
Instances For
In stacked forms, the outer prefix is always from a plural entry (has # at root). Singular prefixes never appear as the outer layer in stacking. @cite{taraldsen-et-al-2018} §4.5: "while plural prefixes may stack on top of singular prefixes, we have found no cases where a singular prefix stacks on top of a plural prefix." This follows from the derivation: stacking is triggered by failure to lexicalize #, so the outer Specifier always contains #.
Every class pairing produces a valid derivation (no failures).
DM Vocabulary Items for Xhosa SC prefixes. Each class maps to a single feature. The Subset Principle selects the item whose features are all present in the target (largest match).
Equations
Instances For
Nanosyntax entries for the same SC prefixes using tree-based spellout. Each class feature is a leaf on the nanosyntactic tree.
Equations
- One or more equations did not get rendered due to their size.
Instances For
DM and Nanosyntax agree: class 1 SC prefix = "u".
DM and Nanosyntax agree: class 2 SC prefix = "ba".
Combining @cite{carstens-2026}'s agreement diagnostic with the classifier analysis: matching agreement (resolve succeeds) iff the gender has a semantic core — identifying it as a semantically motivated, classifier-like noun class.
This theorem bridges two phenomena: genders where conjoined singulars allow matching plural agreement (@cite{carstens-2026}) are exactly those whose class prefixes have classifier-like semantic content (@cite{taraldsen-et-al-2018}).
Xhosa sits at the noun-class pole of the @cite{aikhenvald-2000} classifier-to-noun-class continuum.
Derive an NPStack from a tree-based analysis. The visible class is the outermost N; the core class is the innermost (= foot). When visible = core, the noun is canonical (strong class); when they differ, stacking has occurred because the plural prefix contains a different N (@cite{taraldsen-et-al-2018} §4).
Equations
- TaraldsenEtAl2018.treeToNPStack visibleClass coreClass status = { visibleClass := visibleClass, coreClass := coreClass, status := status }
Instances For
Canonical class 1 [human] noun: visible = core = 1 (strong class).
Stacked [human] noun in class 3: visible = 3, core = 1.
Stacking occurs because N₃ ≠ N₄ (cl3_cl4_distinct_N): the
class 4 plural prefix cannot directly spell out [# N₃]
(no_spellout_forces_stacking_cl3), so derivePlural backtracks
(cl3_plural_stacked), placing class 3's prefix on top.
Stacked [human] noun in class 5: visible = 5, core = 1.
Canonical [animal] noun: visible = core = 9.
Canonical nouns (strong classes) don't stack.
Stacked nouns (weak class contexts) are not in their canonical class.
Stacking (from derivePlural) implies non-canonical NPStack.
If derivePlural produces .stacked, the noun cannot be in its
canonical class (visibleClass ≠ coreClass).
Direct pluralization (from derivePlural) is consistent with
canonical NPStack (visibleClass = coreClass).
The Xhosa NounClass enum produces the same class numbers
used in the nanosyntactic entries. This ensures that Fragment
data and the nanosyntactic analysis share a common namespace.
Gender singular classes match the singular class numbers used in prefix entries.
Gender plural classes match the plural class numbers used in
derivePlural.