Lemma 4.11 —
ProvedAvgCompletionSched.InTree.kappa_lower_boundLet an in-tree instance without release dates be given, and let be the critical-path length of job (Definition 4.1). Then:
- for every number of machines, every feasible nonpreemptive -machine schedule satisfies
so ; 2. with unboundedly many machines the value is attained: some feasible schedule on machines (as many machines as jobs, which is as good as unboundedly many) has . Together with part 1 this is the equality .
Part 1 is the second lower bound used in Theorem 4.17.
Formalization Note The optimum is not formed as an infimum: part 1 is stated against every feasible schedule, and is rendered as "attained on machines" (no schedule on any number of machines does better, by part 1).
import Mathlib import Definitions.Def_AvgCompletionSched_InTree_Model
namespace AvgCompletionSched.InTree
/-- Lemma 4.11 (p. 160): `C^m_opt ≥ ∑_i w_i κ_i = C^∞_opt`. First part: every feasible schedule
on any number `m` of machines has value at least `∑_i w_i κ_i`. Second part (the equality with
`C^∞_opt`): with unboundedly many machines (`n` machines suffice for `n` jobs) the value
`∑_i w_i κ_i` is attained, so together with the first part it is the optimum. -/
theorem kappa_lower_bound {n : ℕ} (I : Instance n) :
(∀ (m : ℕ) (N : Schedule I m), ∑ i, I.w i * kappa I i ≤ N.wct) ∧
∃ N : Schedule I n, N.wct = ∑ i, I.w i * kappa I i := by sorry
end AvgCompletionSched.InTree
Read-back
What the Lean code literally says, in plain math · claude-opus-5-5
Undefined names. The statement uses four names from the imported module Definitions.Def_AvgCompletionSched_InTree_Model, and their definitions are not shown here:
- , a type of problem instances indexed by a natural number ;
- , a type of objects built from an instance and a natural number ;
- , a quantity attached to each index of an instance ;
- , a numerical value attached to each schedule .
This read-back therefore cannot say what an instance or a schedule is, what makes a schedule feasible, how is computed, or what number type the values live in. Everything below holds only as far as those hidden definitions give it meaning.
The names suggest a reading: jobs forming an in-tree, machines, weights , and weighted total completion time. The documentation comment also describes the theorem as "Lemma 4.11 (p. 160)", with . Both are suggestions only. The comment is not part of the formal assertion, and the code itself never defines or mentions an optimum or .
Setting. Fix:
- a natural number ;
- an instance of type .
The instance provides a weight for each index , and the sum runs over every index of that index type. Judging by the sums, the index type is finite, presumably with elements, but the code does not show this. Write
Claim. The theorem asserts both of the following.
- Lower bound. For every natural number and every schedule of type ,
The inequality is non-strict.
- Attainment with exactly machines. There exists a schedule of type , where the second parameter is the same that indexes the instance, such that
The statement makes no other claim. In particular:
- It does not say that schedules with fewer than machines can reach .
- It does not say that the schedule in part 2 is unique.
- It does not name as the minimum of anything. That follows only by combining the two parts: over all schedules of type , the least value of exists and equals .
Degenerate cases.
- . If the index type is then empty, is the empty sum . Part 1 becomes for every schedule on any number of machines. Part 2 then requires a schedule with machines whose value is exactly . Whether such a schedule exists depends on the hidden definition of . If none exists, the theorem is false for rather than vacuous.
- in part 1. The claim covers schedules with zero machines. If has no elements (for , say), that instance of part 1 is vacuous. If it does have elements, each one must satisfy the bound.
- Empty schedule types in general. If is empty for some , part 1 says nothing about that .
- Other effects of the hidden definitions. Nothing here can be judged from the code shown: whether may be zero or negative, and whether or involve subtraction in , division, or other operations that return a default value on bad inputs.
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.