Zompì 2023: *ABA in multidimensional paradigms, Max/Dep Eval #
Exponent selection as ranked violable faithfulness: per-dimension Max and
Dep constraints ([Wol08], after [McCP95]) under
strict-domination Eval ([PS93]). An exponent may be both
underspecified and overspecified for its context, each departure penalized
but neither fatal — the midpoint between DM's Underspecification and
nanosyntax's Overspecification ([Sta09a]).
Contexts are the cumulative case × number decompositions (the dissertation's
(163)): NOM ∅ ⊂ ACC {κ_dep} ⊂ DAT {κ_dep, κ_dat} on one dimension
([SMX+19], [Cah09]), SG ∅ ⊂ PL {#pl} on the
other — realized here over ChristopoulosZompi2023.K, with specs carried by
the same rule type the Subset-Principle study runs on. What changes is only
the competition.
Main results:
mem_eval_iff/mem_eval_iff_lexMins— the strict-domination Eval cut cascade is exactly lexicographic minimization: an Eval survivor is aLexMinProblem.lexMinsoptimum (the shared coreOptimalityTheory.Tableaualiases), so this Max/Dep competition and phonological OT are one engine.eastFrisian_pattern/malayalam_pattern— the two minimally compliant Russian-doll patterns of §4.1.3: East Frisian 3M (h-äi, z-äi; h-um, h-ör) puts ABA on ⟨NOM.SG, NOM.PL, ACC.PL⟩ with AAA on ⟨NOM.SG, ACC.SG, ACC.PL⟩; Malayalam 1EX (ñān, ñaŋŋaḷ; enne, ñaŋŋaḷe) the reverse — same two candidate specifications, opposite rankings of the Dep pair and of the Max pair.checkerboard_excluded— the system's novel exclusion: over every ranking of the four relativized constraints and every two-candidate vocabulary on the paradigm's feature space, a candidate winning NOM.SG and ACC.PL also wins ACC.SG or NOM.PL (kernel-checked exhaustively);checkerboard_excluded_generalstates the vocabulary-general claim (the dissertation's W/T/L leftmost-column argument), left as asorryTODO.unidimensional_ABA_excluded— *ABA down the singular case column survives the move to violable constraints, over every ranking (§4.1.4).depTop_eq_subsetPrinciple— [Wol08]'s mimicry, connecting the two engines: with globalDepoutranking globalMax, whenever some candidate is subset-applicable, unique Max/Dep winners are exactly the Subset-Principle-with-feature-counting winners ofChristopoulosZompi2023.pattern([Hal97]'s counting formulation). The dual corner (Max ≫ Dep) is nanosyntax's least-specified non-underspecified choice.
Equations
- Zompi2023.instDecidableEqDim x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Zompi2023.instReprDim.repr Zompi2023.Dim.kase prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Zompi2023.Dim.kase")).group prec✝
- Zompi2023.instReprDim.repr Zompi2023.Dim.num prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Zompi2023.Dim.num")).group prec✝
- Zompi2023.instReprDim.repr Zompi2023.Dim.gen prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Zompi2023.Dim.gen")).group prec✝
Instances For
Equations
- Zompi2023.instReprDim = { reprPrec := Zompi2023.instReprDim.repr }
Which dimension each feature of ChristopoulosZompi2023.K belongs to.
Equations
- Zompi2023.dimOf ChristopoulosZompi2023.K.k0 = Zompi2023.Dim.kase
- Zompi2023.dimOf ChristopoulosZompi2023.K.k1 = Zompi2023.Dim.kase
- Zompi2023.dimOf ChristopoulosZompi2023.K.k2 = Zompi2023.Dim.kase
- Zompi2023.dimOf ChristopoulosZompi2023.K.k3 = Zompi2023.Dim.kase
- Zompi2023.dimOf ChristopoulosZompi2023.K.s0 = Zompi2023.Dim.num
- Zompi2023.dimOf ChristopoulosZompi2023.K.p0 = Zompi2023.Dim.num
- Zompi2023.dimOf ChristopoulosZompi2023.K.m0 = Zompi2023.Dim.gen
- Zompi2023.dimOf ChristopoulosZompi2023.K.f0 = Zompi2023.Dim.gen
Instances For
Equations
- Zompi2023.instDecidableEqZCell.decEq { case := a, num := a_1 } { case := b, num := b_1 } = if h : a = b then h ▸ if h : a_1 = b_1 then h ▸ isTrue ⋯ else isFalse ⋯ else isFalse ⋯
Instances For
Equations
- Zompi2023.instFintypeZCell = Fintype.ofEquiv ((_ : ChristopoulosZompi2023.Case3) × ChristopoulosZompi2023.LNum) Zompi2023.ZCell.proxyTypeEquiv
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Zompi2023.instReprZCell = { reprPrec := Zompi2023.instReprZCell.repr }
The cumulative two-dimensional decomposition ((163)): SCC-style case (NOM ∅ ⊂ ACC {k₁} ⊂ DAT {k₁,k₂}) crossed with cumulative number (SG ∅ ⊂ PL {p₀}).
Equations
- Zompi2023.zdecomp c = ChristopoulosZompi2023.scc c.case ∪ match c.num with | ChristopoulosZompi2023.LNum.sg => ∅ | ChristopoulosZompi2023.LNum.pl => {ChristopoulosZompi2023.K.p0}
Instances For
A candidate: the Subset-Principle study's rule carrier, re-read as an OT candidate — the spec may now be unfaithful to the context in both directions.
Instances For
Equations
- Zompi2023.instDecidableEqCon.decEq (Zompi2023.Con.maxD a) (Zompi2023.Con.maxD b) = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
- Zompi2023.instDecidableEqCon.decEq (Zompi2023.Con.maxD d) (Zompi2023.Con.depD d_1) = isFalse ⋯
- Zompi2023.instDecidableEqCon.decEq (Zompi2023.Con.maxD d) Zompi2023.Con.maxG = isFalse ⋯
- Zompi2023.instDecidableEqCon.decEq (Zompi2023.Con.maxD d) Zompi2023.Con.depG = isFalse ⋯
- Zompi2023.instDecidableEqCon.decEq (Zompi2023.Con.depD d) (Zompi2023.Con.maxD d_1) = isFalse ⋯
- Zompi2023.instDecidableEqCon.decEq (Zompi2023.Con.depD a) (Zompi2023.Con.depD b) = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
- Zompi2023.instDecidableEqCon.decEq (Zompi2023.Con.depD d) Zompi2023.Con.maxG = isFalse ⋯
- Zompi2023.instDecidableEqCon.decEq (Zompi2023.Con.depD d) Zompi2023.Con.depG = isFalse ⋯
- Zompi2023.instDecidableEqCon.decEq Zompi2023.Con.maxG (Zompi2023.Con.maxD d) = isFalse ⋯
- Zompi2023.instDecidableEqCon.decEq Zompi2023.Con.maxG (Zompi2023.Con.depD d) = isFalse ⋯
- Zompi2023.instDecidableEqCon.decEq Zompi2023.Con.maxG Zompi2023.Con.maxG = isTrue ⋯
- Zompi2023.instDecidableEqCon.decEq Zompi2023.Con.maxG Zompi2023.Con.depG = isFalse Zompi2023.instDecidableEqCon.decEq._proof_13
- Zompi2023.instDecidableEqCon.decEq Zompi2023.Con.depG (Zompi2023.Con.maxD d) = isFalse ⋯
- Zompi2023.instDecidableEqCon.decEq Zompi2023.Con.depG (Zompi2023.Con.depD d) = isFalse ⋯
- Zompi2023.instDecidableEqCon.decEq Zompi2023.Con.depG Zompi2023.Con.maxG = isFalse Zompi2023.instDecidableEqCon.decEq._proof_16
- Zompi2023.instDecidableEqCon.decEq Zompi2023.Con.depG Zompi2023.Con.depG = isTrue ⋯
Instances For
Equations
- Zompi2023.instReprCon = { reprPrec := Zompi2023.instReprCon.repr }
Equations
- One or more equations did not get rendered due to their size.
- Zompi2023.instReprCon.repr Zompi2023.Con.maxG prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Zompi2023.Con.maxG")).group prec✝
- Zompi2023.instReprCon.repr Zompi2023.Con.depG prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Zompi2023.Con.depG")).group prec✝
Instances For
Violation counts: Max-type stars for expected features the spec lacks,
Dep-type stars for spurious features the spec adds, counted on one
dimension or globally.
Equations
- Zompi2023.viol (Zompi2023.Con.maxD d) x✝¹ x✝ = {k ∈ Zompi2023.zdecomp x✝¹ \ x✝.feats | Zompi2023.dimOf k = d}.card
- Zompi2023.viol (Zompi2023.Con.depD d) x✝¹ x✝ = {k ∈ x✝.feats \ Zompi2023.zdecomp x✝¹ | Zompi2023.dimOf k = d}.card
- Zompi2023.viol Zompi2023.Con.maxG x✝¹ x✝ = (Zompi2023.zdecomp x✝¹ \ x✝.feats).card
- Zompi2023.viol Zompi2023.Con.depG x✝¹ x✝ = (x✝.feats \ Zompi2023.zdecomp x✝¹).card
Instances For
One Eval cut: keep the candidates with fewest violations of C.
Equations
- Zompi2023.cut c cands C = match (List.map (Zompi2023.viol C c) cands).min? with | none => cands | some m => List.filter (fun (r : Zompi2023.Cand F) => decide (Zompi2023.viol C c r = m)) cands
Instances For
Strict-domination Eval: successive cuts down the ranking, top constraint first.
Equations
- Zompi2023.eval rk v c = List.foldl (Zompi2023.cut c) v rk
Instances For
r is the unique survivor of Eval at c.
Equations
- Zompi2023.Wins rk v c r = (Zompi2023.eval rk v c = [r])
Instances For
The shared lexicographic-minimization core #
eval is the strict-domination filter cascade; the phonology OT engine is
lexicographic arg-min over a fixed-length violation profile. Its foundation is
Core.Optimization.Evaluation.LexMinProblem — a finite candidate set scored by
a Lex (Fin n → ℕ) profile, exposing the winner set LexMinProblem.lexMins;
OptimalityTheory.Tableau is a definitional alias for it (Tableau := LexMinProblem,
Tableau.optimal := lexMins). eval and this engine are one object, not two
parallel engines: mem_eval_iff characterizes an Eval survivor as a
lexicographic minimizer of the ranked violation vector, and
mem_eval_iff_lexMins reads that off the LexMinProblem whose candidates are
v and whose profile is that vector. So morphological Max/Dep Eval and
phonological OT provably share the same lexicographic core.
The candidate's violation vector at a cell, ordered by the ranking — the
List ℕ reading of the OT ViolationProfile.
Equations
- Zompi2023.rankedViols rk c r = List.map (fun (C : Zompi2023.Con) => Zompi2023.viol C c r) rk
Instances For
Eval is lexicographic minimization. A candidate survives the whole cut cascade iff its ranked violation vector is lexicographically ≤ every rival's: the strict-domination cut sequence computes exactly the lex-min set.
The ranked violation vector is the fixed-length OT profile spelled out as a list.
The Eval competition as a LexMinProblem — the engine OptimalityTheory.Tableau
aliases: candidate set v, profile the ranked violation vector (rank position i
reading the i-th constraint as a violation count via lexFinNatOf). This is a
phonological OT tableau with morphological Max/Dep constraints.
Equations
- Zompi2023.zTableau rk v c hv = { candidates := v.toFinset, profile := Core.Optimization.Evaluation.lexFinNatOf fun (i : Fin rk.length) => Zompi2023.viol (rk.get i) c, nonempty := ⋯ }
Instances For
Eval and OT are one engine. An Eval survivor is exactly a lex-minimizer
of the OT tableau zTableau: the morphological Max/Dep competition is a
phonological OT tableau (LexMinProblem) over the shared
lexicographic-minimization core.
The 24 rankings of the four dimension-relativized constraints of the
case-number paradigm, enumerated (kernel-reducible, unlike
List.permutations).
Equations
- One or more equations did not get rendered due to their size.
Instances For
The candidate feature space of the case-number paradigm.
Equations
Instances For
The possible context specifications ((163)): feature-structural entailments hold inside specs too — κ_dat only alongside κ_dep. The dissertation makes this well-formedness an entry condition on candidates and flags it as crucial for unidimensional *ABA.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The two minimally compliant patterns (§4.1.3) #
East Frisian 3M candidates ((165)): z- specified for plural, h- for accusative.
Equations
- Zompi2023.eastFrisian = [{ feats := {ChristopoulosZompi2023.K.p0}, exponent := "z" }, { feats := {ChristopoulosZompi2023.K.k1}, exponent := "h" }]
Instances For
East Frisian ((164), (166)): ranking Dep(#) ≫ Dep(K) and
Max(K) ≫ Max(#) yields h- in NOM.SG, ACC.SG, ACC.PL and z- in NOM.PL —
ABA along ⟨NOM.SG, NOM.PL, ACC.PL⟩, AAA along ⟨NOM.SG, ACC.SG, ACC.PL⟩.
Malayalam 1EX candidates ((168)): same two specifications, exponents ñan- and enn-.
Equations
- Zompi2023.malayalam = [{ feats := {ChristopoulosZompi2023.K.p0}, exponent := "ñan" }, { feats := {ChristopoulosZompi2023.K.k1}, exponent := "enn" }]
Instances For
Malayalam ((167), (169)): swapping both relative rankings —
Dep(K) ≫ Dep(#), Max(#) ≫ Max(K) — reverses both diagonals: ñan- in
NOM.SG, NOM.PL, ACC.PL and enn- in ACC.SG.
The checkerboard exclusion #
The novel multidimensional generalization, exhaustively: over all 24
rankings and all two-candidate vocabularies on the paradigm's feature space, a
candidate that uniquely wins both NOM.SG and ACC.PL also uniquely wins ACC.SG
or NOM.PL — the non-compliant "checkerboard" is ungenerable while either
Russian-doll ABA remains available (eastFrisian_pattern,
malayalam_pattern).
The vocabulary-general checkerboard exclusion, for any candidate list and any ranking of the four relativized constraints.
TODO: the shared-core mem_eval_iff reduces Wins to strict lexicographic
domination of the ranked violation vector (eval rk v c = [a] iff a's vector
lex-dominates every rival's, strictly since a tying rival would also survive).
On that footing the dissertation's argument ((170) and §4.1.4's continuation)
runs: (i) dimension-relativized counts factor through the dimension slice of the
context (viol (maxD d)/viol (depD d) at ⟨κ,ν⟩ depend only on the d-part
of zdecomp), so each constraint's field-level W/T/L verdict at NOM.SG and
ACC.PL transfers to the cell sharing its dimension; (ii) Wins at a cell is
equivalent to the leftmost non-tie column of the ranking (over the original
field, cascade-eliminations included) being a strict win; (iii) a three-way case
analysis on the relative rank of the leftmost strict-win columns at NOM.SG and
ACC.PL then forces a strict win at ACC.SG or NOM.PL. Step (ii) — the
column-scan characterization of the filter cascade — is the load-bearing lemma
still to be formalized.
Unidimensional *ABA survives the move to violable constraints (§4.1.4): down the singular case column, no ranking and no two-candidate vocabulary of well-formed specs lets one candidate win NOM and DAT while the other takes ACC.
The well-formedness entry condition is necessary, not merely
convenient: admit the entailment-violating spec {κ_dat} (κ_dat without κ_dep)
and case-column ABA becomes derivable — {κ_dat} takes NOM and DAT while
{κ_dep, #pl} takes ACC under Max(K) ≫ Dep(K) ≫ Max(#) ≫ Dep(#). The
dissertation asserts the assumption "will play a crucial role in allowing the
current theory to derive unidimensional *ABA"; this witness confirms the
system cannot do without it.
The corner rankings: Wolf's mimicry #
Dep ≫ Max is the Subset Principle with feature counting
([Wol08] on [Hal97]; the dissertation's §4.1.1): whenever some
candidate is subset-applicable, the unique winner under the global corner
ranking is exactly what ChristopoulosZompi2023.pattern — the Elsewhere
engine the companion study runs — selects. Inviolable-Max is the dual,
nanosyntax's least-specified non-underspecified choice ([Sta09a]).