OAI/Combinatorics/SparsestCut/FiniteGraph.lean
21 declarations, 0 contain sorry, 0 declared as axioms
Finite uniform sparsest cut
The rational-capacity objective and its unit-demand denominator follow the introduction of Constant-factor hardness of uniform sparsest cut by OpenAI.
- structure
OAI.UniformSparsestCut.Graphline 23Source documentation
An undirected rational-capacity graph. Zero capacities encode absent edges. There are no input demand weights: all distinct pairs have demand one.
structure Graph where …
- def
OAI.UniformSparsestCut.Graph.demandline 32Source documentation
Demand is fixed, not chosen by the reduction.
def Graph.demand (G : Graph) (i j : Fin G.n) : ℕ := if i = j then 0 else 1
Mentions: OAI.UniformSparsestCut.Graph
- theorem
OAI.UniformSparsestCut.Graph.demand_selfline 34 - theorem
OAI.UniformSparsestCut.Graph.demand_of_neline 37 - def
OAI.UniformSparsestCut.IsCutline 42Source documentation
A nonempty proper subset of the vertices.
def IsCut {n : ℕ} (S : Finset (Fin n)) : Prop := 0 < S.card ∧ S.card < n - instance
OAI.UniformSparsestCut.(instance at line 44)line 44 - def
OAI.UniformSparsestCut.cutsline 47 - theorem
OAI.UniformSparsestCut.mem_cutsline 49 - theorem
OAI.UniformSparsestCut.cuts_nonemptyline 52 - def
OAI.UniformSparsestCut.Graph.cutCapacityline 58Source documentation
Each unordered separated pair occurs once, with its endpoint in
Sfirst.def Graph.cutCapacity (G : Graph) (S : Finset (Fin G.n)) : ℚ := …
Mentions: OAI.UniformSparsestCut.Graph
- def
OAI.UniformSparsestCut.Graph.cutRatioline 61 - def
OAI.UniformSparsestCut.Graph.philine 65Source documentation
The actual minimum over all nonempty proper cuts, not a relaxation.
def Graph.phi (G : Graph) : ℚ := …
Mentions: OAI.UniformSparsestCut.Graph
- theorem
OAI.UniformSparsestCut.cut_card_leline 68 - theorem
OAI.UniformSparsestCut.cut_denominator_posline 71 - theorem
OAI.UniformSparsestCut.Graph.cutCapacity_nonnegline 75 - theorem
OAI.UniformSparsestCut.Graph.cutRatio_nonnegline 79 - theorem
OAI.UniformSparsestCut.Graph.phi_le_cutRatioline 83 - theorem
OAI.UniformSparsestCut.Graph.exists_minimizing_cutline 87 - theorem
OAI.UniformSparsestCut.Graph.phi_nonnegline 93 - theorem
OAI.UniformSparsestCut.Graph.lt_phi_iffline 99Source documentation
In particular, strict soundness for every cut implies strict soundness for the minimum.
theorem Graph.lt_phi_iff (G : Graph) (r : ℚ) : r < G.phi ↔ ∀ S : Finset (Fin G.n), IsCut S → r < G.cutRatio S := by …Mentions: OAI.UniformSparsestCut.Graph, OAI.UniformSparsestCut.IsCut
- theorem
OAI.UniformSparsestCut.Graph.separated_demandline 109Source documentation
Summing the exactly-unit demands gives precisely the denominator in the source.
theorem Graph.separated_demand (G : Graph) (S : Finset (Fin G.n)) : (∑ i ∈ S, ∑ j ∈ Finset.univ \ S, G.demand i j) = S.card * (G.n - S.card) := by …Mentions: OAI.UniformSparsestCut.Graph