Normal forms of autosegmental representations #
Every finite representation is isomorphic to its normal form: the same
representation reindexed onto the canonical vertex type (i : ι) × Fin nᵢ,
each tier fiber enumerated in ascending precedence order
(the fiber IsStrictTotalOrder instance → linearOrderOfSTO → monoEquivOfFin).
The normal form is an AR — not a separate carrier — and normalizeIso is
definitional: normalize pulls the graph back along the enumeration equivalence.
Main definitions #
AR.fiber,AR.fiberEnum,AR.vertexEquiv: the tier fibers of a finite representation and their canonical enumerations.AR.tierLength,AR.tierWord,AR.linkRel,AR.link: the tuple reading — per-tier sizes, label words, and position-coordinate links.AR.normalize: the normal form;AR.ofData: representations from tuple data.
Main results #
AR.normalizeIso:X.normalize ≅ X.AR.arcs_normalize,AR.edges_normalize: on normal forms the arcs are the ascending position order and the edges arelinkRel— [JH15]'s tiered presentation recovered as a theorem.AR.tierWord_tensor,AR.link_tensor: concatenation appends tier words and shifts links blockwise.AR.isoOfReaderEq:(tierWord, link)is a complete isomorphism invariant.
Representations over the sigma alphabet (i : ι) × τ i with its native tier
projection Sigma.fst — the coordinate carrier of the normal-form theory.
Equations
- Autosegmental.TieredAR ι τ = Autosegmental.AR Sigma.fst
Instances For
The vertices of X.obj labelled to tier i.
Equations
- Autosegmental.AR.fiber X i = { v : X.obj.V // (X.obj.label v).fst = i }
Instances For
The τ i component of a fiber element, extracted from the labeling by
transporting along the fiber's tier-membership witness.
Equations
- Autosegmental.AR.fiberLabel v = ⋯ ▸ (X.obj.label ↑v).snd
Instances For
The label of a fiber element decomposes as tier plus fiberLabel.
Classical linear order on the fiber, from IsStrictTotalOrder via
linearOrderOfSTO.
Equations
- Autosegmental.AR.fiber.instLinearOrder i = linearOrderOfSTO fun (a b : Autosegmental.AR.fiber X i) => X.obj.arcs.Adj ↑a ↑b
The number of tier-i vertices.
Equations
- Autosegmental.AR.tierLength X i = Fintype.card (Autosegmental.AR.fiber X i)
Instances For
The canonical ascending enumeration of a tier fiber.
Equations
- Autosegmental.AR.fiberEnum i = monoEquivOfFin (Autosegmental.AR.fiber X i) ⋯
Instances For
The canonical enumeration of a finite representation's vertex type: tier fibers in ascending precedence order, assembled over the tier index.
Equations
- Autosegmental.AR.vertexEquiv = (Equiv.sigmaCongrRight fun (i : ι) => (Autosegmental.AR.fiberEnum i).toEquiv).trans (Equiv.sigmaFiberEquiv fun (v : X.obj.V) => (X.obj.label v).fst)
Instances For
The tier-i label word: the fiber's labels read off in ascending precedence
order — the tier content the normal form canonicalizes.
Equations
- Autosegmental.AR.tierWord i = List.ofFn fun (p : Fin (Autosegmental.AR.tierLength X i)) => Autosegmental.AR.fiberLabel ((Autosegmental.AR.fiberEnum i) p)
Instances For
The link relation in position coordinates: tier-i position p associates
to tier-j position q. With tierWord, the complete tuple reading of a
finite representation.
Equations
- Autosegmental.AR.linkRel i j p q = X.obj.edges.Adj (Autosegmental.AR.vertexEquiv ⟨i, p⟩) (Autosegmental.AR.vertexEquiv ⟨j, q⟩)
Instances For
The normal form: X reindexed onto the canonical vertex type by pulling
edges, arcs, and labels back along vertexEquiv. A AR — the
normal form is not a separate kind of object.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The normal form is fully isomorphic to the original.
Equations
- Autosegmental.AR.normalizeFullIso = { toEquiv := Autosegmental.AR.vertexEquiv, edges_iff := ⋯, arcs_iff := ⋯, label_comp := ⋯ }
Instances For
On normal forms the edges are exactly linkRel.
On normal forms the arcs are the ascending position order.
Tier words of tensors #
Concatenation appends tier content: within a tier, the bridge arc puts every
left-factor vertex before every right-factor vertex, so the tensor's fiber is
the lexicographic sum of the factors' fibers and its ascending enumeration is
the two enumerations in sequence (Subsingleton (Fin n ≃o ·) — monotone
enumerations are unique).
A tensor's tier fiber splits as the sum of the factors' fibers.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The blockwise enumeration of a tensor's fiber: left factor first, then right — monotone because the bridge arc orders the blocks.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Any monotone enumeration computes the tier word.
Readers in ℕ coordinates #
link reads the link relation at plain ℕ positions (out-of-bounds positions
link to nothing); linearize is the two-tier phonetic reading. link_tensor
is the blockwise companion of tierWord_tensor.
Tier-i position p links to tier-j position q, in ℕ coordinates
(out-of-bounds positions link to nothing).
Equations
- Autosegmental.AR.link X i j p q = ∃ (hp : p < Autosegmental.AR.tierLength X i) (hq : q < Autosegmental.AR.tierLength X j), Autosegmental.AR.linkRel i j ⟨p, hp⟩ ⟨q, hq⟩
Instances For
The two-tier reading of tiers i over j: each tier-j position's label
paired with its linked tier-i labels in ascending order.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Link conditions are supported on the factor's tier ranges.
Tensor links are blockwise: within the left factor, or within the right factor shifted by the left factor's tier lengths — no cross-factor links.
Classification: the readers determine the representation #
Two finite representations with the same tier words and the same links are
isomorphic — (tierWord, link) is a complete invariant, [JH15]'s
tiered tuples as the classification of finite representations.
The label of a canonical vertex sits on its own tier.
The classification isomorphism as a full-structure Graph.Iso.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Finite representations with equal tier words and equal links are isomorphic; the tuple reading is a complete invariant.
Equations
Instances For
Building representations from tuple data #
The constructor inverse to the readers: tier words plus a position-coordinate link relation determine a representation on the canonical carrier. This is the tiered presentation as a function — the essential-surjectivity direction of the classification.
The representation presented by tier words ws and cross-tier links L
(positions in ℕ coordinates; same-tier and out-of-bounds pairs are
ignored, and same-tier links are excluded by construction). Arcs are the
ascending position order on each tier.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The canonical carrier's fiber at i is its position range.
Equations
- Autosegmental.AR.ofDataFiberEnum i = StrictMono.orderIsoOfSurjective (fun (p : Fin (ws i).length) => ⟨⟨i, p⟩, ⋯⟩) ⋯ ⋯
Instances For
ofData reads back its links, symmetrized, on in-bounds cross-tier
pairs.