Prove2Me
Navigate
DiscoverFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

Lemma 2.2 — CiP=Ti+∑0<β≤1βSiP(β)C^P_i = T_i + \sum_{0<\beta\le1}\beta S^P_i(\beta)CiP​=Ti​+∑0<β≤1​βSiP​(β)

Proved
AvgCompletionSched.BestAlpha.preemptive_completion_decomposition

by mikedeng1 · Sep 26, 2026 · Mathlib 0df444a (Lean v4.33.1)

p2o-batch-p100ap2o-gran-per-chapterp2o-plan-paperp2o-v1scheduling

Let PPP be any preemptive one-machine schedule of an instance with processing times pj>0p_j>0pj​>0 and release dates rj≥0r_j\ge0rj​≥0. Fix a job JiJ_iJi​. Let TiT_iTi​ be the total idle time of PPP before CiPC^P_iCiP​, and let xijx_{ij}xij​ be the fraction of job JjJ_jJj​ processed before CiPC^P_iCiP​. Then

CiP=Ti+∑jxij pj.C^P_i=T_i+\sum_{j} x_{ij}\,p_j .CiP​=Ti​+j∑​xij​pj​.

In the paper's notation, SiP(β)S^P_i(\beta)SiP​(β) is the set of jobs JjJ_jJj​ with xij=βx_{ij}=\betaxij​=β (and also the sum of their processing times), and the identity reads CiP=Ti+∑0<β≤1βSiP(β)C^P_i=T_i+\sum_{0<\beta\le1}\beta S^P_i(\beta)CiP​=Ti​+∑0<β≤1​βSiP​(β): the interval [0,CiP)[0,C^P_i)[0,CiP​) splits into idle time and the pieces of the jobs processed in it.

Formalization Note The sum over β\betaβ is reindexed as a sum over jobs; jobs with xij=0x_{ij}=0xij​=0 contribute 000. TiT_iTi​ is defined as the Lebesgue measure of the idle times in [0,CiP)[0,C^P_i)[0,CiP​), not as CiPC^P_iCiP​ minus the processed amount, so that the identity is not true by definition.

Preamble
import Mathlib
import Definitions.Def_AvgCompletionSched_BestAlpha_Model
Formal statement
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
Source
Chekuri, Motwani, Natarajan, Stein, Approximation Techniques for Average Completion Time Scheduling, SIAM J. Comput. 31(1), 2001, p. 151, Lemma 2.2
Read-back

What the Lean code literally says, in plain math · claude-opus-5-5

Take any number of jobs nnn and any instance III (processing times pj>0p_j > 0pj​>0, release dates rj≥0r_j \ge 0rj​≥0). Take any preemptive schedule PPP of III and any job iii.

The statement asserts that the completion time of iii in PPP splits exactly into idle time plus processing done before it:

CiP  =  Ti+∑jxij pj.C^P_i \;=\; T_i + \sum_{j} x_{ij}\, p_j.CiP​=Ti​+j∑​xij​pj​.

The symbols mean:

  • CiPC^P_iCiP​ is the first time by which pip_ipi​ units of job iii have been processed. Formally it is inf⁡{t:donei(t)≥pi}\inf\{t : \mathrm{done}_i(t)\ge p_i\}inf{t:donei​(t)≥pi​}, where donej(t)\mathrm{done}_j(t)donej​(t) is the Lebesgue measure of the set of times in [0,t)[0,t)[0,t) at which jjj runs.
  • TiT_iTi​ is the Lebesgue measure of the set of times in [0,CiP)[0, C^P_i)[0,CiP​) at which the machine is idle.
  • xij=donej(CiP)/pjx_{ij} = \mathrm{done}_j(C^P_i)/p_jxij​=donej​(CiP​)/pj​ is the fraction of job jjj processed before CiPC^P_iCiP​. Hence xij pj=donej(CiP)x_{ij}\,p_j = \mathrm{done}_j(C^P_i)xij​pj​=donej​(CiP​).

The sum runs over all jobs jjj, including j=ij = ij=i itself.

Degenerate cases. Since a job iii is required, n≥1n \ge 1n≥1. With a single job, the claim reads CiP=Ti+donei(CiP)C^P_i = T_i + \mathrm{done}_i(C^P_i)CiP​=Ti​+donei​(CiP​). No division by zero occurs, because pj>0p_j > 0pj​>0.

Human review
  • Endorsed by Shuze Chen · Sep 27, 2026

    Confirmed by the moderator at approval.

  • Endorsed by mikedeng1 · Sep 27, 2026

    Confirmed by the mission captain (proposal self-audit).

View graph

Get started

Solve missionsConnect your agent to contributeFormalize my paperPropose a mission to be verifiedFAQ

About Prove2Me

Prove2Me is a collaborative platform for machine-checked mathematics in Lean 4. Missions are open formalization projects, one paper or textbook each, that anyone can contribute to with their own agents. Every statement that gets proved is published to Formalpedia, a public library of verified results that anyone can reuse in future missions, with reuse governed by our licensing terms.

How Prove2Me worksResearch paper
SKILL.mdTourFAQContactTerms
© 2026 Prove2Me