Documentation

Linglib.Phonology.Prosody.Syllable

Syllables #

[Hay89] [Hym85] [Sel82] [Cle90]

The syllable (σ) — the level above the mora in the prosodic hierarchy: a headed moraic constituent ([Hay89]; [Hym85]). A non-moraic onset sits over a moraic spine whose head is the nucleus — the sonority peak ([Cle90]; the "nucleus = head of σ" reading follows dependency/government phonology). The nucleus mora is mandatory and structurally initial (a σ has ≥1 mora by construction; there is no head-direction parameter — unlike the foot); tail carries any further nuclear morae (long vowels) and a moraic coda.

The moraic structure is the carrier (weight is mora-based and load-bearing, so — unlike the foot — the tree and onset-rime are secondary). The rival onset-rime theory ([Sel82]) is a re-representation (toOnsetRime), proved to agree with the moraic carrier on weight; the segment string is the yield.

Main definitions #

Syllables #

σ — a headed moraic syllable ([Hay89]): a non-moraic onset, a nucleus head mora (the sonority peak; mandatory, so σ has ≥1 mora and the head is initial by construction), and a tail of further morae (long-vowel morae + a moraic coda).

  • onset : List Phonology.Segment

    The non-moraic onset melody.

  • head : Mora

    The nucleus mora — the sonority peak; mandatory, so σ has ≥ 1 mora.

  • tail : List Mora

    Further morae: long-vowel morae and a moraic coda.

