Documentation

Linglib.Fragments.Bantu.Params

Bantu Language Family: Shared Parameters #

@cite{carstens-1991} @cite{kramer-2015} @cite{carstens-2026} @cite{halpert-hammerly-2026} @cite{hammerly-2023}

Shared types for Bantu language fragments, capturing cross-Bantu structural regularities in the noun class system. Individual Bantu languages (Swahili, Xhosa, Shona) import these types and specialize them with language-specific class inventories and morphological forms.

Key shared structure #

Design #

This file stores pure data — types, inventories, and status classifications. Resolution logic (percolation, intersection) lives in the Theory layer (GenderResolution.lean); study files connect the two.

Bivalent animacy features from @cite{hammerly-2023}'s containment hierarchy, applied to Bantu core noun class by @cite{halpert-hammerly-2026}.

Two features determine core noun class:

  • [±Animate]: distinguishes animate from inanimate entities
  • [±Human]: distinguishes humans from non-human animates

These stand in a containment relation: [+Human] entails [+Animate] (being human entails being animate). The fourth combination [−Animate, +Human] is semantically incoherent and ruled out by wellFormed.

  • isAnimate : Bool
  • isHuman : Bool
Instances For
    def Fragments.Bantu.instDecidableEqAnimacyFeatures.decEq (x✝ x✝¹ : AnimacyFeatures) :
    Decidable (x✝ = x✝¹)
    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

        Well-formedness: [+Human] → [+Animate]. Being human entails being animate (@cite{halpert-hammerly-2026} fn. 10).

        Equations
        Instances For

          HUMAN = [+Animate, +Human] ≈ class 1/2

          Equations
          Instances For

            NON-HUMAN ANIMATE = [+Animate, −Human] ≈ class 9/10

            Equations
            Instances For

              INANIMATE = [−Animate, −Human] ≈ class 7/8

              Equations
              Instances For
                theorem Fragments.Bantu.AnimacyFeatures.illFormed_only :
                { isAnimate := false, isHuman := true }.wellFormed = false

                The fourth combination [−Animate, +Human] violates well-formedness.

                theorem Fragments.Bantu.AnimacyFeatures.exactly_three :
                (List.filter wellFormed [{ isAnimate := true, isHuman := true }, { isAnimate := true, isHuman := false }, { isAnimate := false, isHuman := true }, { isAnimate := false, isHuman := false }]).length = 3

                Exactly three well-formed core noun classes. This is an instance of the general PrivativePair.no_four_way: any PhiFeatures type supports at most 3 well-formed cells.

                @[implicit_reducible]

                Animacy features instantiate the PhiFeatures privative pair: outer = [±Animate], inner = [±Human]. This is the same mathematical structure as person features (outer = [±participant], inner = [±author]), confirming @cite{hammerly-2023}'s claim that person and animacy features share a common containment architecture.

                Equations
                • One or more equations did not get rendered due to their size.

                Bridge to Features.Prominence.AnimacyLevel: the three well-formed feature bundles map to the three animacy levels used throughout the codebase for differential argument marking, agreement hierarchies, etc.

                Equations
                Instances For

                  Bantu nominalizing final vowels encode core noun class on the categorizing head n (@cite{halpert-hammerly-2026} (22)).

                  • -i: n[+Animate, +Human] (human nominalizer)
                  • -o: n[±Animate, −Human] (non-human nominalizer)
                  • -a: verbalizing final vowel (not a core noun class marker)
                  Instances For
                    @[implicit_reducible]
                    Equations
                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For

                      Core noun class features determine the nominalizing final vowel (@cite{halpert-hammerly-2026} (22)).

                      Equations
                      Instances For

                        Semantic cores of Bantu gender: salient associations between genders and entity classes (@cite{carstens-2026} §4.2, (71)).

                        Not all Bantu genders have a semantic core. Those that do have an interpretable i[entity] flavor at their innermost nP layer. Those that don't are purely formal (uninterpretable).

                        Xhosa has three cores — [human], [animal], [inanimate] — reflecting a three-way entity split. Shona collapses [animal] and [inanimate] into a single [non-human] default, adding a fourth constructor. The Xhosa distinction is the parametric maximum.

                        Instances For
                          @[implicit_reducible]
                          Equations
                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For

                            Derive SemanticCore from bivalent features (@cite{halpert-hammerly-2026} (19)).

                            Equations
                            Instances For

                              Round-trip: features → core → features is identity for well-formed features.

                              A language's conflation pattern: which containment features it is sensitive to. Dropping a feature merges the categories it distinguishes (@cite{halpert-hammerly-2026} (5), following @cite{mcginnis-2005}).

                              • usesAnimate : Bool
                              • usesHuman : Bool
                              Instances For
                                def Fragments.Bantu.instDecidableEqConflationPattern.decEq (x✝ x✝¹ : ConflationPattern) :
                                Decidable (x✝ = x✝¹)
                                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

                                    The number of core noun classes distinguished under a conflation pattern.

                                    Equations
                                    Instances For

                                      Xhosa uses both features: three-way distinction.

                                      Equations
                                      Instances For

                                        Swahili lacks [±Human]: GENERIC ANIMATE (human + animal) vs INANIMATE.

                                        Equations
                                        Instances For

                                          A feature-definable category: a conjunction of constraints on [±Animate] and/or [±Human]. none means the feature is unconstrained (conflated). This captures exactly the categories that arise from the containment hierarchy (@cite{halpert-hammerly-2026} (4)–(5)).

                                          • animateReq : Option Bool
                                          • humanReq : Option Bool
                                          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

                                                Whether a feature bundle satisfies a conjunction.

                                                Equations
                                                Instances For

                                                  Impossible conflation: no feature-definable category (conjunction of [±Animate, ±Human] constraints) can select HUMAN and INANIMATE while excluding ANIMAL. This follows from containment: HUMAN shares [+Animate] with ANIMAL, and INANIMATE shares [−Human] with ANIMAL, so any conjunction selecting both endpoints must also select the middle (@cite{halpert-hammerly-2026} §2, p. 5).

                                                  Gender interpretability status (@cite{carstens-2026} §4.2).

                                                  An interpretable gender has an i[entity] flavor associated with a salient class of countable entities. An uninterpretable gender has no such association — its members are semantically arbitrary.

                                                  This distinction directly controls agreement with conjoined singulars: gender-matching plural agreement succeeds with uniform conjuncts only for interpretable genders (@cite{carstens-2026} (52), (54)).

                                                  Instances For
                                                    Equations
                                                    • One or more equations did not get rendered due to their size.
                                                    Instances For

                                                      Stacked nP structure for Bantu nominals (@cite{carstens-2026} §4, (72)–(73)).

                                                      Bantu nouns have an inner semantic nP (bearing the i-core gender) wrapped by zero or more outer nPs (determining the visible noun class). For nouns in their canonical class, visible = core; for nouns appearing in non-canonical classes (e.g. [human] nouns in classes 3/4 or 5/6), the outer nP differs from the inner core.

                                                      visibleClass is the outer noun class number (determines morphological agreement with non-conjoined DPs). coreClass is the inner class determined by the semantic core (or equal to visibleClass if no stacking).

                                                      Instances For
                                                        def Fragments.Bantu.instDecidableEqNPStack.decEq (x✝ x✝¹ : NPStack) :
                                                        Decidable (x✝ = x✝¹)
                                                        Equations
                                                        • One or more equations did not get rendered due to their size.
                                                        Instances For
                                                          def Fragments.Bantu.instReprNPStack.repr :
                                                          NPStackStd.Format
                                                          Equations
                                                          • One or more equations did not get rendered due to their size.
                                                          Instances For
                                                            Equations
                                                            Instances For

                                                              Whether the core noun class is [+Animate] (HUMAN or ANIMAL). This is the predicate that [+Animate]-relativized probes and object-doubling conditions both target (@cite{halpert-hammerly-2026} (29)).

                                                              Equations
                                                              • One or more equations did not get rendered due to their size.
                                                              Instances For

                                                                Default agreement class for a semantic core (@cite{carstens-2026} (52c)). Class 2 ba- for [human], class 8 zi- for [inanimate] and [animal].

                                                                Equations
                                                                Instances For