{
  "id": "three-machine-unit-job-scheduling",
  "title": "Scheduling unit jobs on three machines",
  "description": "OpenAI's theorem (2026) that unit jobs with arbitrary precedence constraints can be scheduled on three identical machines with minimum makespan in polynomial time: a dynamic program over Boolean descriptions of bounded size, made complete by a hierarchy of schedule intervals cut at separators of shared cutoffs, with short lists of upsets and boundary invariants that keep every description bounded at every depth.",
  "units": [
    {
      "id": "unit-jobs-on-three-machines",
      "title": "Unit jobs on three machines",
      "reader": "unit-jobs-on-three-machines.html",
      "source": "src/unit-jobs-on-three-machines.md",
      "source_sha256": "e94e77d35539a6b873dba2f97b08ad4b867a567ba85cd8470e0c345f37f250fe",
      "status": "author_self_checked"
    },
    {
      "id": "descriptions-and-a-dynamic-program",
      "title": "Descriptions and a dynamic program",
      "reader": "descriptions-and-a-dynamic-program.html",
      "source": "src/descriptions-and-a-dynamic-program.md",
      "source_sha256": "e9f6c8cdc7d30ac3961e55a4e64fd83deb4e8f5b614449c7cc9be6f3e1e76973",
      "status": "author_self_checked"
    },
    {
      "id": "separators-and-the-shared-cutoff-walk",
      "title": "Separators and the shared-cutoff walk",
      "reader": "separators-and-the-shared-cutoff-walk.html",
      "source": "src/separators-and-the-shared-cutoff-walk.md",
      "source_sha256": "50d689c6b589b3d52fd0cd09f8608bbbe3705709843bebd48b164cfdddd70616",
      "status": "author_self_checked"
    },
    {
      "id": "centers-sides-and-edge-cutoffs",
      "title": "Centers, sides and edge cutoffs",
      "reader": "centers-sides-and-edge-cutoffs.html",
      "source": "src/centers-sides-and-edge-cutoffs.md",
      "source_sha256": "7adac4c51e86a26506993c70ae862c7002243abfddec5918b9129fd49b204a5d",
      "status": "author_self_checked"
    },
    {
      "id": "carried-and-pruned-lists",
      "title": "Carried and pruned lists",
      "reader": "carried-and-pruned-lists.html",
      "source": "src/carried-and-pruned-lists.md",
      "source_sha256": "a620d3aabd9ce29b7d2c314805bbc3ae0159f29b5ece277fd15f935bfaae2538",
      "status": "author_self_checked"
    },
    {
      "id": "changing-direction",
      "title": "Changing direction",
      "reader": "changing-direction.html",
      "source": "src/changing-direction.md",
      "source_sha256": "9fab259c3bd7fd4427d4ef0248e24180800bd9c25c2185cc87f2d76fd6398cd4",
      "status": "author_self_checked"
    },
    {
      "id": "boundary-invariants",
      "title": "Boundary invariants",
      "reader": "boundary-invariants.html",
      "source": "src/boundary-invariants.md",
      "source_sha256": "a2c928ee9f4a0eecfa9e1c7938f3d704a9ac36fdaaa12da3feb31e1d3dcb1d58",
      "status": "author_self_checked"
    },
    {
      "id": "global-descriptions-and-the-running-time",
      "title": "Global descriptions and the running time",
      "reader": "global-descriptions-and-the-running-time.html",
      "source": "src/global-descriptions-and-the-running-time.md",
      "source_sha256": "61bacf6b8cf1bf0803a43e1224e4e7507ae98da642ea4cc236e06d3ead3ab5df",
      "status": "author_self_checked"
    }
  ],
  "prerequisites": [
    "partial orders, Boolean formulas, and running time on a deterministic multitape Turing machine at the level of counting sequential scans",
    "the course proves every fact about orders, schedules and formulas that it uses"
  ],
  "status": "author_self_checked",
  "proof_providers": "providers.json",
  "provenance": "provenance.json",
  "licence": "CC0-1.0"
}
