Person #
@cite{cysouw-2009} @cite{siewierska-2004}
Two components of the person API:
§ 1–4: Person Features (@cite{cysouw-2009}, @cite{siewierska-2004}). Framework-neutral decomposition of person into binary features:
- [±participant]: whether the referent includes a speech-act participant (speaker or addressee). 1st and 2nd person are [+participant]; 3rd person is [−participant].
- [±author]: whether the referent includes the speaker. 1st person is [+author]; 2nd and 3rd are [−author].
These features form a containment hierarchy: [+author] → [+participant]. An author (speaker) is necessarily a participant.
This decomposition is shared across theoretical frameworks:
- Minimalism: @cite{preminger-2014}, @cite{bejar-rezac-2009}
- Distributed Morphology: @cite{munoz-perez-2026} (Fission)
- Typology: @cite{cysouw-2009}, @cite{siewierska-2004}
The Minimalist-specific extension [±proximate]
(@cite{pancheva-zubizarreta-2018}) is added in
Theories/Syntax/Minimalism/Core/PersonGeometry.lean.
§ 5–9: Person Categories (@cite{cysouw-2009}). The 8 referential person categories from Cysouw's paradigmatic framework. Three singular categories (individual speech act roles) and five group categories (attested combinations of participants).
The full paradigmatic structure machinery (morpheme classes, homophony types,
language data) remains in Phenomena/Agreement/PersonMarkingTypology.lean.
Binary person features: [±participant, ±author].
These two features suffice for the three-way person distinction:
- 1st person: [+participant, +author]
- 2nd person: [+participant, −author]
- 3rd person: [−participant, −author]
The fourth combination [−participant, +author] is ill-formed: an author (speaker) is necessarily a speech-act participant.
- hasParticipant : Bool
[+participant]: referent includes a speech-act participant (1P or 2P).
- hasAuthor : Bool
[+author]: referent includes the speaker (1P only for singulars).
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Equations
- Core.Person.instReprFeatures = { reprPrec := Core.Person.instReprFeatures.repr }
Equations
- One or more equations did not get rendered due to their size.
Instances For
Well-formedness: [+author] → [+participant]. An author (speaker) is necessarily a participant.
Equations
- pf.wellFormed = (!pf.hasAuthor || pf.hasParticipant)
Instances For
1st person features: [+participant, +author].
Instances For
2nd person features: [+participant, −author].
Instances For
3rd person features: [−participant, −author].
Instances For
Decompose PersonLevel into binary person features.
Equations
Instances For
The ill-formed combination [−participant, +author] is the only combination that violates well-formedness.
There are exactly 3 well-formed feature combinations (= 3 persons).
All person levels yield well-formed features.
PersonLevel.isSAP = Features.hasParticipant.
The 8 referential person categories (@cite{cysouw-2009}, Fig 10.1).
Three singular categories (individual speech act roles) and five group categories (attested combinations of participants).
- s1 : Category
- s2 : Category
- s3 : Category
- minIncl : Category
- augIncl : Category
- excl : Category
- secondGrp : Category
- thirdGrp : Category
Instances For
Equations
- Core.Person.instBEqCategory.beq x✝ y✝ = (x✝.ctorIdx == y✝.ctorIdx)
Instances For
Equations
Equations
- One or more equations did not get rendered due to their size.
- Core.Person.instReprCategory.repr Core.Person.Category.s1 prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Core.Person.Category.s1")).group prec✝
- Core.Person.instReprCategory.repr Core.Person.Category.s2 prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Core.Person.Category.s2")).group prec✝
- Core.Person.instReprCategory.repr Core.Person.Category.s3 prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Core.Person.Category.s3")).group prec✝
- Core.Person.instReprCategory.repr Core.Person.Category.excl prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Core.Person.Category.excl")).group prec✝
Instances For
Equations
- Core.Person.instReprCategory = { reprPrec := Core.Person.instReprCategory.repr }
Equations
Instances For
All 8 categories in canonical order (singular, then group).
Equations
- One or more equations did not get rendered due to their size.
Instances For
Is this a singular (individual) category?
Equations
Instances For
Is this a group (non-singular) category?
Equations
Instances For
Is this part of the first person complex (contains speaker)?
Equations
Instances For
Is this an inclusive category (contains both speaker and addressee)?
Equations
Instances For
Does this category include the speaker?
Equations
Instances For
Does this category include the addressee?
Equations
Instances For
Map singular Category to UD.Person.
Equations
Instances For
Map UD.Person to singular Category.
Equations
Instances For
Round-trip: UD.Person → Category → UD.Person is identity.
Map Category to traditional person × number pair.
Equations
- Core.Person.Category.s1.toUDPersonNumber = some (UD.Person.first, UD.Number.Sing)
- Core.Person.Category.s2.toUDPersonNumber = some (UD.Person.second, UD.Number.Sing)
- Core.Person.Category.s3.toUDPersonNumber = some (UD.Person.third, UD.Number.Sing)
- Core.Person.Category.minIncl.toUDPersonNumber = some (UD.Person.first, UD.Number.Dual)
- Core.Person.Category.augIncl.toUDPersonNumber = some (UD.Person.first, UD.Number.Plur)
- Core.Person.Category.excl.toUDPersonNumber = some (UD.Person.first, UD.Number.Plur)
- Core.Person.Category.secondGrp.toUDPersonNumber = some (UD.Person.second, UD.Number.Plur)
- Core.Person.Category.thirdGrp.toUDPersonNumber = some (UD.Person.third, UD.Number.Plur)
Instances For
UD conflates inclusive and exclusive under first person plural.
Decompose any Category into binary person features.
hasAuthor=includesSpeaker: the referent contains the speaker.hasParticipant=includesSpeaker ∨ includesAddressee: the referent contains at least one speech-act participant.
Features underdetermine group categories: excl, minIncl, and augIncl
all map to ⟨true, true⟩. The full Category type is needed for
number and inclusivity distinctions.
Equations
- Core.Person.Category.s1.toFeatures = { hasParticipant := true, hasAuthor := true }
- Core.Person.Category.s2.toFeatures = { hasParticipant := true, hasAuthor := false }
- Core.Person.Category.s3.toFeatures = { hasParticipant := false, hasAuthor := false }
- Core.Person.Category.minIncl.toFeatures = { hasParticipant := true, hasAuthor := true }
- Core.Person.Category.augIncl.toFeatures = { hasParticipant := true, hasAuthor := true }
- Core.Person.Category.excl.toFeatures = { hasParticipant := true, hasAuthor := true }
- Core.Person.Category.secondGrp.toFeatures = { hasParticipant := true, hasAuthor := false }
- Core.Person.Category.thirdGrp.toFeatures = { hasParticipant := false, hasAuthor := false }
Instances For
hasAuthor = includesSpeaker for all categories.
hasParticipant = includesSpeaker ∨ includesAddressee for all categories.
All 8 categories yield well-formed features.
Map singular Category to PersonLevel (the canonical three-way
person distinction used by PersonGeometry, DifferentialIndexing, etc.).
Group categories map to none — they encode number distinctions that
PersonLevel does not capture.
Equations
Instances For
Map PersonLevel to singular Category.
Equations
Instances For
Round-trip: PersonLevel → Category → PersonLevel is identity.
includesSpeaker on Category = hasParticipant ∧ hasAuthor on
PersonLevel for singular categories: speaker (s1) = [+participant,
+author], addressee (s2) = [+participant, −author], other (s3) =
[−participant, −author]. This unifies the Category decomposition
in Spanish/PersonFeatures.lean with PersonGeometry.decomposePerson.
SAP (speech-act participant) = includesSpeaker ∨ includesAddressee for singular categories. This matches PersonLevel.isSAP.
Singular categories: Category.toFeatures agrees with PersonLevel.toFeatures via the PersonLevel bridge.