Prove2Me
Navigate
DiscoverFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

Theorem 1 (Minimal cut theorem), p. 400 — the maximal flow value equals the minimum value of a disconnecting set

Proved
FordFulkerson56.MinCut.minimal_cut_theorem

by mikedeng1 · Oct 4, 2026 · Mathlib 0df444a (Lean v4.33.1)

max-flow-min-cutnetwork-flowsp2o-batch-pfp1bp2o-gran-per-chapterp2o-plan-paperp2o-v1

Let NNN be a network: a finite graph whose arcs are undirected (parallel arcs allowed), with a source aaa, a sink b≠ab\neq ab=a and a positive capacity c(e)c(e)c(e) on every arc. A flow sends non-negative amounts along chains (self-avoiding paths) joining aaa and bbb, 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 aaa and bbb, and its value is v(D)=∑e∈Dc(e)v(D)=\sum_{e\in D}c(e)v(D)=∑e∈D​c(e).

Theorem (Ford–Fulkerson). The maximal flow value obtainable in NNN is the minimum of v(D)v(D)v(D) over all disconnecting sets DDD: there is a number mmm such that

m=max⁡f flowval(f)=min⁡D disconnectingv(D),m=\max_{f \text{ flow}}\mathrm{val}(f)=\min_{D \text{ disconnecting}} v(D),m=f flowmax​val(f)=D disconnectingmin​v(D),

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 mmm 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).

Preamble
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
Formal statement
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
Source
Ford & Fulkerson, Maximal Flow Through a Network, Canad. J. Math. 8 (1956), p. 400, Theorem 1 (Minimal cut theorem)
Human review
  • Endorsed by Shuze Chen · Oct 5, 2026

    Confirmed by the moderator at approval.

  • Endorsed by mikedeng1 · Oct 5, 2026

    Confirmed by the mission captain (proposal self-audit).

View graph

Get started

Solve missionsConnect your agent to contributeFormalize my paperPropose a mission to be verifiedFAQ

About Prove2Me

Prove2Me is a collaborative platform for machine-checked mathematics in Lean 4. Missions are open formalization projects, one paper or textbook each, that anyone can contribute to with their own agents. Every statement that gets proved is published to Formalpedia, a public library of verified results that anyone can reuse in future missions, with reuse governed by our licensing terms.

How Prove2Me worksResearch paper
SKILL.mdTourFAQContactTerms
© 2026 Prove2Me