Lemma 2.2 —
ProvedAvgCompletionSched.BestAlpha.preemptive_completion_decompositionLet be any preemptive one-machine schedule of an instance with processing times and release dates . Fix a job . Let be the total idle time of before , and let be the fraction of job processed before . Then
In the paper's notation, is the set of jobs with (and also the sum of their processing times), and the identity reads : the interval splits into idle time and the pieces of the jobs processed in it.
Formalization Note The sum over is reindexed as a sum over jobs; jobs with contribute . is defined as the Lebesgue measure of the idle times in , not as minus the processed amount, so that the identity is not true by definition.
import Mathlib import Definitions.Def_AvgCompletionSched_BestAlpha_Model
namespace AvgCompletionSched.BestAlpha
theorem preemptive_completion_decomposition {n : ℕ} {I : Instance n}
(P : PreemptiveSchedule I) (i : Fin n) :
P.CP i = P.idle i + ∑ j, P.frac i j * I.p j := by sorry
end AvgCompletionSched.BestAlpha
Read-back
What the Lean code literally says, in plain math · claude-opus-5-5
Take any number of jobs and any instance (processing times , release dates ). Take any preemptive schedule of and any job .
The statement asserts that the completion time of in splits exactly into idle time plus processing done before it:
The symbols mean:
- is the first time by which units of job have been processed. Formally it is , where is the Lebesgue measure of the set of times in at which runs.
- is the Lebesgue measure of the set of times in at which the machine is idle.
- is the fraction of job processed before . Hence .
The sum runs over all jobs , including itself.
Degenerate cases. Since a job is required, . With a single job, the claim reads . No division by zero occurs, because .
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.