Harmony #
A Harmonic Grammar, in Smolensky and Legendre's formulation, weights each constraint of a constraint
set by a number, real in the usual statement, and the harmony of a candidate is the negated weighted
sum of its violations, H(c) = -(w ⬝ᵥ C(c)), a linear functional of the candidate's violation
vector. The weight vector w : ι → R is the grammar's parameter, the Harmonic-Grammar twin of an OT
ranking, and both act on one ConstraintSet C ι. The weight ring is a parameter so that a grammar
with rational or integer weights keeps its scores exactly computable. Violations need not be
counts: harmony T w is the harmony of violation vectors T c with entries in the weight ring,
such as violations scaled by the activation of a lexical item.
Harmony is additive over concatenated and jointly evaluated constraint sets, so constraint summation is innocuous for it, and with non-negative weights a candidate that incurs no more violations than another on every constraint has at least its harmony, which is harmonic bounding.
Main definitions #
harmonyScore: the harmonyH(c) = -(w ⬝ᵥ C(c))of a candidate.OptimalityTheory.ConstraintSet.violations,harmony: the violation vectorC(c)of a candidate, and the harmony of a real-valued violation vector, of whichharmonyScoreis the case of counted violations.OptimalityTheory.ConstraintSet.violationDiff: the violation differenceC(a) - C(b).harmonyDominates: harmonic dominance,H(a) > H(b).
Main results #
harmonyScore_cons:@[simp]cons-recursion evaluating harmony on literal grammars![C₀, …],![w₀, …].harmonyScore_sub: the harmony difference is-(w ⬝ᵥ (C(a) - C(b))).harmonyScore_congr: harmony depends only on the violation vector.harmonyScore_append,harmonyScore_joint: harmony is additive over a concatenated constraint set and, for a jointly evaluated one, over the mappings.harmonyScore_le_of_forall_le,harmonyDominates_of_lt: a Pareto-dominant candidate has at least, and given a strict advantage on a positively weighted constraint strictly greater, harmony.
References #
The violation vector C(c) of a candidate, its violations of each constraint, a row of a
tableau.
Equations
- con.violations c j = ↑(con j c)
Instances For
Harmony #
The harmony H(c) = -(w ⬝ᵥ C(c)) of a candidate ([SL06]) is the
negated weighted sum of its violations under the weight vector w, and higher harmony is more
grammatical.
Equations
- HarmonicGrammar.harmonyScore con w c = -(w ⬝ᵥ fun (j : ι) => ↑(con j c))
Instances For
harmonyScore is a negated Finset.sum.
The harmony -(w ⬝ᵥ T c) of a candidate whose violations T c may be any elements of the
weight ring, as when a lexicon scales the violations of faithfulness constraints.
Equations
- HarmonicGrammar.harmony T w c = -(w ⬝ᵥ T c)
Instances For
The harmony of a sum of violation vectors is the sum of their harmonies.
The violation difference C(a) - C(b) of two candidates, a row of a comparative
tableau.
Equations
- con.violationDiff a b j = ↑(con j a) - ↑(con j b)
Instances For
The harmony difference of two candidates is the weight vector against their violation difference.
The candidate a harmonically dominates b when H(a) > H(b). The relation is the
pullback of > along harmonyScore con w (Order.Preimage), so it inherits IsStrictOrder
from the weight ring.
Equations
- HarmonicGrammar.harmonyDominates con w = HarmonicGrammar.harmonyScore con w ⁻¹'o fun (x1 x2 : R) => x1 > x2
Instances For
Evaluation by cons-recursion #
Harmony depends only on the violation vector.
Concatenated and jointly evaluated constraint sets #
Harmony is additive over a concatenated constraint set and weight vector.
The harmony of a jointly evaluated constraint set is the sum of the mappings' harmonies — constraint summation is innocuous for harmony ([MS21]).
Harmonic bounding (Pareto dominance) #
With non-negative weights, a candidate incurring no more violations than b on every
constraint has at least b's harmony, which is harmonic bounding ([PS93]).
Strictly fewer violations on some positively weighted constraint give strictly greater harmony.