Harmony–OT Bridge #
@cite{prince-smolensky-1993} @cite{rose-walker-2011}
Derives OT constraints from a HarmonySystem, connecting the direct
computation in Harmony.Defs to the OT evaluation framework in
Core.Logic.OT and Theories.Phonology.Constraints.
Constraints #
Given a HarmonySystem sys:
- SPREAD: markedness — penalizes target segments in the suffix whose harmony feature doesn't match the trigger value. Drives harmony.
- IDENT-[F]: faithfulness — penalizes input→output changes on the harmony feature. Resists harmony.
Key result #
spreadSuffix_zero_spread: the output of spreadSuffix incurs zero
SPREAD violations (when no blockers intervene). This connects the
algorithmic spreading in Defs.lean to its OT motivation: spreadSuffix
produces the candidate that satisfies SPREAD, at the cost of IDENT
violations. Under SPREAD ≫ IDENT, the harmonized output is optimal.
SPREAD violations: count target segments whose harmony feature value
doesn't match triggerVal.
Equations
- One or more equations did not get rendered due to their size.
Instances For
IDENT-[F] violations: count positions where the harmony feature changed between input and output.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A vowel harmony candidate for OT evaluation.
The stem is fixed across candidates; only the suffix varies. For rightward harmony, GEN produces candidates that differ only in the feature values of suffix vowels. The stem determines the trigger value; the suffix is the domain of evaluation.
The stem (unchanged across candidates).
The underlying (input) suffix.
The surface (output) suffix.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Instances For
SPREAD as a NamedConstraint: penalizes unharmonized targets in the
output suffix. Returns 0 when the stem has no trigger.
Equations
- One or more equations did not get rendered due to their size.
Instances For
IDENT-[F] as a NamedConstraint: penalizes feature changes from
underlying to surface suffix.
Equations
- One or more equations did not get rendered due to their size.
Instances For
After harmonization, a target's harmony feature is set to val.
spreadSuffix produces zero SPREAD violations (when no blockers
intervene).
By induction: harmonizeOne fixes each target's feature value
(§4), so no target in the output disagrees with the trigger.
The faithful candidate (no changes) has zero IDENT violations.
IDENT on empty suffixes is zero.
The output of spreadSuffix achieves zero SPREAD violations (the
mkSpread constraint) for the harmonized candidate.
Combined with faithful_zero_ident, this captures the OT trade-off:
- Faithful candidate: SPREAD > 0, IDENT = 0
- Harmonized candidate: SPREAD = 0, IDENT ≥ 0
Under the ranking SPREAD ≫ IDENT, the harmonized output wins.