Storme (2026): A Method to Evaluate Systemic Constraints in Probabilistic Grammars #
This file formalizes [Sto26b]'s method for fitting systemic constraints, those that
score several input-output mappings jointly, in probabilistic constraint-based grammars: a
maximum-entropy distribution is evaluated over the joint tableau of output tuples and the
probability of each mapping is recovered by marginalization. With the systemic weights at
zero the marginal is the classical maximum-entropy probability of the mapping
(marginal_eq_classical_of_systemic_zero). The case study is variable hiatus resolution in
spoken Persian ([AJ21]): the suffix vowel of the possessive /hutʃɑ-emun/
usually deletes while that of the definite /hutʃɑ-e/ rarely does, since deleting it would
make the suffixed form homophonous with the bare stem. The paradigm is two junctures over
Persian segments (definite, possessive), homophony is string identity
(homophonyAvoidance, starHomophony), and the joint tableau puts *HOMOPHONY beside the
jointly evaluated classical constraints (jointCon), with the mapping probabilities its
marginals (predicted).
On this paradigm *HOMOPHONY coincides with the jointly evaluated REALIZEMORPHEME of
[Kur01] that [AJ21] use, so the marginalized model is their classical
one (starHomophony_eq_joint_realizeMorpheme, predicted_eq_maxEnt). Whatever the
weights, the suffix-length effect on deletion, in log-odds against faithful hiatus, is
exactly the *HOMOPHONY weight (log_odds_deletion_sub), deletion is less likely for the
monosegmental suffix whenever that weight is positive (deletion_lt_deletion), and without
*HOMOPHONY the two suffixes receive identical distributions (classical_no_length_effect).
At the paper's fitted weights the predicted orders are those of its Table 5 (mono_order,
poly_order).
Implementation notes #
The fitted weights are the paper's posterior means, with MAX fixed at one as in the paper; the theorems about the suffix-length effect are stated for arbitrary weights and only the preference orders use the fitted values. The base's single faithful candidate enters the tableau as the bare stem. The paper's model comparison by deviance information criterion is not formalized.
References #
Systemic constraints, joint evaluation, and marginalization #
*HOMOPHONY counts the pairs of distinct inputs that receive identical outputs. It is a
systemic constraint, one that scores a whole output tuple and not a single mapping, so it is a
Constraint on Fin n → O that does not decompose over the mappings.
Equations
- Storme2026.homophonyAvoidance f = {p : Fin n × Fin n | p.1 < p.2 ∧ f p.1 = f p.2}.card
Instances For
The joint MaxEnt grammar — systemic constraints scon beside the jointly
evaluated classical constraints con — marginalized at input i
([Sto26b]'s marginalization equation). With the systemic weights at
zero it returns the classical MaxEnt probability of each mapping: joint
evaluation plus marginalization conservatively extends the classical
pipeline.
The Persian paradigm #
The three candidate realizations of a suffixed input — the hiatus-resolution typology ([Cas11]) as restricted by [AJ21].
- hiatus : Resolution
Faithful vowel hiatus, e.g. [hutʃɑe].
- epenthesis : Resolution
Glottal-stop epenthesis, e.g. [hutʃɑʔe].
- deletion : Resolution
Suffix-vowel deletion, e.g. [hutʃɑ], [hutʃɑmun].
Instances For
Equations
- Storme2026.instDecidableEqResolution x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Storme2026.instFintypeResolution = { elems := { val := ↑Storme2026.Resolution.enumList, nodup := Storme2026.Resolution.enumList_nodup }, complete := Storme2026.instFintypeResolution._proof_1 }
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Storme2026.instReprResolution = { reprPrec := Storme2026.instReprResolution.repr }
Equations
The definite-suffix juncture /hutʃɑ-e/: a monosegmental suffix.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The possessive-suffix juncture /hutʃɑ-emun/: a polysegmental suffix.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The inputs of the joint tableau are the definite and the possessive junctures.
Equations
Instances For
resolve o j is the surface form of the candidate o at the juncture j, with faithful
hiatus, glottal-stop epenthesis, or elision of the suffix vowel.
Equations
Instances For
The constraints and the joint tableau #
*HIATUS counts the adjacent vowel pairs that survive in the surface form.
Equations
- Storme2026.starHiatus c = Phonology.Hiatus.count (Storme2026.resolve c.2 c.1)
Instances For
corr o j is the correspondence between the unrepaired concatenation and the candidate
o, which is the identity for faithful hiatus, the insertion of a glottal stop before the
suffix vowel for epenthesis, and the deletion of the suffix vowel for elision.
Equations
- Storme2026.corr Storme2026.Resolution.hiatus x✝ = OptimalityTheory.Correspondence.identity x✝.input
- Storme2026.corr Storme2026.Resolution.epenthesis x✝ = OptimalityTheory.Correspondence.insertIdx x✝.input x✝.v2Idx Farsi.glottalStop
- Storme2026.corr Storme2026.Resolution.deletion x✝ = OptimalityTheory.Correspondence.eraseIdx x✝.input x✝.v2Idx
Instances For
The output of each correspondence is the surface form of its candidate.
DEP counts the output segments that have no correspondent in the input.
Equations
Instances For
MAX counts the input segments that have no correspondent in the output.
Equations
Instances For
DEP is violated once by epenthesis and by no other candidate, for any juncture.
MAX is violated once by deletion and by no other candidate, for any juncture.
*HIATUS's string count is its binary tableau column on the paradigm's junctures — unlike DEP and MAX this depends on their segmental content, since hiatus must survive nowhere but at the juncture itself.
The classical constraint set consists of DEP, *HIATUS and MAX.
Equations
Instances For
The fitted classical weights, posterior means with MAX fixed at one.
Equations
- Storme2026.classicalW = ![2.47, 1.89, 1]
Instances For
*HOMOPHONY over the paradigm counts the collisions among the surface forms of the base, which is realized faithfully as the bare stem, its only candidate, and of the two suffixed inputs. Two outputs collide when they are the same string.
Equations
- Storme2026.starHomophony f = Storme2026.homophonyAvoidance (Fin.cons Storme2026.definite.stem fun (k : Fin 2) => Storme2026.resolve (f k) (Storme2026.inputs k))
Instances For
The fitted *HOMOPHONY weight, a posterior mean.
Equations
- Storme2026.homophonyWeight = 2.27
Instances For
The constraint set of the joint tableau puts *HOMOPHONY beside the jointly evaluated classical constraints. These are the columns of the paper's Table 4, over its nine output tuples.
Equations
Instances For
The weights of the joint tableau are wh for *HOMOPHONY and w for the classical
constraints.
Equations
- Storme2026.jointW wh w = Fin.append ![wh] w
Instances For
predicted wh w k is the distribution of input k's realizations, the marginal of the
joint MaxEnt distribution by the paper's marginalization equation, which gives its Table 5 at the
fitted weights.
Equations
- Storme2026.predicted wh w k = MeasureTheory.Measure.map (Function.eval k) (HarmonicGrammar.maxEnt Storme2026.jointCon.violations (Storme2026.jointW wh w))
Instances For
*HOMOPHONY against REALIZEMORPHEME #
[AJ21] analyse the same data with a per-mapping constraint penalizing a null realization of the suffix ([Kur01]'s REALIZEMORPHEME) in place of *HOMOPHONY. [Sto26b] notes that the two coincide here, and that only the systemic constraint extends to homophony avoidance not involving a null morpheme.
REALIZEMORPHEME is violated when the suffix has a null realization, the suffixed form surfacing as its bare stem.
Equations
- Storme2026.realizeMorpheme = OptimalityTheory.Constraint.binary fun (c : Phonology.Hiatus.Juncture × Storme2026.Resolution) => Storme2026.resolve c.2 c.1 = c.1.stem
Instances For
Only deletion at a monosegmental juncture leaves the suffix unrealized —
for any juncture, by the string algebra of Hiatus.Juncture.
On this paradigm *HOMOPHONY is the jointly evaluated REALIZEMORPHEME, since the suffixed forms never collide with each other, only with the base.
[AJ21]'s classical constraint set, REALIZEMORPHEME beside DEP, *HIATUS and MAX.
Equations
- Storme2026.ajCon = Matrix.vecCons Storme2026.realizeMorpheme Storme2026.classicalCon
Instances For
The weights of ajCon, REALIZEMORPHEME at the *HOMOPHONY weight.
Equations
- Storme2026.ajW wh w = Matrix.vecCons wh w
Instances For
The joint harmony separates over the two inputs, each scored by [AJ21]'s grammar: the coupling *HOMOPHONY introduces folds into the per-mapping scores.
The marginalized model is [AJ21]'s classical one, since the joint distribution is the product of the inputs' MaxEnt distributions under their per-mapping scores.
The per-mapping scores: each candidate costs its constraint's weight, with the *HOMOPHONY weight landing on top of MAX exactly for deletion at the monosegmental juncture.
Predictions with the fitted weights #
At the fitted weights the monosegmental suffix prefers hiatus over epenthesis over deletion, which would merge the suffixed form with the bare stem.
At the fitted weights the polysegmental suffix prefers deletion over hiatus over epenthesis: the suffix stays recoverable, so *HOMOPHONY is silent.
The suffix-length effect of [AJ21]: with a positive *HOMOPHONY weight, deletion is less likely for the monosegmental suffix than for the polysegmental one.
In log-odds against faithful hiatus, deletion is exactly the *HOMOPHONY weight less likely under the monosegmental suffix than under the polysegmental one, whatever the weights: the whole suffix-length effect is the systemic penalty.
DEP, *HIATUS and MAX give the two junctures identical violation profiles.
Without *HOMOPHONY there is no suffix-length effect to fit: the classical grammar assigns the two suffixes the same distribution under every weighting. The paper reports the correspondingly worse fit of the model without *HOMOPHONY.