CoreGapRegularCover #
The triangle support #
The spanning subgraph of the edges of G that lie in at least one triangle.
Equations
- Nibble.AX1.triangleSupport G = Nibble.AX1.edgeSelect G fun (e : Finset V) => 0 < Nibble.AX1.edgeTriangleDegree G e
Instances For
Equations
- Nibble.AX1.instDecidableRelTriangleSupport G = Nibble.AX1.instDecidableRelEdgeSelect G fun (e : Finset V) => 0 < Nibble.AX1.edgeTriangleDegree G e
The triangle support has the same triangles as G: each edge of a triangle lies in one.
Equal triangle hypergraphs give equal fractional optima.
The triangle support carries the whole fractional optimum.
The union of a family #
The union of the first k members of a family of graphs.
Equations
- Nibble.AX1.unionFamily H k = { Adj := fun (x y : V) => ∃ i < k, (H i).Adj x y, symm := ⋯, loopless := ⋯ }
Instances For
Equations
- Nibble.AX1.instDecidableRelUnionFamily H k x✝¹ x✝ = Classical.dec ((Nibble.AX1.unionFamily H k).Adj x✝¹ x✝)
The 2-cliques of a union are the union of the 2-cliques.
For an edge-disjoint family, the edge count of the union is the sum of the edge counts.
The covering criterion #
The covering criterion. An edge-disjoint family of near-regular subgraphs of the triangle
support of G, covering all but at most ε|V|² of the edges of that support, is a near-regular
family for G in the sense of Nibble.AX1.HasNearRegularFamily.
Indeed the fractional optimum of G is that of its triangle support
(Nibble.AX1.nu3star_triangleSupport); passing from the support to the union of the family costs at
most the number of uncovered edges (Nibble.AX1.nu3star_le_add_deleted); and the fractional optimum
of the union is at most a third of its edge count (Nibble.YusterE.nu3star_le), which for an
edge-disjoint family is a third of the sum of the members' edge counts.
The cluster structure of a regularity-reduced graph #
A good triple of clusters: three distinct parts of P, pairwise ep-uniform in G with
density at least de. These are the triples that can carry a triangle of the reduced graph.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Every triangle of a regularity-reduced graph lives on a good triple of clusters: its three vertices lie in three distinct parts, which are pairwise uniform and dense.
Every edge that the covering residual has to cover lies on a good triple. An edge of the triangle support of a regularity-reduced graph joins two clusters of a good triple, the third cluster containing a common neighbour.
Why the covering criterion is not the residual #
Nibble.AX1.hasNearRegularFamily_of_cover is a sufficient condition, and it is strictly stronger
than what is needed: requiring that all but ε|V|² of the triangle-carrying edges be covered by
near-regular classes is in general impossible. Near-regularity forces a class inside a cluster
triple to carry roughly equally many edges in each of the triple's three pairs (the triangles of the
class are counted once from each pair), so a triple whose three pairs have very different densities
— say 1, 1/10, 1/10 — can have only about 3/10 of its edges covered, the rest of the dense
pair remaining uncovered even though each of its edges lies in a triangle. For such a graph the
fractional optimum is correspondingly small, which is exactly why Nibble.AX1.HasNearRegularFamily
(and hence the residual Nibble.AX1.ReducedFamilyResidual) compares the covered edge count with
ν₃* rather than with the total number of edges.
The covering criterion remains useful as a tool: applied to a subgraph G' ≤ G together with
Nibble.AX1.HasNearRegularFamily.mono_of_le, it discharges the ν₃* bookkeeping whenever the
construction does cover the chosen subgraph.