Documentation

Linglib.Theories.Phonology.Autosegmental.RegisterTier

Tonal Root Nodes and Subtonal Features #

@cite{lionnet-2022} @cite{pulleyblank-1986} @cite{yip-1980} @cite{snider-1990} @cite{snider-1999} @cite{snider-2020} @cite{lionnet-2025}

Tone is paradigmatic. A Tonal Root Node (TRN) is a bundle of subtonal features [±upper] and [±raised] (@cite{yip-1980} @cite{pulleyblank-1986}), each of which links to a TBU (mora, syllable). This file follows @cite{lionnet-2022}'s reformulation of register-tier geometry: the four tier organisation (subtonal features → TRN → TBU) is shared with @cite{snider-1999}, but the features themselves are paradigmatic targets, not syntagmatic shifts.

Why paradigmatic, not syntagmatic #

@cite{snider-1999}'s h/l features are defined both paradigmatically (specifying register half) and syntagmatically ("higher / lower than the preceding register"). @cite{lionnet-2022} (§3) argues this dual definition is overloaded: the same feature does double duty as a representational primitive and as a phonological process trigger. Switching to purely paradigmatic [±upper]/[±raised] separates the two roles — the features are the representation, the operations (spreading, OCP merger, deletion) are the processes.

Geometry (@cite{lionnet-2022} ex. 52) #

    [±upper]    Register-half subtonal feature tier
    [±raised]   Within-register subtonal feature tier
       ○        Tonal Root Node (TRN) — bundles both features
       |
      TBU       Tone-bearing unit (mora / syllable)

A TRN is the structural node that gathers a [±upper] value and a [±raised] value and links them to a TBU. Either or both features may be underspecified (none), with surface values filled in by default.

Three-level systems and the Lionnet typology #

With binary [±upper] and [±raised], four full specifications are possible. @cite{lionnet-2022} (§4) observes that three-level tone systems pick three of these four, and the choice of which combination is the gap defines four typological classes:

This file provides the named TRNs for the Laal pattern (H, M, L), the register-only TRNs (empty, downstep, upstep) used by Drubea and Numèè (@cite{lionnet-2025}), and the typology of all four 3-tone systems.

Two realisation modes #

A TRN sequence can be realised as pitch in two ways:

  1. Paradigmatic (Laal-style, @cite{lionnet-2022}): each TRN's pitch is 2·[upper] + [raised], computed independently. No terracing. See TRN.absolutePitch.

  2. Terracing (Drubea/Numèè register-only systems, @cite{lionnet-2025}): each [-raised] shifts the running register baseline downward; [+raised] upward. Cumulative. See realizePitch.

The choice is a property of the language, not the representation. Drubea/Numèè are register-only systems where the only feature that ever varies is [raised] — Lionnet 2022's framework subsumes them as a degenerate case.

The two paradigmatic subtonal feature dimensions (@cite{lionnet-2022} ex. 52, after @cite{yip-1980}, @cite{pulleyblank-1986}).

  • upper: which register half (upper / lower)
  • raised: which target within the register (higher / lower)

