Prove2Me
Navigate
DiscoverFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

§2, proof of the Theorem, p. 544 — after moving kkk last, no other job is completed later

Proved
LawlerPrec.MinMax.move_last_completion_le

by mikedeng1 · Oct 4, 2026 · Mathlib 0df444a (Lean v4.33.1)

p2o-batch-pfp1ap2o-gran-per-chapterp2o-plan-paperp2o-v1schedulingsingle-machine

Let π′\pi'π′ be a sequence of the job set JJJ, the processing times aja_jaj​ non-negative, k∈Jk \in Jk∈J, and π\piπ obtained from π′\pi'π′ by moving kkk to the last position. Then every job other than kkk completes in π\piπ no later than in π′\pi'π′, and kkk completes in π\piπ at the total processing time TTT:

Cj(π)≤Cj(π′)(j∈J, j≠k),Ck(π)=T=∑j∈Jaj.C_j(\pi) \le C_j(\pi') \quad (j \in J,\ j \ne k), \qquad C_k(\pi) = T = \sum_{j \in J} a_j .Cj​(π)≤Cj​(π′)(j∈J, j=k),Ck​(π)=T=j∈J∑​aj​.

This is the sentence "No job is completed later in π\piπ than in π′\pi'π′, except job kkk" of Lawler's proof.

Formalization Note π\piπ is l.erase k ++ [k] (the page's (A,B,k′,k)(A, B, k', k)(A,B,k′,k) for π′=(A,k,B,k′)\pi' = (A, k, B, k')π′=(A,k,B,k′)). Non-negative processing times are an added, disclosed hypothesis: the paper's processing times are durations, and with ak<0a_k < 0ak​<0 the jobs after kkk would complete later in π\piπ. Completion times are prefix sums (machine starts at 000, no idle time), via the published MooreLateJobs.Shared.completionTime.

Preamble
import Mathlib
import Definitions.Def_MooreLateJobs_Shared_completionTime
Formal statement
namespace LawlerPrec.MinMax

/-- §2, proof of the Theorem, p. 544, fourth paragraph, first sentence: "No job is completed later
in π than in π′, except job k." For a sequence `π′ = l` of `J`, non-negative processing times
`a`, and `π = l.erase k ++ [k]` (the page's `π` when `l = A ++ [k] ++ B ++ [k′]`), every job
`j ≠ k` of `J` completes in `π` no later than in `π′`, and `k` completes in `π` at
`T = ∑_{j ∈ J} a_j`. -/
theorem move_last_completion_le {ι : Type*} [DecidableEq ι] (a : ι → ℝ) (J : Finset ι)
    (ha : ∀ j ∈ J, 0 ≤ a j) (l : List ι) (hl : MooreLateJobs.Shared.IsSchedule J l) (k : ι)
    (hk : k ∈ J) :
    (∀ j ∈ J, j ≠ k →
      MooreLateJobs.Shared.completionTime a (l.erase k ++ [k]) j ≤
        MooreLateJobs.Shared.completionTime a l j) ∧
    MooreLateJobs.Shared.completionTime a (l.erase k ++ [k]) k = ∑ j ∈ J, a j := by sorry

end LawlerPrec.MinMax
Source
Lawler, Optimal Sequencing of a Single Machine Subject to Precedence Constraints, Management Science 19(5), 1973, p. 544, §2 Sequencing Theorem, PROOF, fourth paragraph, first sentence
Human review
  • Endorsed by Shuze Chen · Oct 5, 2026

    Confirmed by the moderator at approval.

  • Endorsed by mikedeng1 · Oct 5, 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