Agreement Target Hierarchy @cite{corbett-1991} #
The Agreement Hierarchy (@cite{corbett-1991}) ranks morphosyntactic targets by likelihood of showing agreement: attributive adjectives are most likely, verbs least likely. If a language shows gender/number agreement on a lower target, it shows agreement on all higher targets.
This type is shared by gender typology (Linglib/Typology/Gender.lean and
Phenomena/Gender/Studies/Corbett1991.lean) and number agreement
(Phenomena/Agreement/Studies/Corbett2000.lean).
Morphosyntactic targets where agreement can surface, ordered by the Agreement Hierarchy (@cite{corbett-1991}).
Higher rank = more likely to show agreement (closer to controller). Lower rank = less likely (further from controller, more semantic).
- attributive : AgreementTarget
- predicate : AgreementTarget
- relativePronoun : AgreementTarget
- personalPronoun : AgreementTarget
- verb : AgreementTarget
Instances For
Equations
- Core.instDecidableEqAgreementTarget x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Core.instReprAgreementTarget = { reprPrec := Core.instReprAgreementTarget.repr }
Equations
- One or more equations did not get rendered due to their size.
- Core.instReprAgreementTarget.repr Core.AgreementTarget.verb prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Core.AgreementTarget.verb")).group prec✝
Instances For
Equations
Numeric rank in the Agreement Hierarchy: higher = more likely to show agreement (more syntactic); lower = less likely (more semantic).
Equations
Instances For
The Agreement Hierarchy is a LinearOrder lifted from the rank.
Provides ≤, <, min, max, Finset.sort, etc. for free.
Equations
The hierarchy rank is injective — derivable from the LinearOrder
instance, restated here as a named lemma for direct invocation.
The Predicate Hierarchy (@cite{corbett-2000}) decomposes the predicate position on the Agreement Hierarchy into a sub-hierarchy: verb < participle < adjective < noun.
Semantic agreement increases monotonically along this sub-hierarchy: if semantic agreement is possible on a verb, it is possible on a participle; if on a participle, then on an adjective; etc.
This is orthogonal to AgreementTarget, which treats .predicate and
.verb as two positions on the main hierarchy. The Predicate Hierarchy
provides finer resolution within the predicate position.
- verb : PredicateTarget
- participle : PredicateTarget
- adjective : PredicateTarget
- noun : PredicateTarget
Instances For
Equations
- Core.instDecidableEqPredicateTarget x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- One or more equations did not get rendered due to their size.
- Core.instReprPredicateTarget.repr Core.PredicateTarget.verb prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Core.PredicateTarget.verb")).group prec✝
- Core.instReprPredicateTarget.repr Core.PredicateTarget.noun prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Core.PredicateTarget.noun")).group prec✝
Instances For
Equations
- Core.instReprPredicateTarget = { reprPrec := Core.instReprPredicateTarget.repr }
Equations
Rank in the Predicate Hierarchy: higher = more likely to show semantic agreement. verb (0) < participle (1) < adjective (2) < noun (3).
Equations
Instances For
The Predicate Hierarchy is a LinearOrder lifted from the rank.
Equations
The Predicate Hierarchy rank is injective.
Map a PredicateTarget to the corresponding AgreementTarget.
Verb maps to .verb; participle/adjective/noun all map to
.predicate. Many-to-one, monotone (preserves the ≤ order
once you account for rank collapsing inside .predicate).
Equations
- Core.PredicateTarget.verb.toAgreementTarget = Core.AgreementTarget.verb
- Core.PredicateTarget.participle.toAgreementTarget = Core.AgreementTarget.predicate
- Core.PredicateTarget.adjective.toAgreementTarget = Core.AgreementTarget.predicate
- Core.PredicateTarget.noun.toAgreementTarget = Core.AgreementTarget.predicate
Instances For
Whether agreement markers have referential autonomy. @cite{bickel-nichols-2001}
- grammatical: pure agreement — the marker cannot stand alone as an argument; an independent NP is required (English she walk-s, the -s cannot replace she)
- pronominal: cross-referencing — the marker can function as the sole expression of the argument; an independent NP is optional (Swahili a-li-ki-soma (kitabu) — the prefixes suffice without the noun)
This distinction is orthogonal to the Agreement Hierarchy: a language can have pronominal agreement on verbs but grammatical agreement on adjectives, or vice versa.
- grammatical : AgreementType
- pronominal : AgreementType
Instances For
Equations
- Core.instDecidableEqAgreementType x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Core.instReprAgreementType = { reprPrec := Core.instReprAgreementType.repr }
Equations
- Core.instInhabitedAgreementType = { default := Core.instInhabitedAgreementType.default }
Direction of agreement: which element originates ("drives") the features. @cite{bickel-nichols-2001} §9
- headDriven: the phrasal head provides features that percolate to its dependents — dependents carry the agreement morphology. (German/Watam NP concord: noun's gender/number → adjective, det; = dependent marking in the sense of §3.)
- dependentDriven: a dependent provides features that the head matches — the head carries the agreement morphology. (Belhare/Swahili verb agreement: subject's person/number → verb; = head marking in the sense of §3.)
Related to but distinct from Core.Morphology.LocusOfMarking: locus
is a language-level WALS typological parameter classifying where all
grammatical relations are marked (head, dependent, double, zero).
AgreementDirection is phenomenon-specific — a language can be
overall head-marking (LocusOfMarking.headMarking) yet have specific
head-driven agreement (e.g., NP concord in an otherwise head-marking
language).
- headDriven : AgreementDirection
- dependentDriven : AgreementDirection
Instances For
Equations
- Core.instDecidableEqAgreementDirection x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Core.instReprAgreementDirection = { reprPrec := Core.instReprAgreementDirection.repr }