MerLean-example

16 Def 6: Cycle-Sparsified Graph

This chapter formalizes the cycle-sparsification construction for a graph \(G\) with a chosen generating set of cycles. The construction builds \(R+1\) copies (layers) of \(G\), connects them by inter-layer edges, and adds triangulation edges to cellulate cycles within designated layers. The key constraint is that every edge participates in at most \(c\) cycles from the generating set.

Definition 464 Layered Vertex
#

A layered vertex in a graph with \(R+1\) layers is a pair \((i, v)\) where \(i \in \{ 0, 1, \ldots , R\} \) is the layer index and \(v \in V\) is the original vertex. Layer \(0\) contains the original vertices; layers \(1, \ldots , R\) contain dummy copies.

Formally, given a type \(V\) and a natural number \(R\), a layered vertex is a structure consisting of:

  • a layer index \(\mathrm{layer} \in \mathrm{Fin}(R+1)\),

  • an original vertex \(\mathrm{vertex} \in V\).

Definition 465 Is Original Vertex
#

A layered vertex \(\ell v\) is original if its layer index equals \(0\), i.e., \(\ell v.\mathrm{layer} = 0\).

Definition 466 Is Dummy Vertex
#

A layered vertex \(\ell v\) is dummy if its layer index is nonzero, i.e., \(\ell v.\mathrm{layer} \neq 0\).

Definition 467 Embed Original Vertex
#

The embedding of an original vertex \(v \in V\) into layer \(0\) of the layered graph is defined by \(\mathrm{ofOriginal}(v) = (0, v)\).

Definition 468 Embed Vertex in Layer
#

The embedding of a vertex \(v \in V\) into layer \(i\) is defined by \(\mathrm{inLayer}(i, v) = (i, v)\).

Theorem 469 Original or Dummy

Every layered vertex is either original or dummy. That is, for any layered vertex \(\ell v\), either \(\ell v.\mathrm{layer} = 0\) or \(\ell v.\mathrm{layer} \neq 0\).

Proof

We consider whether \(\ell v.\mathrm{layer} = 0\). If so, \(\ell v\) is original (left case). If not, \(\ell v\) is dummy (right case). This is an instance of the law of excluded middle applied to the proposition \(\ell v.\mathrm{layer} = 0\).

Definition 470 Zigzag State
#

A zigzag state tracks the progress of building triangulation edges for a cycle. It consists of:

  • \(\mathrm{low} : \mathbb {N}\), the current low index,

  • \(\mathrm{high} : \mathbb {N}\), the current high index (exclusive),

  • \(\mathrm{fromLow} : \mathrm{Bool}\), indicating whether the next edge starts from the low index.

Definition 471 Zigzag Step
#

One step of the zigzag edge generation. Given a list of cycle vertices of length \(n\), and a zigzag state \(s\) with \(s.\mathrm{low} {\lt} n\), \(s.\mathrm{high} \leq n\), and \(s.\mathrm{low} + 2 {\lt} s.\mathrm{high}\), the step produces an edge pair \((v_1, v_2)\) and a new zigzag state:

  • If \(\mathrm{fromLow}\) is true: the edge connects \(v_{\mathrm{low}}\) to \(v_{\mathrm{high}-1}\), and the next state has \(\mathrm{high}' = \mathrm{high} - 1\) and \(\mathrm{fromLow}' = \mathrm{false}\).

  • If \(\mathrm{fromLow}\) is false: the edge connects \(v_{\mathrm{high}-1}\) to \(v_{\mathrm{low}+1}\), and the next state has \(\mathrm{low}' = \mathrm{low} + 1\) and \(\mathrm{fromLow}' = \mathrm{true}\).

Definition 472 Triangulation Edge Pairs
#

Given a list of cycle vertices \([v_0, v_1, \ldots , v_{n-1}]\), the triangulation edge pairs are the diagonal edges that triangulate the cycle using a zigzag pattern. For a cycle of length \(n \geq 4\), this produces \(n - 3\) triangulation edges following the pattern:

