Results on schedules, descriptions, separators, lists and boundary invariants, with their assumptions
The course proves the statements below; each link leads to the statement with its assumptions and its proof. The lessons are self-checked by the writing AI; independent mathematical review is not complete.
- Linear extensions — Lemma 1.2. Removing a job without remaining predecessors at each step lists a finite partial order in an order extending it.
- Integer start times suffice — Lemma 1.3. A schedule with real start times on three machines can be replaced by a slot schedule with no larger makespan.
- Padding — Lemma 2.1. A deadline T is feasible exactly when the jobs padded with isolated jobs to 3T have a full schedule.
- Reordering an open interval — Lemma 2.2. Replacing the slots of an open interval by any full schedule of its job set keeps the whole schedule full.
- Three-machine scheduling in polynomial time (OpenAI) — Theorem 3.1. A deterministic algorithm decides every deadline and finds a minimum-makespan schedule of unit jobs with precedence constraints on three machines in polynomial time.
- The family is polynomial — Lemma 2.2. Boolean formulas of at most K leaves in rank, triple and cone tests describe at most C_K N^(3K) sets, listed in polynomial time.
- Soundness — Proposition 3.1. Every set accepted by the dynamic program has a full schedule, assembled along an accepting path of states.
- Hierarchies give acceptance — Lemma 4.2. If a full schedule has a bounded-description hierarchy, the dynamic program accepts all jobs.
- Structure theorem (OpenAI) — Theorem 4.3. Every full schedule has a bounded-description hierarchy whose descriptions have fewer than 500 leaves.
- Jobs before a separator — Lemma 1.2. For a separator z at cutoff S and any H agreeing with S on the domain, P_z together with H minus the weak cone of z describes the jobs before z.
- No improving exchange — Lemma 2.1. In a normalized schedule, after any reordering strictly after a slot, no job there can be exchanged with a later job of better priority.
- One advance — Lemma 3.1. Advancing to the earliest exception keeps every earlier high job below the new slot.
- Shared-cutoff walk (OpenAI) — Lemma 3.3. Promoting one job, the walk from a separator of the old cutoff ends at a position separating both the old and the new cutoff.
- Separators exist — Corollary 3.4. Every cutoff of a set with a full schedule is separated by a slot of some full schedule of the set.
- Cover — Lemma 2.1. Invariant (I1) puts every job of a node in D_a or P_b, in either frame.
- Priority orders of the sides — Lemma 3.1. The same and switched priority orders extend precedence, and their promotions end at the center cutoff.
- Edge labels — Lemma 4.2. A child's low jobs lie in D_a' and P_b, its high jobs in P_b'; children miss the center.
- Suffix carry — Lemma 1.1. A suffix of a list trimmed by a rank threshold selects exactly the qualifiers with key at least the threshold, in the same order.
- The new qualifiers — Lemma 2.1. After a same or switched update, the child's qualifiers are exactly its high jobs, and (I1) holds.
- At most five entries — Lemma 3.2. Surviving injections contain different jobs of a three-job slot, so a list has at most five entries.
- Local flattening — Lemma 1.1. The carried switch pair agrees on later nodes of its run with a two-leaf upset.
- Short extension — Lemma 2.1. The low set of an existing edge extends to a global downset with at most 21 leaves.
- The switch upset — Lemma 3.2. A four-factor upset covers the node's X and contains no job at or before its boundary.
- (I2) for children — Lemma 2.1. Every qualifier scheduled at or before a child's left boundary lies in that boundary's weak predecessor cone.
- (I3) for children — Lemma 3.1. After any reordering of a child, no key-decreasing exchange with its boundary slot gives a full schedule.
- Global child descriptions — Lemma 2.1. A child's high and low jobs are described by bounded formulas on all jobs, without reference to its ancestors.
- Leaf counts — Lemma 4.1. Node descriptions need at most 257 leaves and split descriptions at most 132.
- Running time — Proposition 5.1. With K = 10000 the algorithm runs in O((L+2)^150020) multitape steps.
Reading order
Read the lessons in order; the third lesson on separators can be read on its own after the first two.