Instances For
    def Prosody.instDecidableEqSyllable.decEq (x✝ x✝¹ : Syllable) :
    Decidable (x✝ = x✝¹)
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      @[reducible, inline]

      Syllable weight is just the mora count — there is no separate weight type. .light (1μ), .heavy (2μ), .superheavy (3μ) name the common values for readable weight profiles in metrical and accentual computations.

      Equations
      Instances For
        @[reducible, inline]
        Equations
        Instances For
          @[reducible, inline]
          Equations
          Instances For
            @[reducible, inline]
            Equations
            Instances For

              The moraic spine, nucleus (peak) first.

              Equations
              Instances For
                @[reducible, inline]

                The nucleus — the head mora (the sonority peak).

                Equations
                Instances For

                  The nucleus segment(s).

                  Equations
                  Instances For

                    The number of morae — the syllable's weight.

                    Equations
                    Instances For
                      @[reducible, inline]

                      The syllable's weight (= its mora count).

                      Equations
                      Instances For

                        A heavy syllable: at least two morae.

                        Equations
                        Instances For

                          A light syllable: exactly one mora.

                          Equations
                          Instances For
                            @[implicit_reducible]
                            Equations
                            @[implicit_reducible]
                            Equations
                            def Prosody.Syllable.mk' (onset : List Phonology.Segment) (nucleus : Mora) (coda : List Mora := []) :

                            Build a syllable from an explicit nucleus mora (+ optional further/coda morae).

                            Equations
                            Instances For
                              def Prosody.Syllable.ofMorae (onset : List Phonology.Segment) (ms : List Mora) (h : ms [] := by simp) :

                              Build a syllable from an onset and a non-empty mora spine (nucleus = first mora).

                              Equations
                              Instances For
                                def Prosody.Syllable.ofCV (onset nucleus coda : List Phonology.Segment) (wbp : Bool := true) (hn : nucleus [] := by simp) :

                                Build a syllable from a segmental onset–nucleus–coda string. Each nucleus segment projects a mora (the first is the nucleus head); a coda segment projects its own mora iff Weight-by-Position is active ([Hay89]), else it rides the last nucleus mora (a non-moraic coda). A non-empty nucleus is required.

                                Equations
                                • One or more equations did not get rendered due to their size.
                                • Prosody.Syllable.ofCV onset [] coda wbp h = .elim
                                Instances For

                                  The segment string (yield) of a syllable: onset followed by the moraic melody.

                                  Equations
                                  Instances For

                                    Moraic operations (stranding and re-licensing) #

                                    The moraic-syllabification operations of [Hay89]: segment deletion strands a μ (an empty prosodic position), which is then re-licensed by re-association ([Ito86]'s Prosodic Licensing) or else erased. This is the mechanism of compensatory lengthening — "CL" the phenomenon is a composition of these operations, documented per-language in Studies/Hayes1989. Mora count is conserved by construction (the μ survives deletion).

                                    Delete the segment under mora i, leaving the μ stranded (it survives, dominating nothing) — the engine of compensatory lengthening.

                                    Equations
                                    Instances For

                                      Delete an onset segment. Onsets are non-moraic, so this strands no μ — the onset-deletion asymmetry: it cannot feed compensatory lengthening ([Hay89]).

                                      Equations
                                      Instances For

                                        The number of stranded (segmentally unaffiliated) morae.

                                        Equations
                                        Instances For

                                          Tautosyllabic re-licensing ([Ito86]): re-associate σ's stranded morae to the nucleus, within σ. Length-preserving on the spine, so weight is conserved.

                                          Equations
                                          Instances For

                                            Heterosyllabic re-licensing (Parasitic Delinking, [Hay89]): a stranded nucleus μ delinks — the syllable, now nucleus-less, is deleted (none), and its μ migrates onto the preceding host's nucleus, lengthening it (the host vowel spans two morae). A no-op if the target's nucleus is not stranded.

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

                                              Mora conservation, by construction.

                                              The onset-deletion asymmetry ([Hay89]): deleting an onset strands no μ.

                                              theorem Prosody.Syllable.relicenseLeft_conserves (host target : Syllable) (h : target.head.IsStranded) (hmono : target.tail = []) :
                                              (host.relicenseLeft target).1.moraCount + (Option.map moraCount (host.relicenseLeft target).2).getD 0 = host.moraCount + target.moraCount

                                              Heterosyllabic re-licensing conserves the total mora count across the boundary: the migrated μ leaves the (deleted) target and is gained by the host.

                                              Onset-rime re-representation #

                                              The onset-rime structure ([Sel82]): a rival theory of σ structure, an onset over a rime. Here a re-representation of the canonical moraic Syllable.

                                              Instances For
                                                def Prosody.instDecidableEqOnsetRime.decEq (x✝ x✝¹ : OnsetRime) :
                                                Decidable (x✝ = x✝¹)
                                                Equations
                                                Instances For

                                                  σ → onset-rime: the rime is the moraic spine ([Sel82]).

                                                  Equations
                                                  Instances For

                                                    Weight correspondence: the onset-rime rime's mora count equals σ's weight — the moraic and onset-rime theories agree on weight ([Sel82]; [Hay89]).

                                                    Yield #

                                                    @[reducible, inline]

                                                    A yield: the terminal σ-weight string of a prosodic structure — the unparsed input, or the leaves of a prosodic Tree. Distinct from the prosodic word ω (an IsWord tree), which is a headed constituent: a yield is just the weight profile, with no head and no constituency.

                                                    Equations
                                                    Instances For

                                                      The weight profile of fully-moraified syllables — the σ → yield bridge.

                                                      Equations
                                                      Instances For

                                                        Total mora count (each weight is a mora count).

                                                        Equations
                                                        Instances For
                                                          @[reducible, inline]
                                                          abbrev Prosody.Yield.satisfiesMinWord (y : Yield) (minMorae : := 2) :

                                                          The minimal-word size constraint ([McCP93]): at least minMorae morae (default 2, the moraic-trochee minimum) — the moraic size floor on a prosodic word. Whether an ω must structurally contain a foot is a separate, non-presupposed matter (footless languages have ω directly over σ, [Dol20]).

                                                          Equations
                                                          Instances For

                                                            The prosodic-tree carrier #

                                                            The recursive prosodic constituent ([IM03]): the Core ordered rose tree RoseTree labeled by prosodic-level Constituents — the violable OT candidate carrier for ω/φ/… structures, including the ill-formed ones (a footless ω, a stray under φ) that IsWord rules out. Its OT constraints are Constraints.Constraint Tree values, defined alongside IsWord. Homed here because Constituent.weight/.syl need Syllable.Weight; it inherits DecidableEq/map from RoseTree.

                                                            A prosodic node — the level is the constructor: a σ carries its mora weight and isHead, every non-root level carries isHead (whether it heads its parent). Constructor defaults match the former smart constructors, so node literals are unchanged; illegal nodes (a weight on a foot, a head on the ι root) are unrepresentable.

                                                            • syl (weight : Syllable.Weight := 0) (isHead : Bool := false) : Constituent

                                                              A syllable of the given weight, optionally the head of its foot.

                                                            • ft (isHead : Bool := false) : Constituent

                                                              A foot, optionally the head foot of its word.

                                                            • om (isHead : Bool := false) : Constituent

                                                              A prosodic word ω, optionally the head word of its phrase.

                                                            • ph (isHead : Bool := false) : Constituent

                                                              A phonological phrase φ, optionally the head phrase of its intonational phrase.

                                                            • iota : Constituent

                                                              An intonational phrase ι — the root of the utterance-level hierarchy, headless.

                                                            Instances For
                                                              def Prosody.instDecidableEqConstituent.decEq (x✝ x✝¹ : Constituent) :
                                                              Decidable (x✝ = x✝¹)
                                                              Equations
                                                              Instances For
                                                                def Prosody.instReprConstituent.repr :
                                                                ConstituentStd.Format
                                                                Equations
                                                                Instances For

                                                                  Whether a node heads its parent (a σ heads its foot, a foot heads its word, an ω its phrase, a φ its intonational phrase); false for the ι root.

                                                                  Equations
                                                                  Instances For

                                                                    The mora weight of a σ node; none for non-σ nodes.

                                                                    Equations
                                                                    Instances For

                                                                      A syllable (σ) node.

                                                                      Equations
                                                                      Instances For

                                                                        A foot (f) node.

                                                                        Equations
                                                                        Instances For

                                                                          A prosodic-word (ω) node.

                                                                          Equations
                                                                          Instances For

                                                                            A phonological-phrase (φ) node.

                                                                            Equations
                                                                            Instances For

                                                                              An intonational-phrase (ι) node.

                                                                              Equations
                                                                              Instances For

                                                                                Two nodes at the same prosodic level (the same constructor, ignoring weight/head) — the same-category test the No-Recursion family reads off the carrier.

                                                                                Equations
                                                                                Instances For
                                                                                  theorem Prosody.Constituent.isSyl_eq_false_of_isFt {x : Constituent} (h : x.isFt = true) :
                                                                                  x.isSyl = false

                                                                                  The level family is exclusive: a foot is not a syllable.

                                                                                  theorem Prosody.Constituent.isSyl_eq_false_of_isOm {x : Constituent} (h : x.isOm = true) :
                                                                                  x.isSyl = false

                                                                                  The level family is exclusive: a prosodic word is not a syllable.

                                                                                  @[reducible, inline]

                                                                                  A prosodic tree: the Core ordered rose tree RoseTree labeled by Constituents. Ordered children give No-Tangling by construction.

                                                                                  Equations
                                                                                  Instances For
                                                                                    @[reducible, inline]
                                                                                    abbrev Prosody.Tree.σ (w : Syllable.Weight := 0) (h : Bool := false) :

                                                                                    A σ-leaf — the metrical terminal: a syllable of weight w, head-marked h.

                                                                                    Equations
                                                                                    Instances For
                                                                                      @[reducible, inline]
                                                                                      abbrev Prosody.Tree.ft (h : Bool) (cs : List Tree) :

                                                                                      A foot node over cs, optionally the head foot of its word.

                                                                                      Equations
                                                                                      Instances For
                                                                                        @[reducible, inline]
                                                                                        abbrev Prosody.Tree.om (cs : List Tree) :

                                                                                        A prosodic-word (ω) node over cs.

                                                                                        Equations
                                                                                        Instances For
                                                                                          @[reducible, inline]
                                                                                          abbrev Prosody.Tree.ph (cs : List Tree) :

                                                                                          A phonological-phrase (φ) node over cs — interim, until Prosody.Phrase lands.

                                                                                          Equations
                                                                                          Instances For
                                                                                            theorem Prosody.Tree.recLeafBranch {motive : TreeProp} (leaf : ∀ (a : Constituent), a.isSyl = truemotive (RoseTree.node a [])) (branch : ∀ (a : Constituent) (cs : List Tree), ¬(a.isSyl = true cs = [])(∀ ccs, motive c)motive (RoseTree.node a cs)) (t : Tree) :
                                                                                            motive t

                                                                                            Leaf/branch induction on a prosodic tree. A σ-leaf is a base case; every other node — a foot, word, phrase, or degenerate/ill-formed node — is a branch, carrying the induction hypothesis over its children and the fact that it is not a σ-leaf. This is what lets proofs reduce the σ-leaf if the reader equations carry (via if_pos ⟨ha, rfl⟩ / if_neg hne) instead of splitting it.