Documentation

Linglib.Phonology.Harmony.Basic

Vowel harmony: pattern-level vocabulary #

The theory-neutral vocabulary of vowel harmony, anchored on [RvdH24b]: the typological enums and Pattern, the descriptive object mechanisms derive. At a finite alphabet a pattern presents a TSL₂ grammar (Pattern.harmonic_iff_mem_tsl). Segment-level participation cannot express parasitic harmony ((8b)) or configuration-dependent blocking (Yakut); those need the general forbidden-pairs machinery.

Main definitions #

Main results #

How a segment participates in harmony ([RvdH24b] §1.3).

  • participating : Participation

    Alternates and propagates.

  • transparent : Participation

    Skipped harmlessly (neutral).

  • opaque : Participation

    Does not undergo; imposes its value on what follows ((8c)).

  • icyTarget : Participation

    Undergoes without passing on ([jurgec-2011]'s absorbing vowels).

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

      Direction of the agreement relation ([RvdH24b] §1.2.3).

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

          Who determines the harmonic value ([RvdH24b] §1.2.4).

          • rootControlled {V : Type u} : ControlType V

            Roots do not alternate; affixes harmonize to them (morphologically determined).

          • dominantRecessive {V : Type u} (dominant : V) : ControlType V

            A designated value wins regardless of position (phonologically determined).

          • affixControlled {V : Type u} : ControlType V

            Posed as an open question by the chapter: metaphony and umlaut, where stress attracts the harmonic value.

          Instances For
            def Phonology.Harmony.instDecidableEqControlType.decEq {V✝ : Type u_1} [DecidableEq V✝] (x✝ x✝¹ : ControlType V✝) :
            Decidable (x✝ = x✝¹)
            Equations
            Instances For
              def Phonology.Harmony.instReprControlType.repr {V✝ : Type u_1} [Repr V✝] :
              ControlType V✝Std.Format
              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                @[implicit_reducible]
                instance Phonology.Harmony.instReprControlType {V✝ : Type u_1} [Repr V✝] :
                Repr (ControlType V✝)
                Equations

                The domain delimiting harmony ([RvdH24b] §1.2.2).

                • root : Domain
                • stem : Domain
                • stemAndFirstAffix : Domain

                  Bounded bisyllabic agreement: the stem-final vowel and first suffix vowel only.

                • word : Domain
                • foot : Domain

                  As in metaphony and umlaut.

                • phrase : Domain

                  Post-lexical harmony.

                Instances For
                  @[implicit_reducible]
                  Equations
                  def Phonology.Harmony.instReprDomain.repr :
                  DomainStd.Format
                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For

                    The feature types of [RvdH24b] §1.5; tonal harmony is unattested.

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

                        Patterns and their surface semantics #

                        The descriptive object every mechanism must derive: harmony creates likeness among the participating vowels of a domain ((2) of [RvdH24b]). The undergoer/blocker/transparent decomposition follows [ARGH24]: transparent segments are skipped; opaque blockers do not undergo but impose their transmitted value on what follows ((8c)); icy targets undergo without passing on ([jurgec-2011]).

                        structure Phonology.Harmony.Pattern (α : Type u) (V : Type v) :
                        Type (max u v)

                        A harmony pattern over segment type α with harmonic values in V.

                        • value : αOption V

                          The valuation; none = no harmonic counterpart. For opaque and icy segments, the value transmitted (not necessarily the phonetic one).

                        • participation : αParticipation

                          Stored independently of the valuation: neutral vowels' transparent-vs-opaque behavior is not predictable (§1.3.2). Discipline: value s = none → participation s ≠ .participating.

                        • direction : Direction
                        • domain : Domain
                        • control : ControlType V
                        Instances For
                          def Phonology.Harmony.Pattern.AgreeOn {α : Type u} {V : Type v} (p : Pattern α V) (w : List α) :

                          Pairwise agreement in harmonic value.

                          Equations
                          Instances For
                            def Phonology.Harmony.Pattern.OnTier {α : Type u} {V : Type v} (p : Pattern α V) (s : α) :

                            Tier membership: everything but transparent segments.

                            Equations
                            Instances For
                              @[implicit_reducible]
                              instance Phonology.Harmony.instDecidablePredOnTier {α : Type u} {V : Type v} (p : Pattern α V) :
                              DecidablePred p.OnTier
                              Equations
                              def Phonology.Harmony.Pattern.tier {α : Type u} {V : Type v} (p : Pattern α V) (w : List α) :
                              List α

                              The harmonic tier of a string.

                              Equations
                              • p.tier w = List.filter (fun (s : α) => decide (p.OnTier s)) w
                              Instances For
                                def Phonology.Harmony.Pattern.Compatible {α : Type u} {V : Type v} (p : Pattern α V) (a b : α) :

                                Adjacent compatibility, left to right: an opaque right member is exempt (blockers do not undergo), an icy left member is exempt (no passing on); otherwise the values agree. Deliberately asymmetric.

                                Equations
                                Instances For
                                  @[implicit_reducible]
                                  instance Phonology.Harmony.instDecidableRelCompatibleOfDecidableEq {α : Type u} {V : Type v} [DecidableEq V] (p : Pattern α V) :
                                  DecidableRel p.Compatible
                                  Equations
                                  def Phonology.Harmony.Pattern.Harmonic {α : Type u} {V : Type v} (p : Pattern α V) (w : List α) :

                                  Surface harmonicity: the tier is a chain of compatible segments.

                                  Equations
                                  Instances For
                                    @[implicit_reducible]
                                    instance Phonology.Harmony.instDecidableHarmonicOfDecidableEq {α : Type u} {V : Type v} [DecidableEq V] (p : Pattern α V) (w : List α) :
                                    Decidable (p.Harmonic w)
                                    Equations
                                    theorem Phonology.Harmony.Pattern.harmonic_insert_transparent {α : Type u} {V : Type v} {p : Pattern α V} {t : α} (w₁ w₂ : List α) (ht : p.participation t = Participation.transparent) :
                                    p.Harmonic (w₁ ++ t :: w₂) p.Harmonic (w₁ ++ w₂)

                                    Transparency interrupts harmlessly ([RvdH24b] §1.3.2).

                                    theorem Phonology.Harmony.Pattern.harmonic_iff_agreeOn {α : Type u} {V : Type v} {p : Pattern α V} {w : List α} (h : ∀ (s : α), s wp.participation s = Participation.participating) :
                                    p.Harmonic w p.AgreeOn (p.tier w)

                                    With all segments participating, the chain and pairwise formulations coincide (value-agreement is transitive).