Theorem 4 (bounds): greedy backward/forward bounds on the optimal deletion problem (13)
ProvedScenarioReduction.Redistribution.boundsUnder the standing assumptions of Section 3, fix with and consider the optimal deletion problem (13),
where is the optimal-weights value of Theorem 2. Choose indices recursively:
- such that for , solves — (16);
- such that for , solves
and put . Then
Moreover, is a solution of (13) if for each the set is nonempty.
The two recursions are the backward-reduction and forward-selection heuristics of the paper; the theorem certifies the quality of their output.
Formalization Note Indices are 0-based: and , where the natural-number subtraction is exact because . The recursions are hypotheses: each (resp. ) is distinct from the earlier ones and minimizes (16) (resp. (17)) over the remaining indices. In (16) and in the lower bound the inner minimum ranges over all , not over kept indices. The value of (13) is the infimum of over , a finite nonempty set of reals; "solution of (13)" is stated as and equal to that value.
import Mathlib import Definitions.Def_ScenarioReduction_Redistribution_transportValue open Finset
namespace ScenarioReduction.Redistribution
theorem bounds {Ω : Type*} {N : ℕ} (c : Ω → Ω → ℝ) (ω : Fin N → Ω) (p : Fin N → ℝ)
(hc : ∀ a b : Ω, 0 ≤ c a b) (hc1 : ∀ a b : Ω, c a b = 0 ↔ a = b)
(hc2 : ∀ a b : Ω, c a b = c b a)
(hp : ∀ i, 0 < p i) (hp1 : ∑ i, p i = 1)
(k : ℕ) (hk1 : 1 ≤ k) (hkN : k < N)
(l : Fin k → Fin N)
(hl : ∀ i : Fin k, l i ∉ (univ.filter (fun i' => i' < i)).image l ∧
∀ m ∉ (univ.filter (fun i' => i' < i)).image l,
p (l i) * minOver {l i}ᶜ (fun j => c (ω (l i)) (ω j)) ≤ p m * minOver {m}ᶜ (fun j => c (ω m) (ω j)))
(u : Fin (N - k) → Fin N)
(hu : ∀ j : Fin (N - k), u j ∉ (univ.filter (fun j' => j' < j)).image u ∧
∀ m ∉ (univ.filter (fun j' => j' < j)).image u,
∑ i ∈ (insert (u j) ((univ.filter (fun j' => j' < j)).image u))ᶜ,
p i * minOver (insert (u j) ((univ.filter (fun j' => j' < j)).image u)) (fun l' => c (ω l') (ω i))
≤ ∑ i ∈ (insert m ((univ.filter (fun j' => j' < j)).image u))ᶜ,
p i * minOver (insert m ((univ.filter (fun j' => j' < j)).image u)) (fun l' => c (ω l') (ω i))) :
∑ i : Fin k, p (l i) * minOver {l i}ᶜ (fun j => c (ω (l i)) (ω j)) ≤ optimalDeletionValue c ω p k ∧
optimalDeletionValue c ω p k ≤
∑ i ∈ (univ.image u)ᶜ, p i * minOver (univ.image u) (fun j => c (ω i) (ω j)) ∧
((∀ i : Fin k, ∃ j : Fin N, j ≠ l i ∧ (∀ i' : Fin k, i' ≠ i → j ≠ l i') ∧
∀ j' : Fin N, j' ≠ l i → c (ω (l i)) (ω j) ≤ c (ω (l i)) (ω j')) →
(univ.image l).card = k ∧ optWeightsValue c ω p (univ.image l) = optimalDeletionValue c ω p k) := by sorry
end ScenarioReduction.Redistribution
Read-back
What the Lean code literally says, in plain math · claude-opus-5-5
The data are:
- an arbitrary type and ;
- ;
- and ;
- ;
- a sequence ;
- a sequence .
The standing hypotheses are:
- ;
- ;
- is symmetric;
- for all , and ;
- .
Write:
- ;
- and ;
- and ;
- for a nonempty ,
The sequences and must satisfy:
- Condition on . For each : , and for every . So each is a new index minimizing among the indices not yet chosen.
- Condition on . For each : , and for every .
The theorem also uses the following quantities:
- is the infimum, over matrices with for , for all , and for , of .
- is the infimum of over all with for and .
- is the infimum of over all with .
Every infimum is if its set is empty or unbounded below.
The theorem asserts all three of the following:
- Lower bound.
- Upper bound.
Note the argument order: here it is with the non- index first, whereas in the condition on uses with the -index first. 3. Conditional optimality of . Suppose that for every there is an index with all of the following properties:
- ;
- for every ;
- for every .
Then and .
Degenerate cases:
- Size of . The hypothesis forces . So every set is nonempty and is a genuine minimum.
- Size of . , so has at least one entry. Every set in the condition on is nonempty, as is itself.
- Empty complement of . If , which can happen only if repeats no index and (impossible since ), the sum in (2) would be empty. In fact in every admissible case.
- No subtraction truncation. The length is an ordinary difference because .
- . Part (1) reads , where is a global minimizer of .
- Repeated points. may be non-injective. If two indices share a point, the corresponding values are .
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.