Gender — comparative labels and per-language systems #
[Cor91] [Kra15] [Kra20] [CF16] [SS20]
Gender has no universal value inventory. A gender is a language-particular
equivalence class of agreement behavior ([Cor91], crediting
[Hoc58];
[Kra15] def (1) p. 65; [SS20] fn. 1) — so, unlike Number
and Person, whose values a universal feature calculus labels
language-independently ([Har14a], [Har16a]), the root Gender
type is not a canonical value inventory but a vocabulary of
comparative-concept labels. The canonical object is Gender.System: a
language's own finite carrier of controller genders. [Kra15]'s gender
feature calculus generates at most three genders (Table 11.1); beyond that it
requires per-class identity features (§11.2.2) — a language-particular
carrier in all but name. This file encodes the carrier directly, the way
Basis ι R M takes the index type as a parameter.
Main declarations #
Gender— the six comparative labels (sex-based masculine, feminine, neuter, common; animacy-based animate, inanimate), with realizationGender.toUDand ingestionGender.fromUD—UD.Genderis realization vocabulary, exactly asUD.Number/UD.Personare forNumber/Person.Gender.System— a language's gender system over its own carrierGof controller genders: a partial comparative labeling and a morphosyntactic default. The gender count isFintype.card G, and [Kra15]'s two-class minimum (def (7i), p. 70) is the mathlib typeclassNontrivial G— one agreement pattern for all nouns is the absence of a system, not a one-gender system.Gender.Faithful— distinct genders are distinguished by some agreement target: injectivity of per-gender agreement behavior. YieldsGender.Faithful.card_le_pow: a language whose agreement showsfforms on each ofttargets supports at mostf ^ tcontroller genders.Gender.System.Assigned— a system with noun-level assignment.SemanticCoreis [Kra15]'s (7ii) ([Dah00]'s generalization: assignment is semantically determined on a nonempty core of animate nouns; "no language assigns genders completely randomly or completely formally", p. 70).assign_factorsThroughderives the Hockett–Corbett definition as a theorem: when agreement is mediated by gender and the carrier is faithful, assignment factors through observable agreement behavior.
Implementation notes #
- Carrier discipline.
Gis the controller-gender partition: singular and plural of one noun are one gender (Bantu "Class 1/2" convention, [Kra15] p. 252). Classifiers and declension class are out of scope — they do not trigger agreement ([Kra15] §4.1.1); nominal form classes (deriflection, [GF19]) are a distinct dimension and must not be conflated with the carrier. - Locus-neutral.
Systemmakes no claim about where gender sits in the nominal spine (n vs Num vs D); locus claims are study content. - Languages lacking gender — the majority ([Kra15] §11.2.4) — declare
no
System. - Feature decompositions of the labels, interpretation, and resolution are
separate modules; fragments' fine-grained gender enums are
Systemcarriers, and their ad-hoc label maps are thelabelfield.
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 the carrier of its Gender.System; label
maps them (partially) into this vocabulary.
- masculine : Gender
Masculine: male humans/higher animates; default in many sex-based systems.
- feminine : Gender
Feminine: female humans/higher animates; marked in many sex-based systems.
- neuter : Gender
Neuter: neither masculine nor feminine; inanimate default in 3-gender systems.
- common : Gender
Common: merged masculine + feminine (Swedish, Danish).
- animate : Gender
Animate: animate referents in animacy-based systems (Algonquian).
- inanimate : Gender
Inanimate: inanimate referents in animacy-based systems.
Instances For
Equations
- instDecidableEqGender x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- instReprGender.repr Gender.masculine prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Gender.masculine")).group prec✝
- instReprGender.repr Gender.feminine prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Gender.feminine")).group prec✝
- instReprGender.repr Gender.neuter prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Gender.neuter")).group prec✝
- instReprGender.repr Gender.common prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Gender.common")).group prec✝
- instReprGender.repr Gender.animate prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Gender.animate")).group prec✝
- instReprGender.repr Gender.inanimate prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Gender.inanimate")).group prec✝
Instances For
Equations
- instReprGender = { reprPrec := instReprGender.repr }
Equations
- instFintypeGender = { elems := { val := ↑Gender.enumList, nodup := Gender.enumList_nodup }, complete := instFintypeGender._proof_1 }
Realization: Universal Dependencies #
UD.Gender is the surface tagset corpora annotate, not an analytical
inventory: animacy-based labels have no UD realization.
Realize a comparative label as a UD gender tag, where one exists.
Equations
- Gender.masculine.toUD = some UD.Gender.Masc
- Gender.feminine.toUD = some UD.Gender.Fem
- Gender.neuter.toUD = some UD.Gender.Neut
- Gender.common.toUD = some UD.Gender.Com
- Gender.animate.toUD = none
- Gender.inanimate.toUD = none
Instances For
Ingest a UD gender tag. Total: every UD gender has a comparative label.
Equations
Instances For
Gender systems #
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 the partial label
field — the carrier itself is not constrained to fit them, which is what
accommodates Bantu-scale inventories that no label vocabulary covers.
A language's gender system over its own carrier G of controller
genders ([Cor91]; [Kra15]).
The gender count is Fintype.card G; the two-class minimum is the
hypothesis Nontrivial G on consumers that need it. Languages without
gender agreement declare no System.
- label : G → Option Gender
Partial comparative labeling of the controller genders. Bantu-style classes typically map to
noneoutside a human/animate core. - default : G
The morphosyntactic default: the gender realized when there are no gender features to agree with. Per-system data, not derivable ([Kra15]: feminine defaults are attested).
Instances For
Agreement faithfulness #
[Cor91]'s definition operationalized. Agreement evidence for a carrier
G is a behavior map agr : G → T → F — for each gender, the form each
target shows. 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 (two "genders" that agree alike everywhere are one
gender). Target and form types are parameters: the substrate is neutral about
what counts as a target (predicate, attributive, pronoun), which is where
strict-Agree vs loose-covariation definitions of gender-hood differ
([Kra15] §4.1.2).
A carrier G of controller genders is faithful to agreement evidence
agr when distinct genders are distinguished by some target's form.
An abbrev so that Function.Injective's decidability instance (under
[Fintype G], [DecidableEq T], [DecidableEq F]) applies: concrete
fragments discharge faithfulness by decide.
Equations
- Gender.Faithful agr = Function.Injective agr
Instances For
A language whose agreement morphology shows f forms on each of t
targets supports at most f ^ t controller genders.
Assigned systems and the semantic core #
The assigned tier adds the noun-level assignment function — the Canonical Gender Principle that each noun has a single gender value ([CF16]) is its functionality. [Kra15]'s (7ii) lives here: no attested system assigns gender completely randomly or completely formally; some nonempty core of animate nouns is assigned by interpretation.
A gender system together with its assignment: every noun of N gets
exactly one controller gender. Paradigm-only fragments stay at the
System tier.
- default : G
- assign : N → G
Gender assignment.
Instances For
The assignment has a semantic core: a nonempty set of nouns on which a
semantic classification sem determines gender ([Kra15], after
[Dah00]). Arbitrary assignment is permitted off the core.
Equations
- S.SemanticCore core sem = (core.Nonempty ∧ Function.FactorsThroughOn S.assign sem core)
Instances For
The system mediates noun-level agreement evidence nounAgr via the
per-gender behavior agr: a noun's agreement behavior is its gender's.
Instances For
The Hockett–Corbett definition of gender, derived rather than stipulated: if agreement is mediated by gender and the carrier is faithful, then gender assignment factors through observable agreement behavior.