Autosegmental Representations #
@cite{goldsmith-1976} @cite{sagey-1986}
Autosegmental phonology adds feature sharing to segmental
representations: when adjacent segments share a geometric node's features, they
are linked to a single autosegmental element on that node's tier. This module
builds on the feature geometry (FeatureGeometry.lean) and segment type
(Features.lean) to provide feature agreement predicates,
autosegmental representations with consistency checking, spread/delink
operations, and a temporal derivation of the no-crossing constraint
(@cite{sagey-1986} §5.3) including the negative argument against
simultaneity (§5.2.2).
Do s1 and s2 agree on all features dominated by node n?
Equations
- Phonology.Autosegmental.agreeAt s1 s2 n = n.features.all fun (f : Phonology.Feature) => s1.spec f == s2.spec f
Instances For
Place assimilation: agreement on all place features.
Equations
Instances For
Total assimilation: agreement on all supralaryngeal features.
Equations
Instances For
Segments at positions left and left + 1 share all features
dominated by node.
- left : ℕ
- node : FeatureGeometry.GeomNode
Instances For
Equations
- Phonology.Autosegmental.instDecidableEqSharing.decEq { left := a, node := a_1 } { left := b, node := b_1 } = if h : a = b then h ▸ if h : a_1 = b_1 then h ▸ isTrue ⋯ else isFalse ⋯ else isFalse ⋯
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
An autosegmental representation: a sequence of segments with an explicit record of which adjacent pairs share features under which geometric nodes.
Instances For
Are all sharing specifications within bounds?
Equations
Instances For
Is each sharing specification consistent with the segments' feature values?
Equations
- One or more equations did not get rendered due to their size.
Instances For
Spread node n rightward from position pos.
Equations
Instances For
Remove sharing at position pos for node n.
Equations
Instances For
Replace all features under geometric node n in tgt with src's values.
This models autosegmental node replacement: when a place node spreads,
the entire node (including unspecified features) is copied, not just
the specified ones.
Equations
- Phonology.Autosegmental.copyFeaturesUnder tgt src n = { spec := fun (f : Phonology.Feature) => if decide (f.DominatedBy n) = true then src.spec f else tgt.spec f }
Instances For
Spread node n from position pos + 1 onto position pos, replacing
the target's features under n with the trigger's values and recording
the sharing link.
Equations
- One or more equations did not get rendered due to their size.
Instances For
After copying features under node n, the result agrees with the source
at that node.
Agreement is reflexive.
Place assimilation checks 14 features (the place node's natural class).
Total assimilation checks 16 features (the supralaryngeal node's natural class, including [nasal] via the soft palate node).
Spreading and then delinking returns the original representation when the position/node pair was not already present in the sharing list.
Temporal derivation of the No-Crossing Constraint #
@cite{sagey-1986} §5.3 derives the ban on crossing association lines from temporal precedence rather than stipulating it as a well-formedness condition.
The key move is choosing the right temporal relation for association lines.
Simultaneity (identity of time points) is too strong — it predicts that
contour segments and geminates are impossible, since two distinct elements
cannot both be identical to the same time point (§5.2.2). Overlap is the
correct relation: it is reflexive and symmetric but crucially NOT transitive
(Interval.overlaps_not_transitive), which is what allows the NCC proof to
go through via a contradiction chain (§5.2.3, fn. 6).
The derivation (§5.3, p.294): if timing₁ ≺ timing₂ on the timing tier but melody₂ ≺ melody₁ on the melody tier, the overlap requirements on valid associations produce a chain melody₂.finish < melody₁.start ≤ timing₁.finish < timing₂.start ≤ melody₂.finish — a contradiction. Crossing is therefore logically impossible for valid associations.
This section formalizes the derivation using Core.Time.Interval for
temporal intervals and its precedes/overlaps relations.
A position on an autosegmental tier, occupying a temporal interval.
- interval : Core.Time.Interval T
Instances For
An association between a timing-tier position and a melody-tier position. An association line represents temporal overlap: the melody element is realized during the timing position's interval.
- timing : TierPosition T
- melody : TierPosition T
Instances For
Association validity: the timing and melody intervals must overlap. This is the phonetic grounding — an association line means the melodic content is realized during the timing slot.
Instances For
Simultaneity contradicts contours (@cite{sagey-1986} §5.2.2): if association required temporal identity (simultaneity), contour segments — two distinct melody elements F ≠ G associated to the same timing position x — would be impossible, since F = x and G = x imply F = G by transitivity. This is Sagey's negative argument for why association must be overlap, not identity.
Two associations cross iff their timing positions are ordered one way but their melody positions are ordered the other way. Crossing(a₁, a₂) ≡ timing₁ ≺ timing₂ ∧ melody₂ ≺ melody₁.
Equations
Instances For
No-Crossing Constraint (@cite{sagey-1986} §5.3, @cite{goldsmith-1976}): Two valid associations cannot cross.
If timing₁ ≺ timing₂, then timing₁.finish < timing₂.start. Validity requires timing₁ overlaps melody₁ and timing₂ overlaps melody₂. If melodies also cross (melody₂ ≺ melody₁), then melody₂.finish < melody₁.start.
From timing₁ overlaps melody₁: melody₁.start ≤ timing₁.finish. From timing₂ overlaps melody₂: timing₂.start ≤ melody₂.finish.
Chaining: melody₂.finish < melody₁.start ≤ timing₁.finish < timing₂.start ≤ melody₂.finish. This gives melody₂.finish < melody₂.finish — a contradiction.
Crossing is also impossible in the symmetric direction: if timing₂ ≺ timing₁ and melody₁ ≺ melody₂, the same contradiction arises.
A geminate consonant: two adjacent timing positions associated to a single melodic element. The melodic element's interval spans both timing slots.
Example: /t/ linked to two C-slots in [atta].
C-tier: C₁ C₂
\ /
melody: t
Equations
- One or more equations did not get rendered due to their size.
Instances For
A contour tone: one timing position associated to two tonal elements sequenced within it. The two tonal elements occupy sub-intervals.
Example: falling tone HL on a single syllable.
timing: σ
/ \
tone: H L
Equations
- One or more equations did not get rendered due to their size.