Documentation

Linglib.Fragments.Bantu.Params

Bantu Language Family: Shared Parameters #

[Car91] [Kra15] [Car26] [HH26] [Ham23]

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 [Ham23]'s containment hierarchy, applied to Bantu core noun class by [HH26].

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 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
        @[implicit_reducible]
        Equations

        The [±Animate, ±Human] decomposition is carrier-equivalent to the containment pair: outer = [±Animate], inner = [±Human]. The same mathematical structure as person features (outer = [±participant], inner = [±author]), confirming [Ham23]'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.
        Instances For
          @[reducible, inline]

          Well-formedness: [+Human] → [+Animate]. Being human entails being animate ([HH26] 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 Bantu.AnimacyFeatures.illFormed_only :
                  ¬{ isAnimate := false, isHuman := true }.WellFormed

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

                  theorem Bantu.AnimacyFeatures.exactly_three :
                  Fintype.card { af : AnimacyFeatures // af.WellFormed } = 3

                  Exactly three well-formed core noun classes — the carrier count of the containment chain (ContainmentPair.card_wellFormed); any ContainmentPairLike type supports at most 3 well-formed cells.

                  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 ([HH26] (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
                      def Bantu.instReprFinalVowel.repr :
                      FinalVowelStd.Format
                      Equations
                      Instances For
                        @[implicit_reducible]
                        Equations

                        Core noun class features determine the nominalizing final vowel ([HH26] (22)).

                        Equations
                        Instances For

                          Semantic cores of Bantu gender: salient associations between genders and entity classes ([Car26] §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
                            def Bantu.instReprSemanticCore.repr :
                            SemanticCoreStd.Format
                            Equations
                            Instances For

                              Derive SemanticCore from bivalent features ([HH26] (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 ([HH26] (5), following [McG05]).

                                • usesAnimate : Bool
                                • usesHuman : Bool
                                Instances For
                                  def 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 ([HH26] (4)–(5)).

                                            • animateReq : Option Bool
                                            • humanReq : Option Bool
                                            Instances For
                                              def Bantu.instDecidableEqFeatureConjunction.decEq (x✝ x✝¹ : FeatureConjunction) :
                                              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

                                                  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 ([HH26] §2, p. 5).

                                                    Gender interpretability status ([Car26] §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 ([Car26] (52), (54)).

                                                    Instances For
                                                      def Bantu.instReprGenderStatus.repr :
                                                      GenderStatusStd.Format
                                                      Equations
                                                      • One or more equations did not get rendered due to their size.
                                                      Instances For
                                                        structure Bantu.NPStack :

                                                        Stacked nP structure for Bantu nominals ([Car26] §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 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 Bantu.instReprNPStack.repr :
                                                            NPStackStd.Format
                                                            Equations
                                                            • One or more equations did not get rendered due to their size.
                                                            Instances For
                                                              @[implicit_reducible]
                                                              Equations
                                                              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 ([HH26] (29)).

                                                                Equations
                                                                Instances For

                                                                  Default agreement class for a semantic core ([Car26] (52c)). Class 2 ba- for [human], class 8 zi- for [inanimate] and [animal].

                                                                  Equations
                                                                  Instances For