Each takes a value in Bool: true ≡ +, false ≡ -. A subtonal feature is none (underspecified), some true (+), or some false (-).

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

      A Tonal Root Node: a structural node that bundles a [±upper] and a [±raised] subtonal-feature value and links them to a TBU.

      Either or both fields may be none (underspecified). For the register-only Drubea/Numèè system the upper field is uniformly none; for full 3-tone Laal both fields are usually specified.

      Implemented as a structure rather than FeatureBundle Subtonal Bool so that DecidableEq, BEq, and Repr derive automatically and so that decide-based proofs over concrete TRN literals reduce cleanly. The bundle view is recovered by TRN.toBundle.

      • upper : Option Bool
      • raised : Option Bool
      Instances For
        def Phonology.Autosegmental.RegisterTier.instDecidableEqTRN.decEq (x✝ x✝¹ : TRN) :
        Decidable (x✝ = x✝¹)
        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            @[implicit_reducible]

            Boolean equality on TRN as decidable equality, so that LawfulBEq holds. Required for simp-based reasoning over (t == t).

            Equations
            @[match_pattern]

            The empty / fully underspecified TRN. In the Drubea/Numèè register- only system, this is the registerless mora.

            Equations
            Instances For
              @[match_pattern]

              A floating [-raised] subtonal feature, no [upper] value. In the register-only system this is the downstep TRN: it lowers the running register baseline.

              Equations
              Instances For
                @[match_pattern]

                A floating [+raised] subtonal feature, no [upper] value. In the register-only system this is the upstep TRN — used by pre-downstep h-epenthesis (@cite{lionnet-2025}).

                Equations
                Instances For

                  The High tone of Laal-style 3-tone systems: [+upper, -raised] (@cite{lionnet-2022} §4). Highest pitch.

                  Equations
                  Instances For

                    The Mid tone of Laal-style 3-tone systems: [-upper, +raised] (@cite{lionnet-2022} §4). M is not primitive — it is one of the four [±u, ±r] combinations, derived from the binary subtonal features. The Lionnet move: there is no TRN.M enum constructor; M is just a name for a particular bundle.

                    Equations
                    Instances For

                      The Low tone of Laal-style 3-tone systems: [-upper, -raised] (@cite{lionnet-2022} §4). Lowest pitch.

                      Equations
                      Instances For

                        The fourth combination [+upper, +raised]unattested in Laal, where it is the gap of the 3-tone system (@cite{lionnet-2022} §4). Provided for typological completeness; an attested 4-tone language or a different 3-tone gap would use this.

                        Equations
                        Instances For

                          View a TRN as a FeatureBundle Subtonal Bool (the parametric foundation in Phonology.Featural.Bundle). The bundle algebra (merge, assimilate, delete, set, refines) is then directly available via this view.

                          Equations
                          Instances For

                            Syntagmatic register shift contributed by a TRN, used by the terracing realisation realizePitch. Reads only the [raised] subtonal feature: [-raised] lowers, [+raised] raises, underspecified is inert.

                            This is not the paradigmatic interpretation of [raised] (@cite{lionnet-2022} §3). It is the realisation pattern attested in register-only systems like Drubea and Numèè (@cite{lionnet-2025}), where each [-raised] triggers a downstep operation that resets the register baseline.

                            Equations
                            Instances For

                              Terracing realisation: realise a TRN sequence as a sequence of pitch levels, where each [-raised] cumulatively lowers the baseline (@cite{snider-1999} @cite{lionnet-2025}).

                              Used for register-only systems (Drubea, Numèè) and for catathesis in Japanese / English intonation (@cite{beckman-pierrehumbert-1986}). For the paradigmatic Laal-style realisation see TRN.absolutePitch.

                              Defined by direct case-split on the [raised] value so that realizePitch n [TRN.empty, …] reduces to n :: … definitionally (the alternative level + t.pitchEffect form does not reduce for opaque n : Int, since n + 0 = n is not definitional).

                              Equations
                              Instances For
                                @[simp]
                                theorem Phonology.Autosegmental.RegisterTier.realizePitch_cons (level : ) (t : TRN) (rest : List TRN) :
                                realizePitch level (t :: rest) = (level + t.pitchEffect) :: realizePitch (level + t.pitchEffect) rest

                                A uniform cons rewrite for realizePitch in terms of pitchEffect.

                                Pitch deltas — the theory-primary view (@cite{snider-1999} @cite{lionnet-2025}). Cumulative register shifts produced by a TRN sequence, expressed as integer offsets from the start. There is no privileged "zero" pitch; only the differences are meaningful.

                                Equations
                                Instances For
                                  theorem Phonology.Autosegmental.RegisterTier.realizePitch_eq_pitchDeltas_shift (n : ) (ts : List TRN) :
                                  realizePitch n ts = List.map (fun (x : ) => x + n) (pitchDeltas ts)

                                  realizePitch n ts is pitchDeltas ts shifted by the offset n.

                                  Utterance-initial phonetic neutralisation: an utterance-initial [-raised] TRN is realised at the starting pitch (no preceding register to contrast with — @cite{lionnet-2025} §3.5, §4.5). The feature is not removed from the underlying form: it remains phonologically active for blocking pre-downstep h-epenthesis on itself and for feeding raising on a following registerless TRN.

                                  Equations
                                  Instances For

                                    Paradigmatic Laal-style pitch realisation (@cite{lionnet-2022} §4). Pitch is computed from [upper] (×2) plus [raised] (×1), independently per TRN — no terracing, no register-baseline state.

                                    Unspecified features contribute 0. The four combinations give: H = 2, M = 1, L = 0, superHigh = 3 (Laal's gap).

                                    Equations
                                    Instances For

                                      The four typological classes of 3-tone systems (@cite{lionnet-2022} §4). Each class picks three of the four [±upper, ±raised] combinations; the unselected combination is the gap.

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

                                          The Laal-style 3-tone system gap is [+upper, +raised] (@cite{lionnet-2022} §4).

                                          The prosodic domain that carries TRN specifications. In most tone languages this is the syllable; in Drubea and Numèè it is the mora (@cite{lionnet-2025}).

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

                                              Word-prosodic system types (@cite{hyman-2006}, enriched by @cite{lionnet-2025}).

                                              Tone systems split into tone-based (paradigmatic — full TRN contrasts) and register-based (only [raised] varies, with cumulative terracing realisation).

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

                                                  Core definitional properties of downstep, following @cite{leben-2018} as refined by @cite{lionnet-2025}.

                                                  Properties (a)–(c) are definitional; (d)–(f) are cross-linguistic tendencies that need not hold in every system.

                                                  • affectsDomain : Bool

                                                    (a) Affects the entire prosodic domain, not just a single tone.

                                                  • changesRegister : Bool

                                                    (b) Changes the register for what follows.

                                                  • isCumulative : Bool

                                                    (c) Cumulative: multiple downsteps stack (unlimited in principle).

                                                  • uttInitialNeutral : Bool

                                                    (d) Utterance-initially, no phonetic contrast with undownstepped.

                                                  • characteristicallyAffectsH : Bool

                                                    (e) Characteristically affects H tones.

                                                  • functionsContrastively : Bool

                                                    (f) Functions contrastively (phonological, syntactic, morphophonological, or lexical).

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

                                                      Inventory of primitives in a phonological analysis (@cite{lionnet-2025}).

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

                                                            Register culminativity: at most one [-raised] TRN per stem.

                                                            Holds for all native Drubea and Numèè stems (@cite{lionnet-2025} §3.10). The Lionnet 2022 framing: a stem contains at most one bundle whose [raised] value is some false.

                                                            Equations
                                                            Instances For

                                                              Pre-downstep h-epenthesis (@cite{lionnet-2025}): insert an upstep TRN immediately before a downstep, on a registerless host.

                                                              The rule fires when an empty (⟨none, none⟩) TRN is immediately followed by a downstep TRN (⟨none, some false⟩); the empty TRN is replaced by an upstep (⟨none, some true⟩). An underlying downstep blocks the rule on itself — that is the diagnostic that survives utterance-initial phonetic neutralisation.

                                                              Equations
                                                              Instances For

                                                                Spreading h-epenthesis: raise all registerless TRNs in the sequence preceding a downstep, not just the immediately preceding one (@cite{lionnet-2025} §3.2). Models the abrupt-spreading variant.

                                                                Equations
                                                                Instances For

                                                                  Subtonal assimilation at feature f: the target TRN takes its value at f from the source TRN, leaving its other feature untouched. The Laal M-lowering rule (@cite{lionnet-2022} §5.2) is subtonalAssimilate Subtonal.raised src tgt: a [-raised] value spreads from src to tgt, so a target M (⟨-u, +r⟩) becomes L (⟨-u, -r⟩) without altering its [upper] value.

                                                                  Equations
                                                                  Instances For

                                                                    OCP merger: collapse a sequence of TRNs with identical subtonal feature values into a single multiply-linked TRN (@cite{lionnet-2022} ex. 53–54). The Bundle-level merger (FeatureBundle.merge) takes the value from the left TRN where it is specified, falling back to the right.

                                                                    Two readings of the OCP — note on theoretical heterogeneity. The autosegmental tradition (@cite{goldsmith-1976}) treats the OCP as a transformation — adjacent identical autosegments at the melodic level are merged into a single multiply-linked autosegment. That is the reading mergeTRN implements: a repair operation. The subregular tradition (@cite{mccarthy-1986}) treats the OCP as a prohibition — a constraint on output well-formedness that rejects strings containing adjacent identical autosegments. The prohibition reading is formalized by Phonology.Subregular.OCP's TSLGrammar.ocp (Core/Computability/Subregular/ForbiddenPairs.lean plus Theories/Phonology/Subregular/OCP.lean) and the OT-side mkOCPOnTier constraint. The two readings are operationally distinct (transformation vs. language-membership predicate) and coexist in linglib without a master bridge — the autosegmental formalization fixes a representation, the subregular formalization classifies a stringset.

                                                                    Equations
                                                                    Instances For

                                                                      TRN-level deletion (@cite{lionnet-2022} §6.2): delete a TRN's contribution at one subtonal feature, returning to underspecified. Used in replaceness operations where a TRN is partially erased before a floating feature docks.

                                                                      Equations
                                                                      Instances For

                                                                        Floating-feature docking (@cite{lionnet-2022} §5.3): a free [±f] subtonal feature docks onto a target TRN, overwriting whatever value it had at f. Used for the morphosyntactic [-raised] suffix in Laal that triggers M-lowering.

                                                                        Equations
                                                                        Instances For

                                                                          The Laal H/M/L tones are exactly three of the four binary [±u, ±r] combinations — the gap is superHigh.

                                                                          M-lowering as [-raised] assimilation (@cite{lionnet-2022} §5.2). When a [-raised] source assimilates onto an M target, the result is L: M's [+raised] is overwritten to [-raised], and its [-upper] is preserved.

                                                                          Critically, the [upper] feature is not changed — this is what makes the operation subtonal-level rather than full-tone replacement.

                                                                          The same operation has no effect when the source itself is M: assimilating [+raised] onto M leaves M unchanged.

                                                                          Floating [-raised] docking onto M produces L (@cite{lionnet-2022} §5.3): the morphosyntactic suffix is a free floating feature that overwrites the target's [raised] value.

                                                                          Registerless sequences have uniform pitch.

                                                                          A single downstep lowers pitch by one step.

                                                                          theorem Phonology.Autosegmental.RegisterTier.terracing (n : ) :
                                                                          realizePitch n [TRN.downstep, TRN.downstep, TRN.downstep] = [n - 1, n - 1 - 1, n - 1 - 1 - 1]

                                                                          Multiple downsteps produce cumulative terracing.

                                                                          Deltas-only view of three downsteps: pitch falls by 1, 2, 3 register steps from the start. No anchor required.

                                                                          Concrete terracing from offset 4 (mid-high on the 1–5 scale).

                                                                          h-epenthesis + realisation: the raised TRN is higher than baseline.

                                                                          An underlying downstep blocks h-epenthesis on itself: the rule only targets registerless TRNs immediately preceding a downstep. This is what the underlying initial downstep (preserved by realizePitchUtterance) buys us — the contrast /X ⁺Y/ (raises X) vs /⁺X ⁺Y/ (no raising on ⁺X) survives even when the initial X is utterance-initial and phonetically flat.

                                                                          Phonetic suppression of an utterance-initial downstep: the realized pitch sequence starts flat, indistinguishable from a registerless initial.

                                                                          The phonetic neutralisation is only utterance-initial: a non-initial downstep still drops pitch, even after the suppression rule fires.

                                                                          Underlying culminativity is preserved under utterance-initial suppression: an initial downstep still counts toward the stem-level [-raised] budget. The phonetic interface does not delete it.

                                                                          Non-culminativity: two [-raised] TRNs violate culminativity.

                                                                          TRN-level pitch-effect ordering: t₁ ≤ t₂ iff t₁ has a smaller syntagmatic pitch effect than t₂. Equivalent to "t₁ is at least as lowering as t₂".

                                                                          Equations
                                                                          Instances For
                                                                            theorem Phonology.Autosegmental.RegisterTier.realizePitch_baseline_mono (ts : List TRN) {n m : } (h : n m) :
                                                                            List.Forall₂ (fun (x1 x2 : ) => x1 x2) (realizePitch n ts) (realizePitch m ts)

                                                                            Monotonicity of realizePitch in the baseline: a higher starting pitch produces pointwise higher output for any fixed TRN sequence.

                                                                            Structural basis for catathesis blocking (@cite{beckman-pierrehumbert-1986}): when an ip boundary resets the register, subsequent pitches are higher than if catathesis had continued from a compressed baseline.

                                                                            theorem Phonology.Autosegmental.RegisterTier.realizePitch_mono {ts₁ ts₂ : List TRN} (hts : List.Forall₂ TRN.le ts₁ ts₂) {n m : } (hnm : n m) :
                                                                            List.Forall₂ (fun (x1 x2 : ) => x1 x2) (realizePitch n ts₁) (realizePitch m ts₂)

                                                                            Full monotonicity of realizePitch: pointwise lowering features plus a lower baseline give pointwise lower output. Subsumes realizePitch_baseline_mono.