While this submission is a draft, it cannot be used by other submissions.

Proof of `Scheduling with two non-unit job lengths is NP-complete` (1st statement)

groundedproofs/Lax391470Proofs/V1Final.lean · lax-391470

What this proof establishes

Assuming the claims on the left, the claim on the right holds — checked by the archive's pipeline. Proof code is not displayed here.

Read the Lean proof on GitHub

Description

A certificate is a schedule: for every job a sign and the absolute value of its start time, in the code of the instance. Since a job starts between its release time and its deadline, a feasible schedule is no longer to write down than the instance. The verifier is a word RAM program: it takes the pair of instance and certificate apart, reads both with a one-pass tokenizer — once up to the end of the instance, to see that the instance is complete, and once to the end — shifts all times to natural numbers, checks every job against its availability interval and its length against pp and qq, and compares all pairs of jobs for overlap. Polynomial time on the word RAM transfers to a Turing machine.