Lemma 3.6 — distance labels never decrease, and a relabeling increases the label
ProvedGoldbergTarjan.Generic.run_label_monotoneLet be an execution of the generic algorithm on a flow network, started from the initial state of Fig. 2 with the simple labeling. Then:
- for every vertex and all , (the label of never decreases);
- if the step from to () is a relabeling of , then :
Monotonicity of labels is what makes labels a potential for the counting arguments of Lemmas 3.8–3.10.
import Mathlib import Definitions.Def_GoldbergTarjan_Generic_Run
namespace GoldbergTarjan.Generic
/-- Lemma 3.6 (Goldberg–Tarjan 1988, p. 927). For any vertex `v`, the distance label `d(v)`
never decreases along an execution of the generic algorithm, and an application of a
relabeling operation to `v` increases `d(v)` strictly. -/
theorem run_label_monotone {V : Type} [Fintype V] [DecidableEq V]
(N : Network V) (σ : ℕ → State V) (K : ℕ) (hrun : IsRun N σ K) :
(∀ (v : V) (k l : ℕ), k ≤ l → l ≤ K → (σ k).2 v ≤ (σ l).2 v) ∧
(∀ (v : V) (k : ℕ), k < K → RelabelStep N (σ k) (σ (k + 1)) v →
(σ k).2 v < (σ (k + 1)).2 v) := by sorry
end GoldbergTarjan.Generic
Read-back
What the Lean code literally says, in plain math · claude-opus-5-5
The statement concerns an arbitrary finite type with decidable equality, a network , a sequence of states , and .
Hypothesis. is a run of length : is the initial state, and each with is obtained from by one applicable push or relabel.
Conclusion. Both of the following hold.
- Monotonicity. For every vertex and all :
in . 2. Strict increase under relabeling. For every vertex and every : if the step from to is a relabel step at , then
A relabel step at means three things: is active in ; for all with ; and equals except that , which is if that set is empty.
Degenerate cases. For , part 1 only compares with itself and part 2 is vacuous. Strict inequality in part 2 includes the case with finite.
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.