Documentation

Linglib.Theories.Phonology.Prosodic.Syllable.Defs

Syllable Structure #

Syllable constituency (onset–nucleus–coda), sonority scale, the Sonority Sequencing Principle, moraic weight, and OT markedness constraints.

Substance-free sonority #

The sonority hierarchy is represented as an abstract ordered type (SonorityRank) rather than being defined by articulatory features. Following @cite{berent-2026}, the synchronic grammar operates on the ordering alone — the correlation with phonetic features ([±sonorant], [±approximant], etc.) is a diachronic/evolutionary fact, not a grammatical primitive. The grounding function sonorityOf maps segments to ranks via their features, but the SSP and markedness constraints see only SonorityRank.

Source: @cite{goldsmith-2011} "The Syllable" in The Handbook of Phonological Theory (Ch 6, pp. 164–196). Cross-referenced with Hayes §4.6 and §15.

@cite{goldsmith-2011} @cite{berent-2026}

The abstract sonority hierarchy: what the synchronic grammar operates on.

Following @cite{berent-2026}, phonological constraints on syllable structure are substance-free — the grammar sees an ordered set of sonority categories, not the articulatory features that happen to correlate with them. The correlation is diachronic (shaped by cultural evolution and articulatory pressures), but the synchronic computation is algebraic.

RankCategory
0Stop
1Fricative
2Nasal
3Liquid
4Glide
5Vowel

The 6 levels follow @cite{clements-1990}'s refinement of the basic 5-class hierarchy (splitting obstruents by [±continuant]). See NatClass.parkerSonority for the finer 8-level Parker scale.

Instances For
    @[implicit_reducible]
    Equations
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For

      SonorityRank.rank is injective: distinct ranks map to distinct Nats.

      @[implicit_reducible]

      Linear order on sonority ranks, lifted from the numeric ranking. Enables <, , max, min on SonorityRank directly — used by SONCON and other sonority-sensitive constraints. Follows the same pattern as Stratum in Stratal.lean.

      Equations

      Substance-based grounding: classify a segment into the sonority hierarchy by its phonetic features.

      Following @cite{hayes-2009}, the hierarchy is decomposed by four features ([±sonorant] > [±approximant] > [±consonantal] > [±syllabic]), with @cite{clements-1990}'s refinement splitting obstruents by [±continuant].

      This function bridges phonetic substance and the abstract SonorityRank type. The SSP and other grammatical constraints operate on SonorityRank directly — they do not inspect articulatory features.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For

        A syllable: onset, nucleus, coda. The rhyme (nucleus ++ coda) groups naturally in phonological processes.

        Instances For

          The rhyme (rime): nucleus + coda.

          Equations
          Instances For

            All segments in linear order.

            Equations
            Instances For
              Equations
              Instances For
                Equations
                Instances For
                  Equations
                  Instances For
                    Equations
                    Instances For
                      def Phonology.Syllable.monotoneRising :
                      List Bool

                      Is a list of Nats monotonically non-decreasing?

                      Equations
                      Instances For
                        def Phonology.Syllable.monotoneFalling :
                        List Bool

                        Is a list of Nats monotonically non-increasing?

                        Equations
                        Instances For

                          Does the onset obey SSP? Sonority rises toward the nucleus.

                          Equations
                          Instances For

                            Does the coda obey SSP? Sonority falls from the nucleus.

                            Equations
                            Instances For

                              Full SSP: onset rises, coda falls.

                              Equations
                              Instances For

                                A syllabified form: a word parsed into syllables.

                                Instances For

                                  Total segment count.

                                  Equations
                                  Instances For

                                    All segments in linear order.

                                    Equations
                                    Instances For

                                      Syllable weight: the mora count of a syllable.

                                      Instead of a lossy 3-value enum, SyllWeight wraps the actual mora count. The conventional names .light (1μ), .heavy (2μ), .superheavy (3μ) are abbreviations for the common values.

                                      This design ensures the prosodic pipeline is lossless: MoraicSyllable → SyllWeight → PrWd preserves exact mora counts, so bridge theorems between moraic and segmental views are trivial.

                                      • morae :

                                        The mora count: 1μ = light (CV), 2μ = heavy (CVV, CVC), 3μ = superheavy (CVVC, CVCC).

                                      Instances For
                                        def Phonology.Syllable.instDecidableEqSyllWeight.decEq (x✝ x✝¹ : SyllWeight) :
                                        Decidable (x✝ = x✝¹)
                                        Equations
                                        Instances For
                                          Equations
                                          • One or more equations did not get rendered due to their size.
                                          Instances For
                                            @[reducible, inline]
                                            Equations
                                            Instances For
                                              @[reducible, inline]
                                              Equations
                                              Instances For
                                                @[reducible, inline]
                                                Equations
                                                Instances For
                                                  def Phonology.Syllable.Syllable.moraCount (σ : Syllable) (codaMoraic : Bool := true) :

                                                  Mora count. codaMoraic = true means coda consonants contribute weight (the "Weight-by-Position" parameter of @cite{hayes-1989}).

                                                  Equations
                                                  Instances For
                                                    def Phonology.Syllable.Syllable.weight (σ : Syllable) (codaMoraic : Bool := true) :

                                                    Weight from mora count.

                                                    Equations
                                                    Instances For

                                                      ONSET: every syllable must have an onset. Returns count of onsetless syllables.

                                                      Equations
                                                      Instances For

                                                        NOCODA: syllables should not have codas. Returns count of syllables with codas.

                                                        Equations
                                                        Instances For

                                                          *COMPLEXONSET: no complex (multi-segment) onsets. Returns count of syllables with onset length > 1.

                                                          Equations
                                                          Instances For

                                                            *COMPLEXCODA: no complex (multi-segment) codas. Returns count of syllables with coda length > 1.

                                                            Equations
                                                            Instances For

                                                              SSP: every syllable obeys the Sonority Sequencing Principle. Returns count of syllables violating SSP.

                                                              Equations
                                                              Instances For
                                                                theorem Phonology.Syllable.cv_is_light (σ : Syllable) (h1 : σ.nucleus.length = 1) (h2 : σ.coda = []) :
                                                                theorem Phonology.Syllable.cvc_is_heavy (σ : Syllable) (h1 : σ.nucleus.length = 1) (h2 : σ.coda.length = 1) :