Swahili noun classes #
This file defines the noun classes of Swahili, the genders that pair a singular class with its plural, and the subject prefixes of the verb. A class is one of the Bantu classes in the traditional numbering. A noun of a class carries its prefix, ki-kapu 'basket' in class 7 and vi-kapu 'baskets' in class 8, and controls its agreement, the prefix ki- or vi- on the adjective, the numeral and the verb. A controller gender is the pair of classes a noun takes its agreements from, and Corbett's outline of the gender forms, after Welmers, gives the noun prefixes and the verbal agreements of each. A verb agrees with its subject by a prefix, the class prefix for a nominal subject and a person prefix for a speech-act participant.
Main definitions #
Swahili.NounClass,NounClass.subjPrefix: the classes and the subject prefix of eachSwahili.Gender,Gender.singularClass,Gender.pluralClass,Gender.class: the five genders as pairs of classesSwahili.subjectPrefix: the subject prefixes of the person cells, the third person those of classes 1 and 2
Main results #
Swahili.Gender.faithful_subjPrefix: subject agreement distinguishes the five genders
Implementation notes #
- The numbering is Scott's, after Carstens, with the u- class as 14 and no class 11; Corbett and Welmers number that class 11 and pair it with class 10 as a gender of its own, and count the infinitive class 15 as a gender with no plural. Neither is among the five genders here, which are Scott's genders A to E.
- The class prefixes are the typical forms of Corbett's table: m- before a consonant and mw- before a vowel in classes 1 and 3, ji- or nothing in class 5, and a nasal that assimilates to the stem in classes 9 and 10.
TODO #
- The second person plural prefix m- is not attested in the sources opened.
References #
Classes #
A noun class in the Bantu numbering.
- cl1 : NounClass
m-, mw-: mtu 'person', mwalimu 'teacher'.
- cl2 : NounClass
wa-: watu 'people'.
- cl3 : NounClass
m-, mw-: mti 'tree'.
- cl4 : NounClass
mi-: miti 'trees'.
- cl5 : NounClass
ji-, often unprefixed: joka 'giant snake'.
- cl6 : NounClass
ma-: maji 'water'.
- cl7 : NounClass
ki-: kikapu 'basket'.
- cl8 : NounClass
vi-: vikapu 'baskets'.
- cl9 : NounClass
A nasal: nyoka 'snake', nyumba 'house'.
- cl10 : NounClass
A nasal: nyumba 'houses'.
- cl14 : NounClass
u-, the class Corbett and Welmers number 11 and pair with class 10.
- cl15 : NounClass
ku-, the infinitive class: ku-la 'to eat'.
- cl16 : NounClass
pa-, a locative class: pa-na watu wengi 'there are many people'.
- cl17 : NounClass
ku-, a locative class: ku-na chakula 'there is food'.
- cl18 : NounClass
mu-, a locative class, with the connective mw-a of uvungu-ni mw-a kiti 'under a chair'.
Instances For
Equations
- Swahili.instDecidableEqNounClass x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Swahili.instReprNounClass = { reprPrec := Swahili.instReprNounClass.repr }
Equations
- Swahili.instReprNounClass.repr Swahili.NounClass.cl1 prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Swahili.NounClass.cl1")).group prec✝
- Swahili.instReprNounClass.repr Swahili.NounClass.cl2 prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Swahili.NounClass.cl2")).group prec✝
- Swahili.instReprNounClass.repr Swahili.NounClass.cl3 prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Swahili.NounClass.cl3")).group prec✝
- Swahili.instReprNounClass.repr Swahili.NounClass.cl4 prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Swahili.NounClass.cl4")).group prec✝
- Swahili.instReprNounClass.repr Swahili.NounClass.cl5 prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Swahili.NounClass.cl5")).group prec✝
- Swahili.instReprNounClass.repr Swahili.NounClass.cl6 prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Swahili.NounClass.cl6")).group prec✝
- Swahili.instReprNounClass.repr Swahili.NounClass.cl7 prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Swahili.NounClass.cl7")).group prec✝
- Swahili.instReprNounClass.repr Swahili.NounClass.cl8 prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Swahili.NounClass.cl8")).group prec✝
- Swahili.instReprNounClass.repr Swahili.NounClass.cl9 prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Swahili.NounClass.cl9")).group prec✝
- Swahili.instReprNounClass.repr Swahili.NounClass.cl10 prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Swahili.NounClass.cl10")).group prec✝
- Swahili.instReprNounClass.repr Swahili.NounClass.cl14 prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Swahili.NounClass.cl14")).group prec✝
- Swahili.instReprNounClass.repr Swahili.NounClass.cl15 prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Swahili.NounClass.cl15")).group prec✝
- Swahili.instReprNounClass.repr Swahili.NounClass.cl16 prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Swahili.NounClass.cl16")).group prec✝
- Swahili.instReprNounClass.repr Swahili.NounClass.cl17 prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Swahili.NounClass.cl17")).group prec✝
- Swahili.instReprNounClass.repr Swahili.NounClass.cl18 prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Swahili.NounClass.cl18")).group prec✝
Instances For
Equations
- Swahili.instFintypeNounClass = { elems := { val := ↑Swahili.NounClass.enumList, nodup := Swahili.NounClass.enumList_nodup }, complete := Swahili.instFintypeNounClass._proof_1 }
The subject prefix of the class on the verb.
Equations
- Swahili.NounClass.cl1.subjPrefix = Morphology.Morph.pref "a"
- Swahili.NounClass.cl2.subjPrefix = Morphology.Morph.pref "wa"
- Swahili.NounClass.cl3.subjPrefix = Morphology.Morph.pref "u"
- Swahili.NounClass.cl4.subjPrefix = Morphology.Morph.pref "i"
- Swahili.NounClass.cl5.subjPrefix = Morphology.Morph.pref "li"
- Swahili.NounClass.cl6.subjPrefix = Morphology.Morph.pref "ya"
- Swahili.NounClass.cl7.subjPrefix = Morphology.Morph.pref "ki"
- Swahili.NounClass.cl8.subjPrefix = Morphology.Morph.pref "vi"
- Swahili.NounClass.cl9.subjPrefix = Morphology.Morph.pref "i"
- Swahili.NounClass.cl10.subjPrefix = Morphology.Morph.pref "zi"
- Swahili.NounClass.cl14.subjPrefix = Morphology.Morph.pref "u"
- Swahili.NounClass.cl15.subjPrefix = Morphology.Morph.pref "ku"
- Swahili.NounClass.cl16.subjPrefix = Morphology.Morph.pref "pa"
- Swahili.NounClass.cl17.subjPrefix = Morphology.Morph.pref "ku"
- Swahili.NounClass.cl18.subjPrefix = Morphology.Morph.pref "mu"
Instances For
Genders #
Equations
- Swahili.instDecidableEqGender x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Swahili.instReprGender = { reprPrec := Swahili.instReprGender.repr }
Equations
- Swahili.instReprGender.repr Swahili.Gender.genderA prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Swahili.Gender.genderA")).group prec✝
- Swahili.instReprGender.repr Swahili.Gender.genderB prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Swahili.Gender.genderB")).group prec✝
- Swahili.instReprGender.repr Swahili.Gender.genderC prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Swahili.Gender.genderC")).group prec✝
- Swahili.instReprGender.repr Swahili.Gender.genderD prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Swahili.Gender.genderD")).group prec✝
- Swahili.instReprGender.repr Swahili.Gender.genderE prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Swahili.Gender.genderE")).group prec✝
Instances For
Equations
- Swahili.instFintypeGender = { elems := { val := ↑Swahili.Gender.enumList, nodup := Swahili.Gender.enumList_nodup }, complete := Swahili.instFintypeGender._proof_1 }
The singular class of a gender.
Equations
- Swahili.Gender.genderA.singularClass = Swahili.NounClass.cl1
- Swahili.Gender.genderB.singularClass = Swahili.NounClass.cl3
- Swahili.Gender.genderC.singularClass = Swahili.NounClass.cl5
- Swahili.Gender.genderD.singularClass = Swahili.NounClass.cl7
- Swahili.Gender.genderE.singularClass = Swahili.NounClass.cl9
Instances For
The plural class of a gender.
Equations
Instances For
The class of a gender in the singular or, when plural, the plural.
Equations
- g.class plural = if plural = true then g.pluralClass else g.singularClass
Instances For
Subject agreement, singular and plural, distinguishes the five genders.
Subject prefixes of the persons #
The subject prefixes of the person cells are ni-, u-, tu- and m- for the speech-act participants and the prefixes of classes 1 and 2 for the third person.
Equations
- One or more equations did not get rendered due to their size.