Theorem 1 (Minimal cut theorem), p. 400 — the maximal flow value equals the minimum value of a disconnecting set
ProvedFordFulkerson56.MinCut.minimal_cut_theoremLet be a network: a finite graph whose arcs are undirected (parallel arcs allowed), with a source , a sink and a positive capacity on every arc. A flow sends non-negative amounts along chains (self-avoiding paths) joining and , so that the total amount through each arc is at most its capacity; its value is the total amount sent. A disconnecting set is a set of arcs meeting every chain joining and , and its value is .
Theorem (Ford–Fulkerson). The maximal flow value obtainable in is the minimum of over all disconnecting sets : there is a number such that
both the maximum and the minimum being attained.
This is the max-flow min-cut theorem in its original form, for undirected networks with flows decomposed along chains.
Formalization Note The statement says that is the greatest element of the set of flow values and the least element of the set of values of disconnecting sets, so both extrema are attained and no supremum of a possibly empty or unbounded set is used. Flows are functions on finite sets of arcs (a collection of chain flows listing a chain twice can be merged without changing the value or any arc load).
import Mathlib import Definitions.Def_FordFulkerson56_MinCut_Network import Definitions.Def_FordFulkerson56_MinCut_IsChain import Definitions.Def_FordFulkerson56_MinCut_IsFlow import Definitions.Def_FordFulkerson56_MinCut_IsDisconnecting
namespace FordFulkerson56.MinCut
theorem minimal_cut_theorem {V E : Type*} [Fintype V] [DecidableEq V]
[Fintype E] [DecidableEq E] (N : Network V E) :
∃ m : ℝ, IsGreatest {x : ℝ | ∃ f, IsFlow N f ∧ value f = x} m ∧
IsLeast {x : ℝ | ∃ D : Finset E, IsDisconnecting N D ∧ cutValue N D = x} m := by sorry
end FordFulkerson56.MinCut
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.