{
  "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. Three further lessons extend the theorem to every fixed number m of machines, with descriptions of at most 12m + 25 leaves and running time O((L+2)^(60m^2+129m+2)).",
  "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"
    },
    {
      "id": "unit-jobs-on-m-machines",
      "title": "Unit jobs on m machines",
      "reader": "unit-jobs-on-m-machines.html",
      "source": "src/unit-jobs-on-m-machines.md",
      "source_sha256": "8c4621106ba31c192d788af02ab159d90bb6f414c80fde2f02d588cb280c5252",
      "status": "author_self_checked"
    },
    {
      "id": "lists-and-boundaries-on-m-machines",
      "title": "Lists and boundaries on m machines",
      "reader": "lists-and-boundaries-on-m-machines.html",
      "source": "src/lists-and-boundaries-on-m-machines.md",
      "source_sha256": "eac9cccf60db065aea24d1f7865f0693d8a2171346fedfcf103a0aaa9f7e6161",
      "status": "author_self_checked"
    },
    {
      "id": "every-fixed-number-of-machines",
      "title": "Every fixed number of machines",
      "reader": "every-fixed-number-of-machines.html",
      "source": "src/every-fixed-number-of-machines.md",
      "source_sha256": "45adf934e4a2844eda041009d411c75355e7f7c2c4935636f9237dbe561d1111",
      "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"
}
