Docs / Phonology / Autosegmental / Graph

Autosegmental representations as labeled mixed graphs

import Linglib.Phonology.Autosegmental.Graph · namespace Autosegmental

Jardine writes an autosegmental representation as a labeled mixed graph ⟨V, E, A, ℓ⟩: nodes, undirected association edges, directed arcs ordering each string, and a labeling, and the well-formedness axioms of his dissertation (§4.2) carve the representations out of these graphs. AR.toGraph reads a representation as such a graph, with the precedence order of each tier as its arcs. The reading satisfies Axioms 1–3, it is injective up to isomorphism, and every finite graph satisfying Axioms 1–3 is isomorphic to one; on it, Axioms 5 and 6 are the No-Crossing Constraint and the OCP of the representation.

Main definitions

Main results

Implementation notes

The axiom numbering follows the dissertation; Jardine and Heinz number the NCC and the OCP as 4 and 5 and have no saturation axiom. Saturation, Goldsmith's original well-formedness condition, is stated but never imposed. The arcs of AR.toGraph are the precedence order of each tier, transitively closed, so the OCP reads adjacency as the covering relation of the arcs. Jardine's 2019 graphs carry the successor relation instead (Fig. 4), and their subgraphs (Definition 3) are read in that signature, which AR.FactorEmbeds implements in position coordinates; such subgraph-based notions are sensitive to the signature, as Jardine's analysis of the logical complexity of these representations shows. Axiom 5 is Coleman and Local's definition of crossing lines (p. 304) as the dissertation adopts it, with strict precedence; Jardine and Heinz state their Axiom 4 with the reflexive order, which read literally forbids a node from linking to two others. Coleman and Local also argue (pp. 297–298) that the NCC amounts to graph planarity and so restricts nothing in multiplanar representations, the weaker reading that the 2019 paper sets aside (fn. 11).

TODO

  • The successor reading of a representation, with AR.FactorEmbeds as the connected subgraph embedding of the 2019 paper's Definition 3 in it.

References

Declarations