\[ \{ (v_0, v_{n-2}),\; (v_{n-2}, v_1),\; (v_1, v_{n-3}),\; (v_{n-3}, v_2),\; \ldots \} \]

Even-indexed steps connect from the low index to the high end, and odd-indexed steps connect from the high end to the next low index. For cycles of length \({\lt} 4\), the result is the empty list.

Theorem 473 Triangulation of Short Cycles

For cycles of length less than \(4\), no triangulation edges are needed:

\[ \text{length}(\mathrm{cycleVerts}) {\lt} 4 \implies \mathrm{triangulationEdgePairs}(\mathrm{cycleVerts}) = []. \]
Proof

By simplification using the definition of \(\mathrm{triangulationEdgePairs}\): when the length is less than \(4\), the guard condition \(n {\lt} 4\) is satisfied and the function returns the empty list.

Definition 474 Cycle-Layer Assignment
#

A cycle-layer assignment for a set of cycles \(C\) and \(R+1\) layers assigns each cycle to exactly one layer. Formally, it is a function \(\mathrm{assign} : C \to \mathrm{Fin}(R+1)\).

Definition 475 Cycles in Layer
#

The set of cycles assigned to a particular layer \(\ell \) is:

\[ \mathrm{cyclesInLayer}(a, \ell ) = \{ c \in C \mid a.\mathrm{assign}(c) = \ell \} . \]
Theorem 476 Each Cycle in Exactly One Layer

For any cycle-layer assignment \(a\) and any cycle \(c\), there exists a unique layer \(\ell \) such that \(c \in \mathrm{cyclesInLayer}(a, \ell )\).

Proof

