Documentation

Linglib.Morphology.Morphotactics.Association

The association conventions #

This file defines the universal conventions that associate the melodic elements of a tier with the slots of a template, as [McC81] states them after [CF79]. First, the unassociated melodic elements associate one to one, from left to right, with the free slots. Second, a single unassociated melodic element that remains associates with every free slot. Third, a slot still free takes the melodic element on the nearest slot to its left. A slot with a line from any tier is unavailable to every other tier, the prohibition against many-to-one association. A language-particular rule that erases a line is followed by the conventions again, which restore or respread it.

Main definitions #

Main results #

References #

def Morphology.TemplateMatch.bearers {α : Type u_1} (m : TemplateMatch α) (s : AssocSource) :
List ℕ

The slots that bear a tier's melody: the V-slots for the vocalism, the C-slots for the root and the affixes.

Equations
Instances For
    def Morphology.TemplateMatch.IsFilled {α : Type u_1} (m : TemplateMatch α) (i : ℕ) :
    Bool

    Whether some line reaches a slot, from any tier.

    Equations
    Instances For
      def Morphology.TemplateMatch.IsAssociated {α : Type u_1} (m : TemplateMatch α) (s : AssocSource) (k : ℕ) :
      Bool

      Whether some line leaves a melodic element of a tier.

      Equations
      Instances For

        The unassociated elements of a tier, left to right.

        Equations
        Instances For
          def Morphology.TemplateMatch.freeBearers {α : Type u_1} (m : TemplateMatch α) (s : AssocSource) :
          List ℕ

          The free slots that bear a tier's melody, left to right: a slot with a line from any tier is unavailable.

          Equations
          Instances For
            def Morphology.TemplateMatch.leftLine {α : Type u_1} (m : TemplateMatch α) (s : AssocSource) (i : ℕ) :

            The line of a tier on the nearest slot left of i that has one.

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

              The first convention: the unassociated melodic elements associate one to one, from left to right, with the free slots.

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

                The second convention: a single unassociated melodic element associates with every free slot. After the first convention no element is left with a free slot, so this changes only a match the first has not been applied to.

                Equations
                Instances For

                  The third convention: a free slot takes the melodic element of the tier on the nearest slot to its left.

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

                    The three conventions, in order.

                    Equations
                    Instances For

                      Relabeling #

                      @[simp]
                      theorem Morphology.TemplateMatch.unassociated_map {α : Type u_1} {β : Type u_2} (m : TemplateMatch α) (s : AssocSource) (f : α → β) :
                      @[simp]
                      theorem Morphology.TemplateMatch.freeBearers_map {α : Type u_1} {β : Type u_2} (m : TemplateMatch α) (s : AssocSource) (f : α → β) :
                      theorem Morphology.TemplateMatch.associateOneToOne_map {α : Type u_1} {β : Type u_2} (m : TemplateMatch α) (s : AssocSource) (f : α → β) :
                      theorem Morphology.TemplateMatch.associateRemaining_map {α : Type u_1} {β : Type u_2} (m : TemplateMatch α) (s : AssocSource) (f : α → β) :
                      theorem Morphology.TemplateMatch.spread_map {α : Type u_1} {β : Type u_2} (m : TemplateMatch α) (s : AssocSource) (f : α → β) :
                      (m.map f).spread s = (m.spread s).map f
                      theorem Morphology.TemplateMatch.associate_map {α : Type u_1} {β : Type u_2} (m : TemplateMatch α) (s : AssocSource) (f : α → β) :
                      (m.map f).associate s = (m.associate s).map f

                      The conventions never look at the melodic elements.