A labeled mixed graph: nodes, undirected association edges, directed order arcs, and a labeling (Jardine 2019's GR(Γ)).

structure GraphL76–86
(S : Type u_3) :
Type (max u_3 (u_4 + 1))
  • V : Type u_4

    The nodes.

  • edges : SimpleGraph self.V

    The undirected association edges (E).

  • arcs : Digraph self.V

    The directed order arcs (A).

  • label : self.V → S

    The labeling (ℓ).

Used by Graph.tier, Graph.Iso, Graph.Iso.refl, Graph.Iso.symm, Graph.Iso.trans, AR.toGraph, Graph.Fiber, Graph.Fiber.label, Graph.Fiber.label_eq, AR.isStrictTotalOrder_fiber, AR.fiberEnum, AR.arcs_fiberEnum_iff, AR.ofGraphWord, AR.ofGraphEquiv, AR.ofGraphEquiv_apply, AR.fst_label_ofGraphEquiv, AR.ofGraph, AR.ofGraphIso

An isomorphism of labeled mixed graphs: a bijection of nodes preserving and reflecting the edges and the arcs, and preserving the labels.

structure Graph.IsoL95–103
{S : Type u_1} (X : Graph S) (Y : Graph S) extends X.V ≃ Y.V :
Type (max u_3 u_4)

Built from

Used by Graph.Iso.refl, Graph.Iso.symm, Graph.Iso.trans, AR.nonempty_iso_toGraph_iff, AR.ofGraphIso

L105–107
L109–114
L116–121

The well-formedness axioms

The arcs A are tier-internal and strictly totally order each fiber of c (Axioms 1–2).

structure IsTierOrderedL131–136
{ι : Type u_2} {V : Type u_3} (A : Digraph V) (c : V → ι) extends IsStrictOrder V A.Adj :
  • irrefl (a : V) : ¬A.Adj a a
  • trans (a b c : V) : A.Adj a b → A.Adj b c → A.Adj a c
  • tier_eq ⦃v w : V⦄ : A.Adj v w → c v = c w

    Arcs never leave a tier.

  • total ⦃v w : V⦄ : v ≠ w → c v = c w → A.Adj v w ∨ A.Adj w v

    Distinct same-tier nodes are arc-comparable.

Used by AR.isTierOrdered_toGraph, AR.isStrictTotalOrder_fiber, AR.fiberEnum, AR.arcs_fiberEnum_iff, AR.ofGraphWord, AR.ofGraphEquiv, AR.ofGraphEquiv_apply, AR.fst_label_ofGraphEquiv, AR.ofGraph, AR.ofGraphIso

No two association edges straddle in opposite precedence order (Axiom 5, the No-Crossing Constraint).

def NoCrossingL144–147
{V : Type u_3} (E : SimpleGraph V) (A : Digraph V) :
  • NoCrossing E A = ∀ ⦃v v' w w' : V⦄, E.Adj v v' → E.Adj w w' → A.Adj v w → ¬A.Adj w' v'

Used by AR.noCrossing_toGraph_iff

Precedence-adjacent nodes on melody tier m bear distinct labels (Axiom 6, the OCP).

def IsOCPCleanL149–151
{S : Type u_1} {ι : Type u_2} {V : Type u_3} (A : Digraph V) (ℓ : V → S) (t : S → ι) (m : ι) :
  • IsOCPClean A ℓ t m = ∀ ⦃v w : V⦄, A.Adj v w → (∀ (u : V), ¬(A.Adj v u ∧ A.Adj u w)) → t (ℓ v) = m → ℓ v ≠ ℓ w

Used by AR.isOCPClean_toGraph_iff

The graph of a representation

The labeled mixed graph a representation denotes: its positions, its association lines, the precedence order of each tier, and the labels tagged with their tiers.

def AR.toGraphL165–171
{ι : Type u_2} {τ : ι → Type u_3} (X : AR τ) :
Graph ((i : ι) × τ i)
  • X.toGraph = { V := X.Pos, edges := X.assoc, arcs := { Adj := fun (v w : X.Pos) => v.fst = w.fst ∧ ↑v.snd < ↑w.snd }, label := fun (v : X.Pos) => ⟨v.fst, X.label v⟩ }

Built from

Used by AR.toGraph_arcs_adj, AR.isTierOrdered_toGraph, AR.noInternalAssoc_toGraph, AR.noCrossing_toGraph_iff, AR.toGraph_covBy_iff, AR.isOCPClean_toGraph_iff, AR.nonempty_iso_toGraph_iff, AR.ofGraphIso

L173–174

Isomorphic graphs come from equal representations

Every finite graph satisfying Axioms 1–3 is the graph of a representation

L330–335
L365–366
L368–371

The representation of a finite graph satisfying Axioms 1–3: the labels of each tier in arc order, and the association edges between the corresponding positions.

AR.ofGraphL381–392
noncomputable def Autosegmental.AR.ofGraph {ι : Type u_2} {τ : ι → Type u_3} (G : Graph ((i : ι) × τ i)) (h : IsTierOrdered G.arcs (Graph.tier Sigma.fst G)) [Finite G.V] (h₃ : NoInternalAssoc G.edges G.arcs) :
AR τ

The definition is too large to print here; read it in the source.

Built from , , ,

Used by AR.ofGraphIso

A finite graph satisfying Axioms 1–3 is the graph of its representation.

AR.ofGraphIsoL394–413
noncomputable def Autosegmental.AR.ofGraphIso {ι : Type u_2} {τ : ι → Type u_3} {G : Graph ((i : ι) × τ i)} (h : IsTierOrdered G.arcs (Graph.tier Sigma.fst G)) [Finite G.V] (h₃ : NoInternalAssoc G.edges G.arcs) :
(ofGraph G h h₃).toGraph.Iso G

Built from , , , , , , ,