Proof of `Scheduling with two non-unit job lengths is NP-complete` (1st statement)
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.
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 and , and compares all pairs of jobs for overlap. Polynomial time on the word RAM transfers to a Turing machine.