Documentation

Linglib.Phonology.Segmental.ElementTheory

Element Theory #

In Element Theory a segment is built from six privative elements, |A I U ʔ H L|, rather than from binary features. A melodic expression is a set of elements, some of which are its heads, and a segment has one expression at each of its manner, place and laryngeal nodes. Expressions are ordered by containment, a headed element lying above its unheaded self, and they form a distributive lattice. Its join is the union by which elements combine, so that docking a floating expression onto a host is host ⊔ floating, and what a set of segments shares is their meet.

Main definitions #

Main results #

Implementation notes #

References #

The six elements #

The three fundamentals of spoken language to which the elements refer.

  • colour : Fundamental

    Colour, with |U| dark and |I| bright.

  • resonance : Fundamental

    Resonance, with |A| resonant and |ʔ| not.

  • frequency : Fundamental

    Frequency, with |L| low and |H| high.

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

      The two opposing values of a fundamental.

      Instances For
        @[instance_reducible]
        Equations
        def ElementTheory.instReprPolarity.repr :
        Polarity → ℕ → Std.Format
        Equations
        • One or more equations did not get rendered due to their size.
        Instances For

          The six privative elements.

          • A : Element

            The element |A| of aperture, a high first formant.

          • I : Element

            The element |I| of palatality, a high second formant.

          • U : Element

            The element |U| of labiality and velarity, a lowering of all formants.

          • glottal : Element

            The element |ʔ| of occlusion, an abrupt and sustained drop in amplitude.

          • H : Element

            The element |H| of noise, voicelessness and high tone, high-frequency energy.

          • L : Element

            The element |L| of nasality, voicing and low tone, low-frequency energy.

          Instances For
            @[instance_reducible]
            Equations
            def ElementTheory.instReprElement.repr :
            Element → ℕ → Std.Format
            Equations
            Instances For

              The elements are three antagonistic pairs, one for each fundamental, and each pair has a dark and a light member.

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

                The fundamental to which an element refers.

                Equations
                Instances For

                  The value that an element marks on its fundamental.

                  Equations
                  Instances For

                    A set of elements is antagonism-free if it holds at most one element of each antagonistic pair.

                    Equations
                    Instances For
                      @[instance_reducible]
                      Equations

                      A set of at most one element is antagonism-free.

                      Melodic expressions #

                      A melodic expression is a set of elements, some of which are its heads.

                      • elements : Finset Element

                        The elements of the expression.

                      • heads : Finset Element

                        The heads of the expression.

                      • heads_subset : self.heads ⊆ self.elements

                        The heads are among the elements.

                      Instances For
                        theorem ElementTheory.MR.ext_iff {x y : MR} :
                        x = y ↔ x.elements = y.elements ∧ x.heads = y.heads
                        theorem ElementTheory.MR.ext {x y : MR} (elements : x.elements = y.elements) (heads : x.heads = y.heads) :
                        x = y
                        def ElementTheory.MR.toProd (m : MR) :
                        Finset Element × Finset Element

                        An expression as the pair of its elements and its heads.

                        Equations
                        Instances For
                          @[instance_reducible]
                          Equations
                          @[instance_reducible]
                          Equations
                          theorem ElementTheory.MR.le_def {m₁ m₂ : MR} :
                          m₁ ≤ m₂ ↔ m₁.elements ⊆ m₂.elements ∧ m₁.heads ⊆ m₂.heads
                          @[instance_reducible]
                          instance ElementTheory.MR.instDecidableLE :
                          DecidableLE MR
                          Equations
                          @[instance_reducible]
                          instance ElementTheory.MR.instDecidableLT :
                          DecidableLT MR
                          Equations
                          • x✝¹.instDecidableLT x✝ = { decide := decide (x✝¹ ≤ x✝) && decide ¬x✝ ≤ x✝¹, reflects_decide := ⋯ }
                          @[instance_reducible]
                          Equations
                          @[instance_reducible]
                          Equations
                          @[instance_reducible]
                          instance ElementTheory.MR.instDistribLattice :
                          DistribLattice MR
                          Equations
                          • One or more equations did not get rendered due to their size.
                          @[instance_reducible]

                          The empty expression is least.

                          Equations
                          @[simp]
                          theorem ElementTheory.MR.sup_elements (m₁ m₂ : MR) :
                          (m₁ ⊔ m₂).elements = m₁.elements ∪ m₂.elements
                          @[simp]
                          theorem ElementTheory.MR.sup_heads (m₁ m₂ : MR) :
                          (m₁ ⊔ m₂).heads = m₁.heads ∪ m₂.heads
                          @[simp]
                          theorem ElementTheory.MR.inf_elements (m₁ m₂ : MR) :
                          (m₁ ⊓ m₂).elements = m₁.elements ∩ m₂.elements
                          @[simp]
                          theorem ElementTheory.MR.inf_heads (m₁ m₂ : MR) :
                          (m₁ ⊓ m₂).heads = m₁.heads ∩ m₂.heads
                          @[simp]

                          The simplex expression |e| is the element e alone, unheaded.

                          Equations
                          Instances For

                            The headed simplex expression is the element e alone, as head.

                            Equations
                            Instances For
                              @[simp]
                              theorem ElementTheory.MR.simplex_le_iff {m : MR} {e : Element} :
                              simplex e ≤ m ↔ e ∈ m.elements

                              An expression contains |e| just when e is one of its elements.

                              @[simp]
                              theorem ElementTheory.MR.headedSimplex_le_iff {m : MR} {e : Element} :
                              headedSimplex e ≤ m ↔ e ∈ m.heads

                              An expression contains headed |e| just when e is one of its heads.

                              A headed element properly contains its unheaded self.

                              Segments #

                              A segment has a melodic expression at each of its manner, place and laryngeal nodes, empty unless given.

                              • manner : MR

                                The expression at the manner node.

                              • place : MR

                                The expression at the place node.

                              • laryngeal : MR

                                The expression at the laryngeal node.

                              Instances For
                                theorem ElementTheory.Segment.ext {x y : Segment} (manner : x.manner = y.manner) (place : x.place = y.place) (laryngeal : x.laryngeal = y.laryngeal) :
                                x = y
                                theorem ElementTheory.Segment.ext_iff {x y : Segment} :
                                x = y ↔ x.manner = y.manner ∧ x.place = y.place ∧ x.laryngeal = y.laryngeal

                                A segment as the triple of the expressions at its nodes.

                                Equations
                                Instances For
                                  @[instance_reducible]
                                  Equations
                                  @[instance_reducible]
                                  Equations
                                  theorem ElementTheory.Segment.le_def {s₁ s₂ : Segment} :
                                  s₁ ≤ s₂ ↔ s₁.manner ≤ s₂.manner ∧ s₁.place ≤ s₂.place ∧ s₁.laryngeal ≤ s₂.laryngeal
                                  @[instance_reducible]
                                  Equations
                                  @[instance_reducible]
                                  Equations
                                  • x✝¹.instDecidableLT x✝ = { decide := decide (x✝¹ ≤ x✝) && decide ¬x✝ ≤ x✝¹, reflects_decide := ⋯ }
                                  @[instance_reducible]
                                  Equations
                                  • One or more equations did not get rendered due to their size.
                                  @[instance_reducible]
                                  Equations
                                  • One or more equations did not get rendered due to their size.
                                  @[instance_reducible]
                                  Equations
                                  • One or more equations did not get rendered due to their size.
                                  @[instance_reducible]

                                  The segment with every node empty is least.

                                  Equations
                                  @[simp]
                                  theorem ElementTheory.Segment.sup_manner (s₁ s₂ : Segment) :
                                  (s₁ ⊔ s₂).manner = s₁.manner ⊔ s₂.manner
                                  @[simp]
                                  theorem ElementTheory.Segment.sup_place (s₁ s₂ : Segment) :
                                  (s₁ ⊔ s₂).place = s₁.place ⊔ s₂.place
                                  @[simp]
                                  theorem ElementTheory.Segment.sup_laryngeal (s₁ s₂ : Segment) :
                                  (s₁ ⊔ s₂).laryngeal = s₁.laryngeal ⊔ s₂.laryngeal
                                  @[simp]
                                  theorem ElementTheory.Segment.inf_manner (s₁ s₂ : Segment) :
                                  (s₁ ⊓ s₂).manner = s₁.manner ⊓ s₂.manner
                                  @[simp]
                                  theorem ElementTheory.Segment.inf_place (s₁ s₂ : Segment) :
                                  (s₁ ⊓ s₂).place = s₁.place ⊓ s₂.place
                                  @[simp]
                                  theorem ElementTheory.Segment.inf_laryngeal (s₁ s₂ : Segment) :
                                  (s₁ ⊓ s₂).laryngeal = s₁.laryngeal ⊓ s₂.laryngeal
                                  @[simp]

                                  Well-formedness #

                                  A segment is well-formed if each node holds only elements that it hosts: |ʔ H L A| at the manner node, |I U A| at the place node and |L H| at the laryngeal node.

                                  Equations
                                  • One or more equations did not get rendered due to their size.
                                  Instances For
                                    @[instance_reducible]
                                    Equations
                                    • One or more equations did not get rendered due to their size.
                                    theorem ElementTheory.Segment.WellFormed.sup {s₁ s₂ : Segment} (h₁ : s₁.WellFormed) (h₂ : s₂.WellFormed) :
                                    (s₁ ⊔ s₂).WellFormed

                                    Docking preserves well-formedness.