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 #
ElementTheory.Element,ElementTheory.Element.gridEquiv: the six elements, which are three antagonistic pairs with a dark and a light member each.ElementTheory.Element.AntagonismFree: a set of elements holding at most one of each pair.ElementTheory.MR: a melodic expression.ElementTheory.Segment: an expression at each node.ElementTheory.Segment.WellFormed: each node holds only elements that it hosts.
Main results #
ElementTheory.MR.simplex_lt_headedSimplex: a headed element properly contains its unheaded self.ElementTheory.Segment.WellFormed.sup: docking preserves well-formedness.
Implementation notes #
- The heads of an expression are a set of its elements, so that the rival conditions on heads
are predicates on one type. Most versions of the theory allow an expression one head,
m.heads.card ≤ 1. Backley's later proposal allows one for each fundamental,Element.AntagonismFree m.heads, which the former implies (Element.AntagonismFree.of_card_le_one). - Antagonism is a predicate and not a condition on expressions, since languages differ in which antagonistic pairs they let combine.
- The inventory, the pairs and the fundamentals are Backley's, and the three nodes with the elements they host follow Harris as Cavirani and Vanden Wyngaerd adopt them.
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
Equations
- ElementTheory.instDecidableEqFundamental x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- ElementTheory.instReprFundamental = { reprPrec := ElementTheory.instReprFundamental.repr }
Equations
- One or more equations did not get rendered due to their size.
Instances For
The two opposing values of a fundamental.
Instances For
Equations
- ElementTheory.instDecidableEqPolarity x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- ElementTheory.instReprPolarity = { reprPrec := ElementTheory.instReprPolarity.repr }
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
Equations
- ElementTheory.instDecidableEqElement x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- One or more equations did not get rendered due to their size.
- ElementTheory.instReprElement.repr ElementTheory.Element.A prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "ElementTheory.Element.A")).group prec✝
- ElementTheory.instReprElement.repr ElementTheory.Element.I prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "ElementTheory.Element.I")).group prec✝
- ElementTheory.instReprElement.repr ElementTheory.Element.U prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "ElementTheory.Element.U")).group prec✝
- ElementTheory.instReprElement.repr ElementTheory.Element.H prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "ElementTheory.Element.H")).group prec✝
- ElementTheory.instReprElement.repr ElementTheory.Element.L prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "ElementTheory.Element.L")).group prec✝
Instances For
Equations
- ElementTheory.instReprElement = { reprPrec := ElementTheory.instReprElement.repr }
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
- e.fundamental = (ElementTheory.Element.gridEquiv e).1
Instances For
The value that an element marks on its fundamental.
Equations
- e.polarity = (ElementTheory.Element.gridEquiv e).2
Instances For
A set of elements is antagonism-free if it holds at most one element of each antagonistic pair.
Equations
- ElementTheory.Element.AntagonismFree s = Set.InjOn ElementTheory.Element.fundamental ↑s
Instances For
Equations
- ElementTheory.Element.instDecidableAntagonismFree s = { decide := decide (Multiset.map ElementTheory.Element.fundamental s.val).Nodup, reflects_decide := ⋯ }
A set of at most one element is antagonism-free.
Melodic expressions #
Equations
Equations
- ElementTheory.MR.instLE = { le := fun (m₁ m₂ : ElementTheory.MR) => m₁.elements ⊆ m₂.elements ∧ m₁.heads ⊆ m₂.heads }
Equations
- ElementTheory.MR.instLT = { lt := fun (m₁ m₂ : ElementTheory.MR) => m₁ ≤ m₂ ∧ ¬m₂ ≤ m₁ }
Equations
- x✝¹.instDecidableLE x✝ = decidable_of_iff' (x✝¹.elements ⊆ x✝.elements ∧ x✝¹.heads ⊆ x✝.heads) ⋯
Equations
- x✝¹.instDecidableLT x✝ = { decide := decide (x✝¹ ≤ x✝) && decide ¬x✝ ≤ x✝¹, reflects_decide := ⋯ }
Equations
- ElementTheory.MR.instMax = { max := fun (m₁ m₂ : ElementTheory.MR) => { elements := m₁.elements ∪ m₂.elements, heads := m₁.heads ∪ m₂.heads, heads_subset := ⋯ } }
Equations
- ElementTheory.MR.instMin = { min := fun (m₁ m₂ : ElementTheory.MR) => { elements := m₁.elements ∩ m₂.elements, heads := m₁.heads ∩ m₂.heads, heads_subset := ⋯ } }
Equations
- One or more equations did not get rendered due to their size.
The empty expression is least.
Equations
- ElementTheory.MR.instOrderBot = { bot := { elements := ∅, heads := ∅, heads_subset := ElementTheory.MR.instOrderBot._proof_1 }, bot_le := ElementTheory.MR.instOrderBot._proof_2 }
The simplex expression |e| is the element e alone, unheaded.
Equations
- ElementTheory.MR.simplex e = { elements := {e}, heads := ∅, heads_subset := ⋯ }
Instances For
The headed simplex expression is the element e alone, as head.
Equations
- ElementTheory.MR.headedSimplex e = { elements := {e}, heads := {e}, heads_subset := ⋯ }
Instances For
An expression contains headed |e| just when e is one of its heads.
A headed element properly contains its unheaded self.
Segments #
Equations
Equations
- ElementTheory.Segment.instLE = { le := fun (s₁ s₂ : ElementTheory.Segment) => s₁.manner ≤ s₂.manner ∧ s₁.place ≤ s₂.place ∧ s₁.laryngeal ≤ s₂.laryngeal }
Equations
- ElementTheory.Segment.instLT = { lt := fun (s₁ s₂ : ElementTheory.Segment) => s₁ ≤ s₂ ∧ ¬s₂ ≤ s₁ }
Equations
- x✝¹.instDecidableLT x✝ = { decide := decide (x✝¹ ≤ x✝) && decide ¬x✝ ≤ x✝¹, reflects_decide := ⋯ }
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
The segment with every node empty is least.
Equations
- ElementTheory.Segment.instOrderBot = { bot := { }, bot_le := ElementTheory.Segment.instOrderBot._proof_1 }
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
Equations
- One or more equations did not get rendered due to their size.
Docking preserves well-formedness.