We take \(\ell = a.\mathrm{assign}(c)\). First, by the definition of \(\mathrm{cyclesInLayer}\), we have \(c \in \mathrm{cyclesInLayer}(a, a.\mathrm{assign}(c))\) since the filter condition \(a.\mathrm{assign}(c) = a.\mathrm{assign}(c)\) holds trivially. For uniqueness, suppose \(c \in \mathrm{cyclesInLayer}(a, \ell ')\). Then by the filter condition, \(a.\mathrm{assign}(c) = \ell '\), so \(\ell ' = a.\mathrm{assign}(c)\) by symmetry.

Definition 477 Cycle Degree
#

The cycle degree of an edge \(e\) with respect to a set of cycles \(C\) (each given as a finset of edges) is the number of cycles in the generating set that contain \(e\):

\[ \mathrm{cycleDegree}(\mathrm{cycles}, e) = |\{ c \in C \mid e \in \mathrm{cycles}(c)\} |. \]
Definition 478 Maximum Cycle Degree
#

The maximum cycle degree over all edges is:

\[ \mathrm{maxCycleDegree}(\mathrm{cycles}) = \sup _{e \in E}\, \mathrm{cycleDegree}(\mathrm{cycles}, e). \]
Lemma 479 Cycle Degree Bounded by Number of Cycles
#

For any edge \(e\), the cycle degree is at most the total number of cycles:

\[ \mathrm{cycleDegree}(\mathrm{cycles}, e) \leq |C|. \]
Proof

By the definition of cycle degree, it equals the cardinality of a filter of the universal finset. The cardinality of a filtered finset is at most the cardinality of the original finset, which equals \(|C|\).

Definition 480 Cycle Sparsification

A cycle-sparsification of a graph \(G\) with cycles \(C\) is a structure consisting of:

  • a base graph \(G\) with its chosen generating set of cycles (of type \(\mathrm{GraphWithCycles}\; V\; E\; C\)),

  • a number of additional layers \(R\) (total layers \(= R + 1\)),

  • a cycle-degree bound \(c \in \mathbb {N}\),

  • a cycle-layer assignment \(\mathrm{cycleAssignment} : C \to \mathrm{Fin}(R+1)\),

  • for each cycle, a list of vertices representing the cycle in order,

  • the cycle-degree constraint: for every edge \(e \in E\), \(\mathrm{cycleDegree}(\mathrm{cycles}, e) \leq c\).

Definition 481 Sparsified Vertex Type

The vertex type of the sparsified graph is \(\mathrm{LayeredVertex}\; V\; S.\mathrm{numLayers}\), i.e., pairs of (layer index, original vertex).

Theorem 482 Cardinality of Sparsified Vertices

The number of vertices in the sparsified graph is \((R+1) \cdot |V|\):

\[ |\mathrm{SparsifiedVertex}(S)| = (S.\mathrm{numLayers} + 1) \cdot |V|. \]
Proof

This follows directly from the cardinality of layered vertices, which equals the product of the number of layers and the number of original vertices.

Definition 483 Original Layer
#

The original layer (layer \(0\)) of the sparsified graph is the set of all layered vertices with layer index \(0\):

\[ \mathrm{originalLayer}(S) = \{ \ell v \in \mathrm{SparsifiedVertex}(S) \mid \ell v.\mathrm{layer} = 0\} . \]
Definition 484 Dummy Layers
#

The dummy layers of the sparsified graph consist of all layered vertices with nonzero layer index:

\[ \mathrm{dummyLayers}(S) = \{ \ell v \in \mathrm{SparsifiedVertex}(S) \mid \ell v.\mathrm{layer} \neq 0\} . \]
Theorem 485 Vertex Partition

Every vertex of the sparsified graph is either in the original layer or in a dummy layer:

\[ \mathrm{originalLayer}(S) \cup \mathrm{dummyLayers}(S) = \mathrm{univ}. \]
Proof

By extensionality, it suffices to show that for an arbitrary vertex \(v\), membership in the union is equivalent to membership in the universal set. Expanding the definitions of \(\mathrm{originalLayer}\) and \(\mathrm{dummyLayers}\) as filters, the condition becomes \(v.\mathrm{layer} = 0 \lor v.\mathrm{layer} \neq 0\), which is a tautology.

Theorem 486 Vertex Partition is Disjoint

The original layer and dummy layers are disjoint:

\[ \mathrm{originalLayer}(S) \cap \mathrm{dummyLayers}(S) = \emptyset . \]
Proof

Using the characterization of disjointness via no equal elements, suppose \(a \in \mathrm{originalLayer}(S)\) and \(b \in \mathrm{dummyLayers}(S)\) with \(a = b\). Then \(a.\mathrm{layer} = 0\) (from being in the original layer), and rewriting with \(a = b\), we get \(b.\mathrm{layer} = 0\). But \(b \in \mathrm{dummyLayers}\) requires \(b.\mathrm{layer} \neq 0\), giving a contradiction.

Definition 487 Intra-Layer Edge
#

An intra-layer edge in the sparsified graph connects two vertices in the same layer that are adjacent in the original graph. Formally, \((\ell v_1, \ell v_2)\) is an intra-layer edge if:

\[ \ell v_1.\mathrm{layer} = \ell v_2.\mathrm{layer} \quad \text{and} \quad G.\mathrm{Adj}(\ell v_1.\mathrm{vertex}, \ell v_2.\mathrm{vertex}). \]
Definition 488 Inter-Layer Edge
#

An inter-layer edge connects a vertex to its copy in an adjacent layer. Formally, \((\ell v_1, \ell v_2)\) is an inter-layer edge if:

\[ \ell v_1.\mathrm{vertex} = \ell v_2.\mathrm{vertex} \quad \text{and} \quad (\ell v_1.\mathrm{layer} + 1 = \ell v_2.\mathrm{layer} \; \lor \; \ell v_2.\mathrm{layer} + 1 = \ell v_1.\mathrm{layer}). \]
Definition 489 Triangulation Pairs for Cycle

The set of triangulation edge pairs for a cycle \(c\) in layer \(\ell \) is:

  • If the cycle \(c\) is assigned to layer \(\ell \): the image of \(\mathrm{triangulationEdgePairs}(\mathrm{cycleVertices}(c))\) under the embedding into layer \(\ell \).

  • Otherwise: the empty list.

Definition 490 Triangulation Edge

A triangulation edge \((\ell v_1, \ell v_2)\) is an edge added to cellulate a cycle. Formally:

\[ \ell v_1.\mathrm{layer} = \ell v_2.\mathrm{layer} \quad \text{and} \quad \exists c \in C,\; \mathrm{assign}(c) = \ell v_1.\mathrm{layer} \; \text{and}\; \]
\[ \bigl((\ell v_1.\mathrm{vertex}, \ell v_2.\mathrm{vertex}) \in \mathrm{triangulationEdgePairs}(\mathrm{cycleVertices}(c)) \; \lor \; (\ell v_2.\mathrm{vertex}, \ell v_1.\mathrm{vertex}) \in \mathrm{triangulationEdgePairs}(\mathrm{cycleVertices}(c))\bigr). \]
Definition 491 Sparsified Adjacency

The adjacency relation in the sparsified graph is defined as: two layered vertices \(\ell v_1, \ell v_2\) are adjacent if \(\ell v_1 \neq \ell v_2\) and at least one of the following holds:

  1. \((\ell v_1, \ell v_2)\) is an intra-layer edge,

  2. \((\ell v_1, \ell v_2)\) is an inter-layer edge,

  3. \((\ell v_1, \ell v_2)\) is a triangulation edge.

Theorem 492 Intra-Layer Edges are Symmetric

Intra-layer adjacency is symmetric:

\[ \mathrm{isIntraLayerEdge}(S, \ell v_1, \ell v_2) \iff \mathrm{isIntraLayerEdge}(S, \ell v_2, \ell v_1). \]
Proof

For both directions, given \(\ell v_1.\mathrm{layer} = \ell v_2.\mathrm{layer}\) and adjacency of the underlying vertices, we use symmetry of the layer equality and the commutativity of adjacency in the base graph (\(G.\mathrm{adj\_ comm}\)).

Theorem 493 Inter-Layer Edges are Symmetric

Inter-layer adjacency is symmetric:

\[ \mathrm{isInterLayerEdge}(S, \ell v_1, \ell v_2) \iff \mathrm{isInterLayerEdge}(S, \ell v_2, \ell v_1). \]
Proof

For both directions, we use symmetry of the vertex equality and swap the disjunction on layer indices.

Theorem 494 Triangulation Edges are Symmetric

Triangulation adjacency is symmetric:

\[ \mathrm{isTriangulationEdge}(S, \ell v_1, \ell v_2) \iff \mathrm{isTriangulationEdge}(S, \ell v_2, \ell v_1). \]
Proof

For both directions, given \(\ell v_1.\mathrm{layer} = \ell v_2.\mathrm{layer}\), a cycle \(c\) assigned to that layer, and the membership condition on triangulation edge pairs, we use symmetry of the layer equality and swap the disjunction on the pair orientations. The cycle assignment condition is transported using the layer equality.

Theorem 495 Sparsified Adjacency is Symmetric

Sparsified adjacency is symmetric:

\[ \mathrm{sparsifiedAdj}(S, \ell v_1, \ell v_2) \iff \mathrm{sparsifiedAdj}(S, \ell v_2, \ell v_1). \]
Proof

By simplification using the symmetry of \(\neq \), and the symmetry of each of the three edge types established above.

Theorem 496 Sparsified Adjacency is Irreflexive

Sparsified adjacency is irreflexive: \(\neg \, \mathrm{sparsifiedAdj}(S, \ell v, \ell v)\) for all \(\ell v\).

Proof

By simplification: the first conjunct of sparsified adjacency requires \(\ell v \neq \ell v\), which is false.

Definition 497 Sparsified Simple Graph

The cycle-sparsified graph as a \(\mathrm{SimpleGraph}\) on the sparsified vertex type, with adjacency given by \(\mathrm{sparsifiedAdj}\), symmetry from the symmetry theorem, and irreflexivity from the irreflexivity theorem.

Theorem 498 Layer Zero Isomorphic to Original

Layer \(0\) is isomorphic to the original graph for intra-layer edges: for any vertices \(v, w \in V\),

\[ \mathrm{isIntraLayerEdge}(S, \mathrm{ofOriginal}(v), \mathrm{ofOriginal}(w)) \iff G.\mathrm{Adj}(v, w). \]
Proof

By simplification: both embedded vertices have layer \(0\), so the layer equality holds trivially, and the adjacency condition reduces to adjacency in the base graph.

Theorem 499 Inter-Layer Edge Connects Copies

Each vertex \(v\) in layer \(i\) is connected to its copy in layer \(i+1\): for any \(i\) with \(i + 1 {\lt} R + 1\),

\[ \mathrm{isInterLayerEdge}(S, \mathrm{inLayer}(i, v), \mathrm{inLayer}(i+1, v)). \]
Proof

By simplification of the definitions: the vertex components are equal, and the layer index of the first vertex plus one equals the layer index of the second vertex. We choose the left disjunct and verify trivially.

Theorem 500 Inter-Layer Edges Connect Consecutive Layers

Inter-layer edges only connect consecutive layers: if \((\ell v_1, \ell v_2)\) is an inter-layer edge, then

\[ \ell v_1.\mathrm{layer} + 1 = \ell v_2.\mathrm{layer} \quad \lor \quad \ell v_2.\mathrm{layer} + 1 = \ell v_1.\mathrm{layer}. \]
Proof

This follows directly from the second component of the inter-layer edge definition.

Theorem 501 Inter-Layer Edges Connect Same Vertex

Inter-layer edges connect the same underlying vertex: if \((\ell v_1, \ell v_2)\) is an inter-layer edge, then \(\ell v_1.\mathrm{vertex} = \ell v_2.\mathrm{vertex}\).

Proof

This follows directly from the first component of the inter-layer edge definition.

Theorem 502 Triangulation Edges in Same Layer

Triangulation edges are within the same layer: if \((\ell v_1, \ell v_2)\) is a triangulation edge, then \(\ell v_1.\mathrm{layer} = \ell v_2.\mathrm{layer}\).

Proof

This follows directly from the first component of the triangulation edge definition.

Theorem 503 Triangulation Edges Come From a Cycle

Every triangulation edge comes from some cycle assigned to the relevant layer: if \((\ell v_1, \ell v_2)\) is a triangulation edge, then there exists \(c \in C\) with \(\mathrm{assign}(c) = \ell v_1.\mathrm{layer}\).

Proof

From the triangulation edge hypothesis, we obtain the layer equality, a cycle \(c\), and the assignment condition. We return \(c\) and its assignment.

Definition 504 Layer Vertices
#

The set of vertices in layer \(i\) of the sparsified graph:

\[ \mathrm{layerVertices}(S, i) = \{ \ell v \in \mathrm{SparsifiedVertex}(S) \mid \ell v.\mathrm{layer} = i\} . \]
Theorem 505 Each Layer has \(|V|\) Vertices

Each layer has exactly \(|V|\) vertices:

\[ |\mathrm{layerVertices}(S, i)| = |V|. \]
Proof

We define the injection \(f : V \to \mathrm{SparsifiedVertex}(S)\) by \(f(v) = (i, v)\). This is injective because if \(f(v) = f(w)\) then the vertex components must be equal, so \(v = w\). We then show that \(\mathrm{layerVertices}(S, i)\) equals \(\mathrm{univ}.image(f)\): a layered vertex \(\ell v\) has layer \(i\) if and only if it is in the image of \(f\) (by decomposing \(\ell v\) and using the layer equality). The result follows from \(|\mathrm{univ}.image(f)| = |\mathrm{univ}|\) by injectivity of \(f\).

Definition 506 Embed Original

The embedding \(V \hookrightarrow \mathrm{SparsifiedVertex}(S)\) that sends each vertex \(v\) to its layer-\(0\) copy \(\mathrm{ofOriginal}(v)\). This is injective: if \(\mathrm{ofOriginal}(v) = \mathrm{ofOriginal}(w)\), then \(v = w\) by the second component of the equality.

Theorem 507 Embedding Preserves Adjacency

The embedding of the original graph into layer \(0\) preserves adjacency: if \(G.\mathrm{Adj}(v, w)\), then \(\mathrm{isIntraLayerEdge}(S, \mathrm{embedOriginal}(v), \mathrm{embedOriginal}(w))\).

Proof

By simplification: both embedded vertices have layer \(0\) (so the layer equality holds), and the vertex components are the original vertices \(v\) and \(w\), which are adjacent by hypothesis.

Definition 508 Has Valid Assignment

A graph \(G\) with cycles has a valid assignment with cycle-degree bound \(c\) and \(R\) layers if there exists a cycle-layer assignment such that for every edge \(e\), \(\mathrm{cycleDegree}(G.\mathrm{cycles}, e) \leq c\).

Lemma 509 Valid Assignment Exists

If the cycle-degree bound \(c\) is already satisfied for all edges (i.e., \(\forall e,\; \mathrm{cycleDegree}(G.\mathrm{cycles}, e) \leq c\)), then a valid assignment exists with \(R = 0\) layers.

Proof

We take \(R = 0\) and the trivial assignment sending every cycle to layer \(0\) (the unique element of \(\mathrm{Fin}(1)\)). The cycle-degree constraint is satisfied by hypothesis.

Definition 510 Layer Bound
#

A layer bound for a graph \(G\) with cycle-degree bound \(c\) consists of:

  • a number of layers \(R \in \mathbb {N}\),

  • a proof that a valid cycle-layer assignment exists with \(R\) layers and cycle-degree bound \(c\).

This represents the value \(R_G^c\) from the paper.

Definition 511 Has Decongestion Bound
#

A class asserting that a graph \(G\) satisfies the Freedman–Hastings decongestion bound. This states:

  1. There exists a layer bound \(\mathrm{lb}\) with \(\mathrm{lb}.\mathrm{numLayers} \leq (\log _2 |V| + 1)^2 \cdot (\mathrm{maxDegree} + 1)\).

  2. The cycle-degree bound \(c {\gt} 0\).

  3. The graph has bounded degree: for all \(v \in V\), \(|G.\mathrm{incidentEdges}(v)| \leq \mathrm{maxDegree}\).

Theorem 512 Polylogarithmic Layer Bound

For graphs satisfying the Freedman–Hastings bound, there exists a valid layer assignment with \(R = O(\log ^2 n)\) where \(n = |V|\). Specifically, there exists \(R \in \mathbb {N}\) such that:

\[ \mathrm{hasValidAssignment}(G, c, R) \quad \text{and} \quad R \leq (\mathrm{maxDegree} + 1) \cdot (\log _2 |V| + 1)^2. \]
Proof

From the \(\mathrm{HasDecongestionBound}\) instance, we obtain a layer bound \(\mathrm{lb}\) and its bound \(\mathrm{lb}.\mathrm{numLayers} \leq (\log _2 |V| + 1)^2 \cdot (\mathrm{maxDegree} + 1)\). We take \(R = \mathrm{lb}.\mathrm{numLayers}\). The valid assignment comes from \(\mathrm{lb}.\mathrm{valid}\). The inequality follows by commutativity of multiplication: \((\log _2 |V| + 1)^2 \cdot (\mathrm{maxDegree} + 1) = (\mathrm{maxDegree} + 1) \cdot (\log _2 |V| + 1)^2\).