Edge coverage by reconstructed triangle weights #
The doubled on-edge transfer and off-edge cancellation reduce coverage to flow conservation at the edge node.
theorem
LeanPool.DrossFractionalTriangleDecomposition.triWeight_transfer_eq
{V : Type u_1}
[Fintype V]
[DecidableEq V]
(G : SimpleGraph V)
[DecidableRel G.Adj]
(wΔ : ℝ)
(hbal : ∑ e ∈ G.edgeFinset, (↑(triThrough G e) * wΔ - 1) = 0)
(F : Contrib.MaxFlowMinCut.Flow (drossNet G wΔ))
(hF : F.value = demand G wΔ)
(e : Sym2 V)
(he : e ∈ G.edgeFinset)
:
The total K₄ transfer through a fixed graph edge is twice its flow excess.
theorem
LeanPool.DrossFractionalTriangleDecomposition.triWeight_coverage
{V : Type u_1}
[Fintype V]
[DecidableEq V]
(G : SimpleGraph V)
[DecidableRel G.Adj]
(wΔ : ℝ)
(hbal : ∑ e ∈ G.edgeFinset, (↑(triThrough G e) * wΔ - 1) = 0)
(F : Contrib.MaxFlowMinCut.Flow (drossNet G wΔ))
(hF : F.value = demand G wΔ)
(e : Sym2 V)
(he : e ∈ G.edgeFinset)
:
The reconstructed triangle weights sum to one on each graph edge.
theorem
LeanPool.DrossFractionalTriangleDecomposition.decomp_of_maxflowM
{V : Type u_1}
[Fintype V]
[DecidableEq V]
(G : SimpleGraph V)
[DecidableRel G.Adj]
(wΔ : ℝ)
(hwΔ : 0 < wΔ)
(hmd2 : 2 ≤ G.minDegree)
(hbal : ∑ e ∈ G.edgeFinset, (↑(triThrough G e) * wΔ - 1) = 0)
(F : Contrib.MaxFlowMinCut.Flow (drossNet G wΔ))
(hF : F.value = demand G wΔ)
(hNoHDT :
∀ (u v w : V),
G.Adj u v →
G.Adj u w →
G.Adj v w → G.minDegree + 2 ≤ G.degree u → G.minDegree + 2 ≤ G.degree v → G.minDegree + 2 ≤ G.degree w → False)
:
A demand-saturating flow yields a fractional triangle decomposition.