Theorem 1: the constant-step ascent satisfies
ProvedHeldKarp.Ascent.theorem_1Let , let be arbitrary symmetric real edge weights on the complete graph , and let be the 1-tree bound, where ranges over the 1-trees, is the weight of the -th 1-tree and its degree-excess vector ( in coordinate ). Let be the Euclidean norm. Fix a step size and a starting point , and run the iteration (3) with constant step :
where is a minimum-weight 1-tree at the point (ties broken arbitrarily). Then
The theorem quantifies how close the simple constant-step ascent used in the paper's computations gets to the Held–Karp bound : the gap is governed by the step size and by how far the 1-trees produced asymptotically are from being tours ( exactly when the 1-tree is a tour).
Formalization Note The conclusion is stated in the equivalent form: for every and every there is with , where . This avoids naming the maximizer and avoids a supremum of a possibly unbounded family. is the limit superior of a sequence taking finitely many values, hence a real number. The 1-tree chosen at each step may be any minimum-weight 1-tree. The hypotheses and are implicit in the paper.
import Mathlib import Definitions.Def_HeldKarp_Ascent_IsOneTree import Definitions.Def_HeldKarp_Ascent_oneTreeBound open Filter
namespace HeldKarp.Ascent
/-- **Theorem 1** — Held & Karp, *The traveling-salesman problem and minimum spanning trees:
Part II*, Math. Programming 1 (1971), §2, p. 12 (PDF p. 7); proof pp. 13–14 (PDF pp. 8–9):
"The iteration (3), with t_m = t̄ for all m, satisfies:
sup_m w(π^m) ≥ max_π w(π) − ½ t̄ lim sup_{m→∞} ‖v_{k(π^m)}‖²."
The iteration (3) is `π^{m+1} = π^m + t_m v_{k(π^m)}`, where `k(π)` is the index of a
minimum-weight 1-tree at the point `π`.
Here `π 0` is an arbitrary starting point, `T m` is a minimum-weight 1-tree at `π m` (the
paper's `k(π^m)`) and `π (m+1) = π m + t̄ • v_{T m}`. With
`L = lim sup_m ‖v_{T m}‖²`, the conclusion says: for every point `π*` and every `δ > 0` some
iterate has `w(π^m) > w(π*) − ½ t̄ L − δ`.
Formalization Note: the paper's inequality is stated in the equivalent form
"for all `π*`, `δ > 0` there is `m` with `w(π*) − t̄/2 · L − δ < w(π^m)`", which says
`sup_m w(π^m) ≥ w(π*) − ½ t̄ L` for every `π*`, i.e. `≥ max_π w(π) − ½ t̄ L`; this form needs no
existence of the maximum and no `⨆` of a possibly unbounded family. `‖·‖` is the Euclidean norm
(footnote, p. 9), written as a sum of squares. `L` is `Filter.limsup` of a sequence taking
finitely many values (degree vectors of graphs on `Fin n`), hence a genuine real. Ties among
minimum-weight 1-trees may be broken arbitrarily, and differently at every step. `0 < t̄` and
`3 ≤ n` are implicit in the paper (`t̄ = 0` makes the statement false). -/
theorem theorem_1 {n : ℕ} [NeZero n] (hn : 3 ≤ n) (c : Sym2 (Fin n) → ℝ) (tbar : ℝ)
(htbar : 0 < tbar) (π : ℕ → Fin n → ℝ) (T : ℕ → SimpleGraph (Fin n))
(hT : ∀ m, IsMinOneTree c (π m) (T m))
(hstep : ∀ m, π (m + 1) = π m + tbar • degExcess (T m)) :
∀ πstar : Fin n → ℝ, ∀ δ : ℝ, 0 < δ → ∃ m : ℕ,
oneTreeBound c πstar
- tbar / 2 * limsup (fun m => ∑ i, (degExcess (T m) i) ^ 2) atTop - δ
< oneTreeBound c (π m) := by sorry
end HeldKarp.Ascent
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.