Documentation

Linglib.Theories.Morphology.DM.Metathesis

Metathesis (Distributed Morphology) #

@cite{harris-halle-2005} @cite{arregi-nevins-2012} @cite{middleton-2026}

Metathesis is a postsyntactic operation that swaps the linear order of two adjacent terminals before Vocabulary Insertion. It is part of the linearization-and-after stage of the modular postsyntax of @cite{arregi-nevins-2012}: structural operations (Impoverishment) feed linear ones (Metathesis), not vice versa.

Like ImpoverishmentRule, a metathesis rule is keyed on a Neighborhood and carries a decidable condition. The structural change is to swap two distinguished feature types in the focus bundle: the rule names a pair of feature types and exchanges the positions of the first occurrences of each.

This file provides only the rule type, smart constructor, and applicator. The architectural claim that metathesis follows impoverishment is encoded in Theories/Morphology/DM/PostsyntacticDerivation.lean and verified against the Taos data in Phenomena/Allomorphy/Studies/Middleton2026.lean.

A Metathesis rule swaps the linear order of two feature types in the focus bundle when its condition holds.

swapFst and swapSnd name the two feature types (matched via FeatureVal.sameType) whose first occurrences in the focus should exchange positions. The directionality matches the Arregi & Nevins notation [[X] ⟩ ⟨ [Y]] / Z: read "swap X and Y in environment Z."

Instances For

    Build a metathesis rule from a Boolean condition over the focus bundle (paradigmatic-style — the most common case in the Taos rules of @cite{middleton-2026}, where the condition refers only to the feature inventory of the same node being reordered).

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

      Index of the first feature in fb whose type matches fv.

      Equations
      Instances For
        def Morphology.DM.Metathesis.swapAt {α : Type u_1} (l : List α) (i j : ) :
        List α

        Swap the elements at positions i and j in a list. Out-of-bounds indices leave the list unchanged.

        Equations
        Instances For

          Apply a metathesis rule at a neighborhood: when the condition holds, locate the first occurrences of swapFst and swapSnd in the focus and exchange their positions; otherwise return the focus unchanged.

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

            Apply a sequence of metathesis rules left-to-right. Each rule sees the focus as updated by prior rules; surrounding context is held fixed (one cycle of metathesis, in DM terms). Specializes the generic runChain from Impoverishment.lean.

            Equations
            Instances For
              theorem Morphology.DM.Metathesis.applyMetathesisChain_append (rs₁ rs₂ : List MetathesisRule) (n : Impoverishment.Neighborhood) :
              applyMetathesisChain (rs₁ ++ rs₂) n = applyMetathesisChain rs₂ { focus := applyMetathesisChain rs₁ n, leftCtx := n.leftCtx, rightCtx := n.rightCtx }

              applyMetathesisChain distributes over list concatenation.