Local autosegmental configurations #
The named building blocks of autosegmental representations. AR.junction as bs links
every melody node of as to every timing slot of bs; its planar specializations —
single, bare, float, contour, spread — are the local configurations of
autosegmental tonology, and concat-products of them build every representation in the
current tone studies (Studies/Jardine2016Tone, Studies/Jardine2017,
Studies/Jardine2019). Building through them (rather than raw structure literals)
carries the in-bounds proof at arbitrary alphabets, where the studies' by decide
cannot go, and gives every configuration a simp kit.
The keystone is isPlanar_junction_iff: a junction is planar iff one side has at most
one node, so among complete many-to-many associations the No-Crossing Constraint
([Gol76]) admits exactly the one-to-many (spread), many-to-one (contour)
and degenerate configurations. (Formaliser's synthesis: the literature treats the NCC
as a filter on representations, not as a characterisation of local generators.)
concat is the coproduct, so builder products reach exactly the block-diagonal link
relations; connected shared-node configurations (e.g. a spread-fed contour, H→μ₁ with
L→μ₁μ₂) are planar but not products. TODO: a gluing operation dual to concat
(identify a shared boundary slot) reaching them, with the completeness target every
planar AR is a concat/glue expression over the builders; at that point junction
becomes primary and the five kits derive from its (the
SimpleGraph.completeBipartiteGraph move).
Main definitions #
AR.junction— complete many-to-many association of a melody onto a slot sequence.AR.single,AR.bare,AR.float,AR.contour,AR.spread— the planar local configurations: one-to-one, toneless slot, floating autosegment ([Leb73]; the tier-with-floats object isFloating.lean), several nodes on one slot, one node over several slots.
Main results #
AR.isPlanar_junction_iff— NCC-planarity of a junction: one side is at most a singleton.AR.linearize_junction— every slot of a junction carries the whole melody.- Per-builder simp kits: tier projections (at the
LabeledTuplelevel, so.len,.toList,.get?follow from theofListkit), reduced link sets, linearization, planarity, and OCP-cleanliness.
The complete many-to-many association #
Complete many-to-many association: melody nodes as, timing slots bs, every node
linked to every slot. Planar only in the one-sided cases (isPlanar_junction_iff),
which carry the linguistic names below.
Equations
- Autosegmental.AR.junction as bs = { upper := LabeledTuple.ofList as, lower := LabeledTuple.ofList bs, links := Finset.range as.length ×ˢ Finset.range bs.length, inBounds := ⋯ }
Instances For
The No-Crossing Constraint selects the one-sided junctions: a complete
many-to-many association is planar iff one side has at most one node — the one-to-many
spread, the many-to-one contour, and their degenerate cases. Any 2×2 junction
contains the crossing pair (0,1), (1,0).
The planar local configurations #
One melody node linked to one timing slot.
Equations
- Autosegmental.AR.single a b = Autosegmental.AR.junction [a] [b]
Instances For
A bare (unassociated) timing slot.
Equations
- Autosegmental.AR.bare b = Autosegmental.AR.junction [] [b]
Instances For
A floating melody node: on the tier, linked to nothing ([Leb73]).
Equations
- Autosegmental.AR.float a = Autosegmental.AR.junction [a] []
Instances For
A contour: several melody nodes sharing one timing slot.
Equations
- Autosegmental.AR.contour as b = Autosegmental.AR.junction as [b]
Instances For
A spread: one melody node linked across several timing slots.
Equations
- Autosegmental.AR.spread a bs = Autosegmental.AR.junction [a] bs