Documentation

Linglib.Syntax.Gender.Basic

Gender systems #

This file defines a language's gender system over its own carrier of controller genders, the comparative labels cross-linguistic comparison uses for them, and the assigned system that gives every noun a controller gender.

A gender is a class of nouns that take the same agreements, so a language's genders are language-particular: there is no universal inventory of gender values as there is of number and person values, only a vocabulary of comparative labels, masculine, feminine, neuter, common, animate and inanimate, that a system's genders may partially bear. The carrier of controller genders is a type parameter, as the index type of a basis is, and the number of genders is its cardinality; a carrier is faithful to agreement evidence when distinct genders are distinguished by some target. The rules assigning nouns to genders are the assignment systems of Syntax/Gender/Assignment.lean.

Main definitions #

Main results #

Implementation notes #

References #

inductive Gender :

Comparative-concept labels for controller genders ([Cor91]).

These are the descriptive labels cross-linguistic comparison uses for a language's agreement classes — not a universal value inventory. A language's actual genders are its own carrier, which a fragment's toLabel maps into this vocabulary.

  • masculine : Gender

    The masculine holds male humans and higher animates, and is the default in many sex-based systems.

  • feminine : Gender

    The feminine holds female humans and higher animates, and is marked in many sex-based systems.

  • neuter : Gender

    The neuter is neither masculine nor feminine, and is the inanimate default in three-gender systems.

  • common : Gender

    The common gender merges masculine and feminine (Swedish, Danish).

  • animate : Gender

    The animate holds animate referents in animacy-based systems (Algonquian).

  • inanimate : Gender

    The inanimate holds inanimate referents in animacy-based systems.

Instances For
    @[instance_reducible]
    instance instDecidableEqGender :
    DecidableEq Gender
    Equations
    def instReprGender.repr :
    Gender → ℕ → Std.Format
    Equations
    Instances For
      @[instance_reducible]
      instance instReprGender :
      Repr Gender
      Equations
      @[instance_reducible]
      instance instFintypeGender :
      Fintype Gender
      Equations

      Carriers #

      A gender system is language-particular: its values are the language's own controller genders, supplied as the carrier type G, a fragment's gender enum. The comparative labels above enter only through a fragment's partial map into them; the carrier itself is not constrained to fit them, which is what accommodates Bantu-scale inventories that no label vocabulary covers.

      Agreement faithfulness #

      Agreement evidence for a carrier G is a behaviour map agr : G → T → F, the form each target shows for each gender. The carrier is faithful to the evidence when distinct genders are distinguished by some target; a carrier that is not faithful has posited a spurious distinction, since two genders that agree alike everywhere are one gender. The target and form types are parameters: the substrate is neutral about what counts as a target, which is where [Kra15]'s strict-Agree and loose-covariation definitions of gender differ.

      @[reducible, inline]
      abbrev Gender.Faithful {G : Type u_1} {T : Type u_2} {F : Type u_3} (agr : G → T → F) :

      A carrier G of controller genders is faithful to agreement evidence agr when distinct genders are distinguished by some target's form.

      It is an abbrev so that Function.Injective's decidability instance (under [Fintype G], [DecidableEq T], [DecidableEq F]) applies and concrete fragments discharge faithfulness by decide.

      Equations
      Instances For
        theorem Gender.Faithful.card_le_pow {G : Type u_1} {T : Type u_2} {F : Type u_3} [Fintype G] [Fintype T] [Fintype F] [DecidableEq T] {agr : G → T → F} (h : Faithful agr) :
        Fintype.card G ≤ Fintype.card F ^ Fintype.card T

        A language whose agreement morphology shows f forms on each of t targets supports at most f ^ t controller genders.

        Assignment and agreement #

        An assignment gives every noun one controller gender, the Canonical Gender Principle of [CF16]. When noun-level agreement is the per-gender behaviour of the assigned gender and the carrier is faithful, assignment factors through observable agreement behaviour: genders are agreement classes in [Zal64]'s sense, the starting point of [Cor91]'s definition. Corbett's controller genders discount subgenders, inquorate genders and overdifferentiated targets on the way from agreement classes to genders, and those steps are not modelled here.

        theorem Gender.factorsThrough_of_faithful {G : Type u_1} {N : Type u_2} {T : Type u_3} {F : Type u_4} {assign : N → G} {nounAgr : N → T → F} {agr : G → T → F} (med : nounAgr = agr ∘ assign) (faith : Faithful agr) :
        Function.FactorsThrough assign nounAgr

        Genders are agreement classes by derivation, not stipulation. If noun-level agreement nounAgr is the per-gender behaviour agr of the assigned gender and the carrier is faithful, then gender assignment factors through observable agreement behaviour.