Hayes (1989): Compensatory Lengthening in Moraic Phonology #
Bruce Hayes. "Compensatory Lengthening in Moraic Phonology." Linguistic Inquiry 20(2): 253–306.
This study file formalizes the empirical core of Hayes 1989: the typology of compensatory lengthening (CL) and its three central arguments for moraic theory over segmental prosodic theories (X theory, CV theory).
Core claims formalized #
CL is governed by a prosodic frame provided by moraic structure (not by constraints on association line rearrangements).
Onset-deletion asymmetry: CL from coda deletion is common; CL from onset deletion is unattested. Moraic theory derives this from the universal non-moraicity of onsets — onset deletion strands no μ (
Syllable.deleteOnset_strandedCount).Weight prerequisite: CL occurs only in languages with a syllable-weight distinction. Only languages with bimoraic syllables (
Syllable.ofCV … wbp) have a coda μ to strand.Moraic conservation: CL conserves total mora count. Because a stranded μ survives deletion, this follows from
Syllable.strand_moraCount/Syllable.relicense_moraCountrather than stipulation.
Languages covered #
- Latin (s-deletion: kasnus → ka:nus; onset s-deletion: smereo → mereo)
- Middle English (vowel loss: talə → ta:l)
- Lardil (no WBP: CL impossible)
- Estonian (trimoraic syllables, Q1/Q2/Q3 quantity system)
The seven attested compensatory-lengthening types ([Hay89]). Each is a deletion
trigger plus a re-association target; all share the moraic mechanism — deletion
strands a mora, which is then re-associated to an adjacent segment (the substrate
Syllable.strand ∘ relicense/relicenseLeft).
- classical : CLType
Vowel lengthens when a following coda consonant deletes (Latin kasnus → kaːnus).
- totalAssimilation : CLType
Total consonant assimilation, formally equivalent to CL (asta → atta).
- glideFormation : CLType
Glide formation frees a mora that lengthens a neighbour (tia → tyaː).
- prenasalization : CLType
Prenasalization absorbs a mora from the following stop (Bantu amba → aːmba).
- doubleFlop : CLType
Non-adjacent CL via double flop (Ancient Greek odwos → oːdos).
- vowelLoss : CLType
A following vowel deletes; the preceding vowel lengthens (Middle English talə → taːl).
- inverseCL : CLType
A vowel shortens, lengthening the following consonant (Luganda aika → akka).
Instances For
Equations
- Hayes1989.instDecidableEqCLType x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Hayes1989.instReprCLType = { reprPrec := Hayes1989.instReprCLType.repr }
Equations
- One or more equations did not get rendered due to their size.
- Hayes1989.instReprCLType.repr Hayes1989.CLType.classical prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Hayes1989.CLType.classical")).group prec✝
- Hayes1989.instReprCLType.repr Hayes1989.CLType.doubleFlop prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Hayes1989.CLType.doubleFlop")).group prec✝
- Hayes1989.instReprCLType.repr Hayes1989.CLType.vowelLoss prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Hayes1989.CLType.vowelLoss")).group prec✝
- Hayes1989.instReprCLType.repr Hayes1989.CLType.inverseCL prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Hayes1989.CLType.inverseCL")).group prec✝
Instances For
Whether a CL type re-associates the stranded μ within one syllable
(Syllable.relicense) or moves it across a syllable boundary
(Syllable.relicenseLeft).
Instances For
Equations
- Hayes1989.instDecidableEqLocality x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Hayes1989.instReprLocality = { reprPrec := Hayes1989.instReprLocality.repr }
The locality of each attested CL type ([Hay89]): vowel loss and the double flop strand a μ that a next-syllable vowel picks up; the rest re-link within the deletion's own syllable.
Equations
- Hayes1989.CLType.vowelLoss.locality = Hayes1989.Locality.heterosyllabic
- Hayes1989.CLType.doubleFlop.locality = Hayes1989.Locality.heterosyllabic
- Hayes1989.CLType.classical.locality = Hayes1989.Locality.tautosyllabic
- Hayes1989.CLType.totalAssimilation.locality = Hayes1989.Locality.tautosyllabic
- Hayes1989.CLType.glideFormation.locality = Hayes1989.Locality.tautosyllabic
- Hayes1989.CLType.prenasalization.locality = Hayes1989.Locality.tautosyllabic
- Hayes1989.CLType.inverseCL.locality = Hayes1989.Locality.tautosyllabic
Instances For
Segment inventory (minimal, for derivations) #
Latin s-deletion — classical CL #
Latin underlying form *kasnus 'gray': σ₁ = ⟨kas⟩ — onset ⟨k⟩, a nucleus μ, and a coda ⟨s⟩ μ (Weight-by-Position), making σ₁ heavy.
Equations
Instances For
Equations
Instances For
σ₁ of *kasnus is heavy (2 morae: nucleus + coda with WBP).
Deleting the coda ⟨s⟩ from σ₁ strands one mora.
After spreading, the vowel ⟨a⟩ becomes long: σ₁ = [ka:] with 2 morae.
Equations
Instances For
Latin *kosmis → ko:mis 'courteous': same pattern.
Equations
Instances For
Latin word-initial s-deletion — no CL #
Latin *smereo → mereo: ⟨s⟩ deletes word-initially (onset position). Onset ⟨s⟩ bears no mora, so no CL occurs.
Equations
Instances For
Onset deletion strands no mora — the onset-deletion asymmetry.
The mora count after onset deletion is still 1 (light syllable).
Middle English vowel-loss CL #
Middle English ⟨talə⟩ 'tale' (original disyllabic form): σ₁ = ⟨ta⟩ (open, light), σ₂ = ⟨lə⟩ (open, light). When word-final schwa deletes, Parasitic Delinking strands a mora, filled by leftward spreading that lengthens ⟨a⟩.
Equations
Instances For
Equations
Instances For
Equations
Instances For
Input ⟨talə⟩ has 2 total morae (one per syllable).
Deleting σ₂'s schwa strands one mora.
Vowel loss is heterosyllabic CL (CLType.vowelLoss): Parasitic Delinking
deletes the de-nucleated σ₂ (its nucleus mora is stranded by Schwa Drop), and that
mora migrates left onto σ₁, lengthening ⟨a⟩ to ⟨a:⟩ so σ₁ becomes heavy.
The migration conserves total weight — derived from Syllable.relicenseLeft_conserves, not
a stipulated output: the de-nucleated σ₂ deletes (none) and its mora is gained by σ₁.
CL result: ⟨a⟩ becomes long and ⟨l⟩ resyllabifies as a non-moraic coda riding on the second mora. Output σ = [ta:l] with 2 morae.
Equations
Instances For
Conservation: input total morae = output morae.
Weight prerequisite — CL requires bimoraic syllables #
Without WBP (e.g. Lardil), Syllable.ofCV leaves the coda non-moraic
(riding on the nucleus μ). There is no coda μ to strand → no CL.
Equations
Instances For
With WBP (e.g. Latin), Syllable.ofCV gives the coda its own mora.
Stranding it strands one mora → CL is possible.
Equations
Instances For
The weight prerequisite: Latin (CL possible) vs Lardil (CL impossible) is exactly the WBP parameter.
Estonian trimoraic syllables #
Estonian Q1/Q2/Q3 (short/long/overlong) syllables realize the three-way weight distinction as 1μ/2μ/3μ directly — a long vowel is two morae, an overlong rime three.
Equations
Instances For
Q3 → Q2 grade shift: removing the third mora.
Estonian gemination loss: Q3 ⟨pa:t.ti⟩ → Q2 ⟨pa:.ti⟩; σ₁ goes from 3μ to 2μ as the geminate loses its mora.
Equations
Instances For
Integration — the prosodic pipeline #
The full pipeline for Latin ka:nus after CL: moraic syllables → weight profile → prosodic word. σ₁ = [ka:] (heavy), σ₂ = [nus] (heavy), so the weight profile is [H, H].
Equations
Instances For
CL output has the weight profile [heavy, heavy].
CL output satisfies the bimoraic minimal-word constraint (4μ ≥ 2μ).
Middle English: CL preserves the bimoraic minimum across syllable restructuring. Input ⟨talə⟩ = [L, L] (2μ); output [ta:l] = [H] (2μ). Both satisfy the bimoraic minimum — a consequence of moraic conservation.