Case paradigms #
Framework-neutral substrate for allomorphy patterns over the four core
cases (NOM, ACC, GEN, DAT): the n = 4 specialization of
Morphology.Paradigm, mirroring Morphology/Paradigm/Degree.lean for
degree. AllomorphyPattern is the ergonomic record form;
AllomorphyPattern.toParadigm connects it to the general substrate, and
the decidable IsContiguous / ViolatesABA predicates are defined
through that projection, so the generic theory applies by construction.
What explains the *ABA gap is contested between DM (post-syntactic
VI + Elsewhere ordering — [Bob12]) and Nanosyntax (phrasal
spellout + Superset Principle — [Cah09]). This file commits to
neither; per-paper analyses live in Studies/. Case-hierarchy
adjacency and inventory relations live with the Blake-rank API in
Features/Case/Basic.lean.
An allomorphy pattern over the four core cases (NOM, ACC, GEN, DAT), represented as a form-class index for each case.
- nom : ℕ
- acc : ℕ
- gen : ℕ
- dat : ℕ
Instances For
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
Equations
The general-substrate form of an allomorphy pattern: the n = 4
instance of Morphology.Paradigm.
Equations
- p.toParadigm = ![p.nom, p.acc, p.gen, p.dat]
Instances For
Is a pattern contiguous? Each form class occupies a contiguous span
on the hierarchy — the generic
Morphology.IsContiguous (Paradigm/Contiguity.lean), by construction.
Equations
Instances For
A pattern violates *ABA: some form class recurs across a distinct intervening one. Equivalent to ¬IsContiguous.
Equations
- p.ViolatesABA = ¬p.IsContiguous
Instances For
Equations
- Morphology.Case.Allomorphy.abbPattern = { nom := 0, acc := 1, gen := 1, dat := 1 }
Instances For
Equations
- Morphology.Case.Allomorphy.aabPattern = { nom := 0, acc := 0, gen := 0, dat := 1 }
Instances For
Equations
- Morphology.Case.Allomorphy.aabbPattern = { nom := 0, acc := 0, gen := 1, dat := 1 }
Instances For
Equations
- Morphology.Case.Allomorphy.ababPattern = { nom := 0, acc := 1, gen := 0, dat := 1 }
Instances For
Equations
- Morphology.Case.Allomorphy.abaPattern = { nom := 0, acc := 1, gen := 0, dat := 0 }
Instances For
Equations
- Morphology.Case.Allomorphy.babPattern = { nom := 1, acc := 0, gen := 1, dat := 0 }
Instances For
Equations
- Morphology.Case.Allomorphy.uniformPattern = { nom := 0, acc := 0, gen := 0, dat := 0 }
Instances For
Smoke tests for the named patterns: each evaluates as the
AllomorphyPattern shape its name implies. Demoted from theorem
to example because nothing in the codebase consumes them by
name.
Five fixed AllomorphyPattern shapes that show up in the
syncretism literature. Demoted to example for the same reason as
the smoke tests above: no by-name consumers.