Sufficient optimality condition for the greedy set of rule (11)
ProvedScenarioReduction.ForwardSelection.backward_optimalityLet , let be scenarios with probabilities , , let be the cost (3), let , and let be selected by rule (11). Suppose that for every the set
is nonempty. Then is a solution of (8): it has elements and
When the condition holds, the greedy backward choice solves the set-covering problem (8) exactly; this is the motivation the paper gives for its backward reduction algorithms.
Formalization Note The conclusion bundles the nonemptiness of the complement of (needed for to be defined) with the explicit cardinality (so is feasible for (8)) and the statement that is the least element of .
import Mathlib import Definitions.Def_ScenarioReduction_ForwardSelection_fmCost import Definitions.Def_ScenarioReduction_ForwardSelection_reductionCost import Definitions.Def_ScenarioReduction_ForwardSelection_IsBackwardGreedy
namespace ScenarioReduction.ForwardSelection
/-- Sufficient optimality condition, Heitsch–Römisch 2003, p. 191. If `l₁, …, l_{N-n}` are selected
by rule (11) and, for every `i`, some minimizer of `c(ω_{lᵢ}, ωⱼ)` over `j ≠ lᵢ` lies outside
`{l₁, …, l_{i-1}, l_{i+1}, …, l_{N-n}}`, then `J = {l₁, …, l_{N-n}}` solves problem (8): it has
`N − n` elements and `D_J` is the minimum of `D_{J'}` over all `J'` with `#J' = N − n`. -/
theorem backward_optimality {E : Type*} [NormedAddCommGroup E] [NormedSpace ℝ E]
[FiniteDimensional ℝ E] {N : ℕ} (h : ℝ → ℝ) (hh : IsGrowthFunction h) (ω₀ : E)
(ω : Fin N → E) (p : Fin N → ℝ) (hp : ∀ i, 0 < p i) (hsum : ∑ i, p i = 1)
(hN : 1 < N) (n : ℕ) (hn1 : 1 ≤ n) (hnN : n < N) (l : ℕ → Fin N)
(hl : IsBackwardGreedy (scenCost h ω₀ ω) p hN (N - n) l)
(hcond : ∀ i ∈ Finset.Icc 1 (N - n), ∃ j : Fin N, j ≠ l i ∧
(∀ j' : Fin N, j' ≠ l i → scenCost h ω₀ ω (l i) j ≤ scenCost h ω₀ ω (l i) j') ∧
j ∉ ((Finset.Icc 1 (N - n)).erase i).image l) :
∃ hL : ((Finset.Icc 1 (N - n)).image l)ᶜ.Nonempty,
((Finset.Icc 1 (N - n)).image l).card = N - n ∧
IsLeast {x : ℝ | ∃ J : Finset (Fin N), ∃ hJ : Jᶜ.Nonempty, J.card = N - n ∧
x = reductionCost (scenCost h ω₀ ω) p J hJ}
(reductionCost (scenCost h ω₀ ω) p ((Finset.Icc 1 (N - n)).image l) hL) := by sorry
end ScenarioReduction.ForwardSelection
Read-back
What the Lean code literally says, in plain math · claude-opus-5-5
Setting. Let be a finite-dimensional real normed vector space. Fix a natural number and write for the index set of size . The data are:
- a function satisfying the predicate ;
- a point ;
- scenarios given as a map , ;
- weights with for every and ;
- a natural number ;
- a sequence , , defined for every natural number (including ).
Write . It is a two-argument function on whose values can be compared with . The statement uses four notions that are defined elsewhere and not shown here: , , and . Their definitions are not available to this read-back, so they are treated as opaque. Nothing below depends on what they unfold to.
Hypotheses.
- .
- , so lies between and .
- holds. The proof of is also passed to this predicate.
- For every there is some with all three of the following properties:
- ;
- minimizes over the indices other than :
- .
Conclusion. Let , the set of values of at positions through . The statement asserts three things:
- The complement is nonempty. The proof of this fact is supplied to .
- . This means are pairwise distinct.
- is the least element of the set of real numbers
Being the least element means it belongs to the set and is every member of it.
The value is a real number, and it also takes a proof that 's complement is nonempty. Because , every with automatically has a nonempty complement, so that side condition does not shrink the set being minimized over.
Degenerate and edge cases.
- Sizes. The hypotheses rule out , and , so the index set is never empty or a single point and .
- Subtraction. is subtraction of natural numbers, but since it never truncates.
- Distinctness. The last condition in hypothesis 4 does not forbid repeated values among the . Hypothesis 4 as written does not require distinctness, and the conclusion asserts it. Whether distinctness, or anything else, is forced by cannot be determined from the code shown.
- Unused positions. Only appear in hypothesis 4 and in the conclusion. The values and for are constrained, if at all, only through .
- Extreme case . Here is meant to have elements. For each , the witness must avoid and the other selected indices, and must also minimize off .
- Unused data. The space , the point , the scenarios and the function enter only through and the predicate . The hypotheses and are used only through whatever and do with .
- Vacuity. Whether the hypotheses can all hold at once, or might be vacuous, depends on the opaque predicates and . It cannot be determined from this code.
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.