Skip to content

Import sharp Graham–LPT scheduling bounds and equality cases - #694

Merged
Vilin97 merged 5 commits into
mainfrom
codex/acquire-graham-lpt-20261020
Oct 20, 2026
Merged

Vilin97 merged 5 commits into
mainfrom
codex/acquire-graham-lpt-20261020

Conversation

@Vilin97

@Vilin97 Vilin97 commented Oct 20, 2026 •

Copy link
Copy Markdown
Collaborator

Adds a self-contained theory of identical-machine scheduling: Graham's sharp 2 - 1/m list-scheduling and 4/3 - 1/(3m) LPT bounds, explicit tight instances, Dósa's classification of all positive tight instances, and the LPT-ratio supremum at every fixed job count n ≥ 2m + 1. The definitions quantify over arbitrary real job lengths and every allowed tie breaking; the existence, scaling, relabeling, critical-job and optimality results provide reusable scheduling infrastructure.

Upstream is JD-Jones-ASES/graham-lpt-lean, pinned to c8ed035b407cc554faf4b68df0cf3edc70058977. Its MIT license and JD Jones's copyright notice are retained in the entry module. Provenance is AI: the upstream disclosure says JD Jones directed the work, Claude wrote the development, and GPT supplied a pre-submission consultation. No independent human review is claimed.

This acquisition uses the eligible interval [2026-08-20 09:45:10 UTC, 2026-10-13 09:45:10 UTC). Eligibility rests on material completion, rather than a repository refresh: checkpoint d863c08b5352 is dated 2026-10-11 18:57:04 UTC and records the completed 39-theorem development and successful verification. GitHub's public event feed records the repository public at 2026-10-11 16:02:53 UTC and the completed checkpoint pushed at 2026-10-11 18:57:07 UTC, corroborating the commit time. The imported latest revision also includes the subsequent explicit-order and documentation repairs, bringing the named contracts to 41.

The import contains all 17 mathematical modules and the proved named contracts. It omits the open challenge copy, redundant umbrella, test/audit programs, generators and registry tooling. One YAML card and the generated public Imports.lean register the project; LeanPool.lean is unchanged. All 41 published theorem signatures match upstream exactly. Their proofs now live directly under the public names instead of 50 redundant forwarding/helper declarations. Eleven helper definitions were renamed for Mathlib compatibility, and the prefix-restriction refactor strengthens helper statements by dropping unnecessary hypotheses. No theorem has been weakened.

Port and optimization work:

  • Port Lean/Mathlib v4.35.0-rc2 to the pool's exact v4.35.0-rc3 pins (Mathlib c55e6e786f49471c72fbddbec5415808896aec1e).
  • Replace the whole-Mathlib import with specific public vocabulary and local proof imports. Import analysis also removes the unnecessary OptList → TightLPT dependency and the redundant umbrella module.
  • Restrict expensive arithmetic searches in the fixed-job-count proof to the hypotheses they actually use.
  • Add reusable prefix restriction and tail-load bounds, relate padded jobs to Graham's original instance, and reuse the original pairing, prefix-load, job-length and optimal-assignment witnesses. Remove unneeded epsilon hypotheses from prefix helpers.
  • Move the generic prefix recurrence and fiber identities into Basic, specialize real loads from them, and use the same implementations for integer counts and weights.
  • Consolidate 50 forwarding/helper declarations under the public theorem names while retaining their original proofs and all 41 published statement signatures.
  • Repair 250 long lines, seven show/change warnings, a proof-focus warning, and eleven helper-definition naming errors, without suppressions.
  • Distinguish the separately proved fixed-count supremum from Dósa's stronger strict-supremum remark. The entry module records the mathematical references and scope differences.

Controlled project rebuilds used the same Azure VM, exact dependency checkouts, prebuilt dependencies, and /usr/bin/time -v lake build LeanPool.GrahamLPT, deleting only this project's generated artifacts before each run. Other VM workloads were present, so these are observed samples, not a hardware-independent guarantee.

Measurement Initial port Optimized import
Wall time 58.17 s 33.61–33.70 s
Maximum process RSS 3,095,600 KiB 1,079,624–1,085,660 KiB
Dependency/build graph jobs 8,978 1,107
Warnings 258 0

The two final clean samples reduce wall time by 42.1–42.2% (about 1.73×) and maximum process RSS by 64.9–65.1%. They received 182–190% CPU, compared with 252% for the preceding 22.47-second sample; shared-VM load limits per-edit wall-time attribution. Summed synchronous command-profile heartbeat counts for Basic and CoffmanSethi fall from 71,719,805 to 65,773,810 (8.3%) after the generic consolidation, measured against the same built imports. Total process CPU time falls from the initial port's 127.32 seconds to 61.47–64.09 seconds in the final clean samples. Per-file timings and declaration profiles identified FixedCount and OptList; the optimization preserves all mathematical generality. Logs and the upstream/signature comparison are retained in the acquisition workspace.

Local validation:

  • Warning-free project and public-wrapper builds.
  • lake exe mk_all --module --check and Mathlib text style checks.
  • Current repository static quality/card checks.
  • Current quality-checker axiom closure, compiled environment/backdoor audit, and registered-endpoint checks for all imported modules.
  • The CI declaration-linter runner: 15 linters pass over 676 declarations in 19 modules (194 source declarations plus generated auxiliaries).
  • Searches of the exact pinned Mathlib/Tau Ceti source trees, pool cards/source, repository history, and open/closed PRs/issues found no scheduling duplicate.
  • No Python, workflow, linter configuration, waiver or other infrastructure changes.

Final-source Lean Action CI is successful: full-pool build and warning check, declaration linters, text style and repository quality all pass. All other required contexts pass or are correctly scoped out for this content-only diff. Independent review comments remain separate from this source and validation description. Merge uses the repository's protected native queue.

@greptile-apps

greptile-apps Bot commented Oct 20, 2026 •

Copy link
Copy Markdown

Advisory cross-file review against Lean Pool's supervisory rubric. This is not by itself a significance, source-verification, or merge verdict.

RetriggerView in Greptile

[Medium impact] No blocking issue was found in the reviewed changes.

Summary

Imports Graham’s scheduling bounds, tight examples, equality cases, and fixed-job-count supremum. The latest changes share prefix-sum proofs between real loads and integer counts and weights.

  • Lean can now compare list schedules with the best assignment.
  • LPT schedules now have a sharp bound and examples that reach it.
  • The library now identifies every positive instance that reaches the LPT bound.
  • The LPT ratio bound now has a result for each fixed job count.
  • The scheduling theory is now available as a Lean Pool project.

Reviews (5) · Last reviewed commit: "Share generic prefix sum identities acro..." · Reviewed by Greptile

Comment thread LeanPool/GrahamLPT/FixedCount.lean Outdated
@github-actions

github-actions Bot commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

Proof profile (new / modified Lean files)

lake build wall time (changed modules): 45.64 s (= 0.76 min) — user 93.47 s, sys 13.10 s.

This build covers the changed modules and their dependency cones on top of the restored cache. The serial per-file sums below are useful for ranking slow files, not as a build budget.

Total heartbeats: 710,847 maxHeartbeats units across 19 valid files (3,915 added LOC).

Sum of lean --profile: 68469.9 ms (= 68.47 s) across 19 valid files. Import-excluded time: 52814.9 ms (= 52.81 s).

Count-heartbeats wall-clock total: 167.65 s. Repeated import cost inside lean --profile: 15655.0 ms (= 15.65 s).

Heartbeat values sum disjoint root command traces with trace.profiler.useHeartbeats and synchronous elaboration, converted from raw allocations to maxHeartbeats units by dividing by 1000. They include command elaboration and kernel checking, exclude imports, and include profiler overhead; they are not comparable to the deprecated linter's totals. Per-file wall clocks are measured under parallel load and are noisier than heartbeats.

LOC counts added lines in the profiled Lean files from this PR diff.

File LOC Heartbeats (maxHB) Count wall (s) lean --profile (s) Without import (s) Import (s) Commands Errors
LeanPool/GrahamLPT/OptList.lean 226 277,501 41.41 16.65 15.86 0.80 19 0
LeanPool/GrahamLPT/Equality.lean 626 83,794 17.01 7.98 7.17 0.82 38 0
LeanPool/GrahamLPT/TightLPT.lean 279 63,853 12.90 6.17 5.36 0.80 23 0
LeanPool/GrahamLPT/Counter.lean 190 52,245 13.47 4.87 4.09 0.78 15 0
LeanPool/GrahamLPT/Certificates.lean 275 52,221 11.04 4.50 3.70 0.80 13 0
LeanPool/GrahamLPT/CoffmanSethi.lean 369 45,321 13.09 4.35 3.56 0.79 21 0
LeanPool/GrahamLPT/FixedCount.lean 298 27,355 8.27 3.39 2.58 0.81 29 0
LeanPool/GrahamLPT/Basic.lean 355 20,453 6.13 2.83 2.02 0.82 44 0
LeanPool/GrahamLPT/TightList.lean 221 19,091 4.68 2.71 1.91 0.80 19 0
LeanPool/GrahamLPT/Key.lean 209 18,988 6.78 2.18 1.39 0.79 11 0
LeanPool/GrahamLPT/LPTBound.lean 84 17,676 6.57 1.94 1.15 0.79 9 0
LeanPool/GrahamLPT/ListOptimum.lean 216 9,529 4.61 1.93 1.12 0.82 11 0
LeanPool/GrahamLPT/Ratio.lean 72 7,584 3.30 1.46 0.67 0.79 8 0
LeanPool/GrahamLPT/ListBound.lean 73 6,208 3.60 1.44 0.65 0.79 9 0
LeanPool/GrahamLPT/GrahamScaled.lean 138 3,595 3.58 1.31 0.51 0.80 13 0
LeanPool/GrahamLPT/LPTForm.lean 85 3,247 3.15 1.17 0.39 0.78 9 0
LeanPool/GrahamLPT/Defs.lean 92 2,184 3.08 1.14 0.36 0.78 15 0
LeanPool/GrahamLPT.lean 81 0 2.48 1.50 0.18 1.32 3 0
LeanPool/GrahamLPT/Imports.lean 26 0 2.50 0.94 0.15 0.79 1 0
Total 3,915 710,847 167.65 68.47 52.81 15.65 310 0

Aggregate phase totals

Phase Time
import 15655.0 ms (= 15.65 s)
interpretation 13616.0 ms (= 13.62 s)
typeclass inference 9966.6 ms (= 9.97 s)
simp 9787.7 ms (= 9.79 s)
tactic execution 7710.9 ms (= 7.71 s)
type checking 5478.8 ms (= 5.48 s)
tacticAnalysis 1023.5 ms (= 1.02 s)
elaboration 1002.3 ms (= 1.00 s)
ring 876.3 ms (= 0.88 s)
norm_num 748.3 ms (= 0.75 s)
initialization 597.9 ms (= 0.60 s)
linting 580.0 ms (= 0.58 s)

Slowest changed modules (from lake build)

Changed module Lake time
LeanPool.GrahamLPT.OptList 17.00 s
LeanPool.GrahamLPT.Certificates 8.60 s
LeanPool.GrahamLPT.Equality 7.20 s
LeanPool.GrahamLPT.Counter 6.30 s
LeanPool.GrahamLPT.Key 6.20 s
LeanPool.GrahamLPT.CoffmanSethi 5.90 s
LeanPool.GrahamLPT.TightLPT 5.30 s
LeanPool.GrahamLPT.FixedCount 5.20 s
LeanPool.GrahamLPT.LPTBound 5.10 s
LeanPool.GrahamLPT.TightList 4.60 s
LeanPool.GrahamLPT.GrahamScaled 3.80 s
LeanPool.GrahamLPT.ListOptimum 3.70 s
Per-file `lean --profile` output

LeanPool/GrahamLPT.lean

import took 1.32s
cumulative profiling times:
	elaboration 0.373ms
	import 1.32s
	initialization 36.6ms
	interpretation 134ms
	linting 0.94ms
	module linting 0.00176ms
	overlappingInstancesLinter 1.07ms
	parsing 0.0609ms
	tacticAnalysis 2.24ms
real 2.21
user 0.93
sys 0.96

LeanPool/GrahamLPT/Basic.lean

import took 817ms
cumulative profiling times:
	attribute application 0.415ms
	compilation (IR) 0.0776ms
	compilation (LCNF base) 0.68ms
	compilation (LCNF impure) 0.373ms
	compilation (LCNF mono) 0.557ms
	congr simp thm 8.47ms
	elaboration 117ms
	fix level params 1.8ms
	import 816ms
	initialization 30.1ms
	instantiate metavars 3.53ms
	interpretation 431ms
	let-to-have transformation 0.516ms
	linting 44.1ms
	module linting 0.00154ms
	norm_num 0.261ms
	overlappingInstancesLinter 13.9ms
	parsing 34.5ms
	process pre-definitions 18.5ms
	ring 6.05ms
	share common exprs 9.99ms
	simp 238ms
	tactic execution 259ms
	tacticAnalysis 96.4ms
	type checking 108ms
	typeclass inference 592ms
real 2.22
user 2.65
sys 0.90

LeanPool/GrahamLPT/Certificates.lean

import took 802ms
interpretation of Mathlib.Tactic._aux_Mathlib_Tactic_Linarith_Frontend___elabRules_Mathlib_Tactic_nlinarith_1._boxed took 189ms
interpretation of Mathlib.Tactic._aux_Mathlib_Tactic_Linarith_Frontend___elabRules_Mathlib_Tactic_nlinarith_1._boxed took 193ms
interpretation of Mathlib.Tactic._aux_Mathlib_Tactic_Linarith_Frontend___elabRules_Mathlib_Tactic_nlinarith_1._boxed took 246ms
interpretation of Mathlib.Tactic._aux_Mathlib_Tactic_Linarith_Frontend___elabRules_Mathlib_Tactic_nlinarith_1._boxed took 256ms
interpretation of Mathlib.Tactic._aux_Mathlib_Tactic_Linarith_Frontend___elabRules_Mathlib_Tactic_nlinarith_1._boxed took 246ms
interpretation of Mathlib.Tactic._aux_Mathlib_Tactic_Linarith_Frontend___elabRules_Mathlib_Tactic_nlinarith_1._boxed took 175ms
cumulative profiling times:
	attribute application 0.0909ms
	congr simp thm 3.2ms
	elaboration 66.6ms
	fix level params 1.46ms
	import 802ms
	initialization 30.9ms
	instantiate metavars 5.04ms
	interpretation 1.95s
	let-to-have transformation 0.192ms
	linting 49.3ms
	module linting 0.00145ms
	norm_num 17.2ms
	overlappingInstancesLinter 5.71ms
	parsing 22.9ms
	process pre-definitions 20.3ms
	ring 113ms
	share common exprs 23.8ms
	simp 119ms
	tactic execution 281ms
	tacticAnalysis 59ms
	type checking 117ms
	typeclass inference 816ms
real 3.54
user 4.40
sys 0.88

LeanPool/GrahamLPT/CoffmanSethi.lean

import took 791ms
interpretation of Mathlib.Tactic._aux_Mathlib_Tactic_Linarith_Frontend___elabRules_Mathlib_Tactic_nlinarith_1._boxed took 443ms
cumulative profiling times:
	attribute application 0.16ms
	compilation (IR) 0.145ms
	compilation (LCNF base) 1.73ms
	compilation (LCNF impure) 0.695ms
	compilation (LCNF mono) 1.17ms
	congr simp thm 5.21ms
	elaboration 71.7ms
	fix level params 1.8ms
	import 791ms
	initialization 31.1ms
	instantiate metavars 6.28ms
	interpretation 1.14s
	let-to-have transformation 0.222ms
	linting 56.3ms
	module linting 0.0014ms
	norm_num 73.2ms
	overlappingInstancesLinter 8.37ms
	parsing 33ms
	process pre-definitions 20.5ms
	ring 78.3ms
	share common exprs 20.9ms
	simp 218ms
	tactic execution 505ms
	tacticAnalysis 95.7ms
	type checking 302ms
	typeclass inference 884ms
real 2.86
user 4.19
sys 0.88

LeanPool/GrahamLPT/Counter.lean

import took 780ms
tactic execution of Lean.Parser.Tactic.omega took 162ms
tactic execution of Lean.Parser.Tactic.omega took 164ms
cumulative profiling times:
	attribute application 0.112ms
	congr simp thm 12ms
	elaboration 50.4ms
	fix level params 3.16ms
	import 780ms
	initialization 30.3ms
	instantiate metavars 71ms
	interpretation 1.66s
	let-to-have transformation 0.216ms
	linting 19.5ms
	module linting 0.00148ms
	norm_num 194ms
	overlappingInstancesLinter 4.28ms
	parsing 16.4ms
	process pre-definitions 46.2ms
	ring 7.17ms
	share common exprs 26.8ms
	simp 401ms
	tactic execution 615ms
	tacticAnalysis 48.4ms
	type checking 265ms
	typeclass inference 619ms
real 3.07
user 4.70
sys 0.88

LeanPool/GrahamLPT/Defs.lean

import took 776ms
cumulative profiling times:
	attribute application 0.063ms
	compilation (IR) 0.574ms
	compilation (LCNF base) 11.6ms
	compilation (LCNF impure) 2.7ms
	compilation (LCNF mono) 5.13ms
	elaboration 33ms
	fix level params 0.0889ms
	import 776ms
	initialization 35.3ms
	instantiate metavars 0.109ms
	interpretation 194ms
	let-to-have transformation 0.0958ms
	linting 6.45ms
	module linting 0.00139ms
	overlappingInstancesLinter 3.82ms
	parsing 5.7ms
	process pre-definitions 4.16ms
	share common exprs 0.455ms
	tacticAnalysis 17ms
	type checking 3.82ms
	typeclass inference 36.6ms
real 1.74
user 1.04
sys 0.84

LeanPool/GrahamLPT/Equality.lean

import took 818ms
interpretation of Mathlib.Tactic._aux_Mathlib_Tactic_Linarith_Frontend___elabRules_Mathlib_Tactic_nlinarith_1._boxed took 113ms
interpretation of Mathlib.Tactic._aux_Mathlib_Tactic_Linarith_Frontend___elabRules_Mathlib_Tactic_nlinarith_1._boxed took 177ms
interpretation of Mathlib.Tactic._aux_Mathlib_Tactic_Linarith_Frontend___elabRules_Mathlib_Tactic_nlinarith_1._boxed took 151ms
interpretation of Mathlib.Tactic._aux_Mathlib_Tactic_Linarith_Frontend___elabRules_Mathlib_Tactic_nlinarith_1._boxed took 455ms
cumulative profiling times:
	attribute application 0.342ms
	blocked (unaccounted) 0.0618ms
	congr simp thm 6.22ms
	elaboration 224ms
	fix level params 4.53ms
	import 818ms
	initialization 30.4ms
	instantiate metavars 19.6ms
	interpretation 2.38s
	let-to-have transformation 0.787ms
	linting 119ms
	module linting 0.00156ms
	norm_num 26.1ms
	overlappingInstancesLinter 14.2ms
	parsing 69.9ms
	process pre-definitions 49.8ms
	ring 224ms
	share common exprs 66.5ms
	simp 341ms
	tactic execution 1.06s
	tacticAnalysis 175ms
	type checking 665ms
	typeclass inference 1.69s
real 4.04
user 7.80
sys 0.89

LeanPool/GrahamLPT/FixedCount.lean

import took 806ms
cumulative profiling times:
	attribute application 0.253ms
	congr simp thm 3.23ms
	elaboration 83.7ms
	fix level params 1.62ms
	import 806ms
	initialization 30.3ms
	instantiate metavars 4.99ms
	interpretation 720ms
	let-to-have transformation 0.372ms
	linting 48.3ms
	module linting 0.00139ms
	norm_num 95.3ms
	overlappingInstancesLinter 11.2ms
	parsing 30ms
	process pre-definitions 17.9ms
	ring 69.9ms
	share common exprs 18.1ms
	simp 111ms
	tactic execution 353ms
	tacticAnalysis 81.6ms
	type checking 247ms
	typeclass inference 655ms
real 2.64
user 3.26
sys 0.86

LeanPool/GrahamLPT/GrahamScaled.lean

import took 800ms
cumulative profiling times:
	attribute application 0.0798ms
	congr simp thm 0.62ms
	elaboration 27ms
	fix level params 0.387ms
	import 800ms
	initialization 30.6ms
	instantiate metavars 1.14ms
	interpretation 212ms
	let-to-have transformation 0.106ms
	linting 12.6ms
	module linting 0.00147ms
	norm_num 0.677ms
	overlappingInstancesLinter 4.62ms
	parsing 9.52ms
	process pre-definitions 4.33ms
	ring 4.35ms
	share common exprs 2.78ms
	simp 9.81ms
	tactic execution 86.4ms
	tacticAnalysis 28ms
	type checking 14.4ms
	typeclass inference 62.4ms
real 1.84
user 1.20
sys 0.87

LeanPool/GrahamLPT/Imports.lean

import took 789ms
cumulative profiling times:
	elaboration 0.0985ms
	import 789ms
	initialization 30.1ms
	interpretation 117ms
	linting 0.25ms
	module linting 0.00196ms
	overlappingInstancesLinter 0.105ms
	parsing 0.00167ms
	tacticAnalysis 0.419ms
real 1.67
user 0.87
sys 0.85

LeanPool/GrahamLPT/Key.lean

import took 789ms
cumulative profiling times:
	attribute application 0.0626ms
	blocked (unaccounted) 0.567ms
	congr simp thm 1.88ms
	elaboration 27.8ms
	fix level params 0.67ms
	import 789ms
	initialization 31.1ms
	instantiate metavars 3.31ms
	interpretation 392ms
	let-to-have transformation 0.0973ms
	linting 30.9ms
	module linting 0.00143ms
	norm_num 0.985ms
	overlappingInstancesLinter 9.47ms
	parsing 19.6ms
	process pre-definitions 7.36ms
	ring 16.3ms
	share common exprs 6.97ms
	simp 75.6ms
	tactic execution 254ms
	tacticAnalysis 45.9ms
	type checking 134ms
	typeclass inference 328ms
real 2.58
user 2.08
sys 0.85

LeanPool/GrahamLPT/LPTBound.lean

import took 789ms
interpretation of Mathlib.Tactic._aux_Mathlib_Tactic_Linarith_Frontend___elabRules_Mathlib_Tactic_nlinarith_1._boxed took 187ms
interpretation of Mathlib.Tactic._aux_Mathlib_Tactic_Linarith_Frontend___elabRules_Mathlib_Tactic_nlinarith_1._boxed took 145ms
cumulative profiling times:
	attribute application 0.0322ms
	congr simp thm 1.15ms
	elaboration 16.7ms
	fix level params 0.519ms
	import 789ms
	initialization 38.1ms
	instantiate metavars 1.24ms
	interpretation 654ms
	let-to-have transformation 0.0661ms
	linting 14.3ms
	module linting 0.0015ms
	norm_num 45.5ms
	overlappingInstancesLinter 3.15ms
	parsing 4.42ms
	process pre-definitions 4.35ms
	ring 25.9ms
	share common exprs 6.31ms
	simp 10ms
	tactic execution 69.6ms
	tacticAnalysis 18.8ms
	type checking 32.4ms
	typeclass inference 205ms
real 2.32
user 1.85
sys 0.85

LeanPool/GrahamLPT/LPTForm.lean

import took 784ms
cumulative profiling times:
	attribute application 0.0328ms
	congr simp thm 0.565ms
	elaboration 20.7ms
	fix level params 0.211ms
	import 784ms
	initialization 30.5ms
	instantiate metavars 0.521ms
	interpretation 179ms
	let-to-have transformation 0.0896ms
	linting 7.19ms
	module linting 0.00173ms
	overlappingInstancesLinter 6.28ms
	parsing 4.45ms
	process pre-definitions 1.65ms
	share common exprs 1.13ms
	simp 9.01ms
	tactic execution 29ms
	tacticAnalysis 17.5ms
	type checking 4.93ms
	typeclass inference 77.6ms
real 1.75
user 1.07
sys 0.84

LeanPool/GrahamLPT/ListBound.lean

import took 789ms
cumulative profiling times:
	attribute application 0.0328ms
	congr simp thm 1.15ms
	elaboration 15.7ms
	fix level params 0.473ms
	import 789ms
	initialization 30.1ms
	instantiate metavars 0.952ms
	interpretation 327ms
	let-to-have transformation 0.06ms
	linting 10.9ms
	module linting 0.00147ms
	norm_num 25.2ms
	overlappingInstancesLinter 4.01ms
	parsing 3.4ms
	process pre-definitions 3.67ms
	ring 26.3ms
	share common exprs 5.31ms
	simp 9.54ms
	tactic execution 40.9ms
	tacticAnalysis 14.7ms
	type checking 35.6ms
	typeclass inference 100ms
real 1.87
user 1.33
sys 0.84

LeanPool/GrahamLPT/ListOptimum.lean

import took 816ms
cumulative profiling times:
	attribute application 0.0637ms
	congr simp thm 0.789ms
	elaboration 34.4ms
	fix level params 0.747ms
	import 816ms
	initialization 31.5ms
	instantiate metavars 4.66ms
	interpretation 436ms
	let-to-have transformation 0.107ms
	linting 27.1ms
	module linting 0.00242ms
	norm_num 1.9ms
	overlappingInstancesLinter 8.02ms
	parsing 15.1ms
	process pre-definitions 8.87ms
	ring 40ms
	share common exprs 8.75ms
	simp 38.3ms
	tactic execution 176ms
	tacticAnalysis 51.9ms
	type checking 72.9ms
	typeclass inference 159ms
real 2.03
user 1.81
sys 0.87

LeanPool/GrahamLPT/OptList.lean

import took 797ms
simp took 175ms
simp took 125ms
simp took 200ms
simp took 117ms
interpretation of Mathlib.Tactic._aux_Mathlib_Tactic_SplitIfs___elabRules_Mathlib_Tactic_splitIfs_1._boxed took 197ms
cumulative profiling times:
	attribute application 0.152ms
	compilation (IR) 0.33ms
	compilation (LCNF base) 5.81ms
	compilation (LCNF impure) 1.58ms
	compilation (LCNF mono) 3.11ms
	congr simp thm 56.5ms
	elaboration 68.1ms
	fix level params 2.92ms
	import 797ms
	initialization 29.9ms
	instantiate metavars 23.9ms
	interpretation 995ms
	let-to-have transformation 0.232ms
	linting 50.9ms
	module linting 0.00151ms
	norm_num 113ms
	overlappingInstancesLinter 11.1ms
	parsing 19.1ms
	process pre-definitions 70.9ms
	ring 84.3ms
	share common exprs 35.9ms
	simp 7.59s
	tactic execution 2.4s
	tacticAnalysis 124ms
	type checking 2.2s
	typeclass inference 1.97s
real 8.12
user 16.52
sys 0.92

LeanPool/GrahamLPT/Ratio.lean

import took 791ms
cumulative profiling times:
	attribute application 0.0298ms
	congr simp thm 0.529ms
	elaboration 8.82ms
	fix level params 0.365ms
	import 791ms
	initialization 30.8ms
	instantiate metavars 0.973ms
	interpretation 314ms
	let-to-have transformation 0.0796ms
	linting 5.34ms
	module linting 0.00157ms
	norm_num 70.9ms
	overlappingInstancesLinter 2.52ms
	parsing 5.2ms
	process pre-definitions 3.57ms
	ring 15.9ms
	share common exprs 4.4ms
	simp 10.4ms
	tactic execution 43ms
	tacticAnalysis 14.2ms
	type checking 26.7ms
	typeclass inference 115ms
real 1.94
user 1.35
sys 0.86

LeanPool/GrahamLPT/TightLPT.lean

import took 804ms
tactic execution of Lean.Parser.Tactic.omega took 202ms
tactic execution of Lean.Parser.Tactic.omega took 120ms
type checking took 122ms
cumulative profiling times:
	attribute application 0.217ms
	congr simp thm 5.53ms
	dsimp 11.3ms
	elaboration 83.2ms
	fix level params 2.44ms
	import 804ms
	initialization 30.1ms
	instantiate metavars 7.85ms
	interpretation 867ms
	let-to-have transformation 0.373ms
	linting 46.6ms
	module linting 0.00152ms
	norm_num 76.4ms
	overlappingInstancesLinter 9.04ms
	parsing 32.3ms
	process pre-definitions 23.2ms
	ring 114ms
	share common exprs 38.2ms
	simp 280ms
	tactic execution 1.29s
	tacticAnalysis 77.1ms
	type checking 1.09s
	typeclass inference 1.28s
real 3.50
user 6.06
sys 0.86

LeanPool/GrahamLPT/TightList.lean

import took 798ms
cumulative profiling times:
	attribute application 0.167ms
	congr simp thm 4.76ms
	elaboration 53ms
	fix level params 1.12ms
	import 798ms
	initialization 30.1ms
	instantiate metavars 3.18ms
	interpretation 514ms
	let-to-have transformation 0.248ms
	linting 30ms
	module linting 0.00152ms
	norm_num 7.64ms
	overlappingInstancesLinter 6.99ms
	parsing 19.8ms
	process pre-definitions 11.4ms
	ring 50.8ms
	share common exprs 11.9ms
	simp 327ms
	tactic execution 249ms
	tacticAnalysis 55.6ms
	type checking 160ms
	typeclass inference 377ms
real 2.20
user 2.60
sys 0.85

Advisory only — never blocks merge. Full log uploaded as the proof-profile artifact.

@Vilin97

Vilin97 commented Oct 20, 2026

Copy link
Copy Markdown
Collaborator Author

/review

Exact head: 5c440b1826a04391243e9b7d5f7ea183021eb18b.

@Vilin97

Vilin97 commented Oct 20, 2026

Copy link
Copy Markdown
Collaborator Author

/review

Exact head: 616cc2dd4878920103867423b4b359c7e04d91e6. This supersedes the older-head request. Greptile’s prefix-proof duplication finding is repaired; the 41 public upstream theorem signatures are unchanged. All local gates pass; fresh CI is running.

@Vilin97

Vilin97 commented Oct 20, 2026 •

Copy link
Copy Markdown
Collaborator Author

{
"review_kind": "Separate contributor source review, published after the configured independent review completed",
"reviewed_commit": "3fa7de32378bfd36c36a85a7e3f75934e4f20350",
"conclusion": "approve",
"scope": "This is the acquisition agent’s separately requested source assessment. It is not an instruction or proposed verdict for independent reviewers, and does not replace protected CI or native-queue validation.",
"coverage": {
"upstream": "JD-Jones-ASES/graham-lpt-lean@c8ed035b407cc554faf4b68df0cf3edc70058977",
"changed_files": 20,
"lean_modules": 19,
"mathematical_modules": 17,
"source_lines": 3915,
"source_declarations": 194,
"compiled_declarations_including_auxiliaries": 676,
"public_theorem_contracts_compared": 41,
"method": "Read actual upstream source, complete imported dependency closure and final diff in bounded chunks, checking all endpoint types and implementation slices. Compared every published theorem signature exactly. Examined definitions, proof dependencies, mathematical sources, profiles and local/remote validation evidence. This is a separate review pass by the acquisition agent, not an independent human review or the configured GPT review. The nine-alias repair was reviewed as a complete five-file diff, with all 198 upstream mathematical headers and all 41 public contracts re-compared. The two-file tail/optimal-assignment refactor was read completely, including the general finite-sum inequality and restricted-witness construction. The generic-prefix consolidation was reviewed as a complete two-file diff; the AddCommMonoid generality and real/integer specializations are preserved."
},
"mathematical_assessment": {
"faithfulness": "Bounds quantify over arbitrary nonnegative real processing times and all permitted tie breaking; the equality classification requires m >= 2, nonempty positive jobs, positive scaling and a permutation, and the fixed-count supremum requires n >= 2m+1.",
"assumptions": "Nonzero machine count; nonnegative processing times for bounds, positive processing times and stated cardinality hypotheses for classification/supremum. These assumptions appear in the card. No hard result is postulated in a structure, constructor or bundled hypothesis.",
"significance": "Completed research-level theory of sharp identical-machine scheduling bounds, explicit tight instances, positive-instance equality classification and fixed-job-count suprema. The API supports arbitrary finite real job vectors, all permitted tie breaking, attained optima, scaling, permutation and prefix/extension arguments.",
"prior_art": "Compared sharp list/LPT bounds, tight instances, equality classification and fixed-count supremum against exact pinned Mathlib/Tau Ceti paths and full source, current Tau Ceti code search, pool cards/source/history and all issue/PR records; no candidate declaration was found. This does not establish absence under unrelated terminology outside those searches.",
"source_support": [
"Graham 1969 Theorem 2, scanned paper printed page 421: https://fanchung.ucsd.edu/ron/papers/69_02_multiprocessing.pdf",
"Dosa 2004 Theorem 2 and Remark 1, printed page 208: https://annales-math.elte.hu/annales47-2004/Annales_Universitatis_Scientiarum_Budapestinensis_de_Rolando_Eotvos_nominatae_Sectio_Mathematica_2004_TOMUS_XLVII.pdf",
"Della Croce-Scatamacchia arXiv v1 Sections 2-3.1, Propositions 2-4: https://arxiv.org/html/1801.05489v1"
],
"scope_differences": "The entry module distinguishes its separately proved fixed-count supremum from the stronger strict-supremum claims in the cited literature; no precedence constraints or executable complexity analysis are claimed.",
"boundary_checks": "Reviewed m=1 and empty/zero-length job behavior for nonnegative bounds. Classification explicitly excludes m=1 and empty/nonpositive instances; fixed-count positive instances have n>=2m+1 and positive optimum, so its quotient does not silently divide by zero."
},
"engineering_assessment": {
"proof_and_dependency_structure": "All 17 mathematical modules, public entry and generated wrapper were reviewed. All 41 upstream published theorem signatures match exactly; all 198 upstream mathematical declaration headers were compared under recorded renames/consolidations. Only two helper statements are strengthened by dropping unnecessary hypotheses. Five reusable prefix/restriction/tail lemmas are added; generic sum identities retain their original AddCommMonoid generality.",
"local_checks": "Warning-free project/public wrapper build, generated-index check, Mathlib style, current static quality, axiom closure, compiled-environment/backdoor audit and all 15 declaration linters pass. Allowed axiom closure only: Classical.choice, propext, Quot.sound. No suppression, heartbeat escape or CI/policy changes. Final totals: 194 source declarations, 676 compiled declarations; all ten dependency checkouts are exact and clean.",
"performance": {
"command": "/usr/bin/time -v lake build LeanPool.GrahamLPT",
"conditions": "Same VM and exact prebuilt/clean dependency checkouts; only project outputs removed; warm filesystem, unrelated VM workloads. Observed samples.",
"baseline_wall_seconds": 58.17,
"final_wall_seconds": [
33.7,
33.61
],
"baseline_peak_process_rss_kib": 3095600,
"final_peak_process_rss_kib": [
1079624,
1085660
],
"baseline_cpu_seconds": 127.32,
"final_cpu_seconds": [
64.09,
61.47
],
"generic_prefix_profile_before": 71719805,
"generic_prefix_profile_after": 65773810,
"profile_conditions": "Summed synchronous Elab.command heartbeat traces for Basic and CoffmanSethi; same source pathname and built imports, fresh Lean invocations. Before source ad9d5db; after source current.",
"profile_units": "Raw allocation counts emitted by trace.profiler.useHeartbeats; divide by 1000 to express them in maxHeartbeats units."
},
"licensing_and_provenance": "Public upstream at an exact commit, MIT notice and JD Jones attribution retained; AI provenance matches upstream disclosure. Material completion at d863c08b53520eab4e89fedec2776cb3d53c2061, 2026-10-11T18:57:04Z, is inside the eligible interval. GitHub records the completed checkpoint publicly pushed at 2026-10-11T18:57:07Z; seven headline types, eight original definitions and fifteen core source bodies already match that eligible checkpoint.",
"maintainability": "Narrow imports, focused arithmetic searches, public proofs without duplicate helper aliases, shared original/padded witnesses, and one generic prefix recurrence/fiber implementation. Remaining short definitional reductions use standard Mathlib lemmas."
},
"repairs": [
{
"source": "Greptile discussion_r4323909878",
"issue": "Repeated original/padded prefix-load and pairing proofs.",
"repair": "Added general loadBefore_restrict and IsListSchedule.restrict, proved paddedJobs_restrict, reused tg pairing/load results, and dropped unnecessary epsilon hypotheses. Local gates pass.",
"commit": "616cc2dd4878920103867423b4b359c7e04d91e6"
},
{
"source": "Acquisition review",
"issue": "Redundant 41 forwarding declarations and umbrella layer.",
"repair": "Public theorem names now carry the actual proofs; all 41 published signatures match upstream exactly. Root publicly exports all mathematical modules.",
"commit": "616cc2dd4878920103867423b4b359c7e04d91e6"
},
{
"source": "Configured GPT quality review, issuecomment-6289494467",
"issue": "Nine identical helper/public theorem pairs exported redundant signatures.",
"repair": "Removed the nine forwarding declarations, moved the original proofs under the public names and updated every internal caller. All 41 public contracts remain exactly unchanged; all local gates pass.",
"commit": "8f733d0cf7694d9f1ffd2da511bd329c2a0e87f3"
},
{
"source": "Configured GPT quality review of 8f733d0, issuecomment-6289494467",
"issue": "The padded family repeated the original optimal-assignment construction and machine-fiber proof.",
"repair": "Reuse tg_exists_opt through paddedJobs_restrict and loadBefore_restrict; add the general load_le_loadBefore_add tail bound, and share the original job-length lower bound. All public statement types remain unchanged.",
"commit": "ad9d5db168ec7a59aea3f8d07065068b03aa2ce5"
},
{
"source": "Configured GPT quality review of ad9d5db, issuecomment-6289494467",
"issue": "Separate implementations of generic prefix identities and real-valued specializations.",
"repair": "Moved the generic prefix recurrence/fiber identities into Basic, retained full AddCommMonoid generality and derived the real identities by specialization. Whole-load summation is derived from the prefix identity too. Integer count/weight proofs share those same generic implementations.",
"commit": "3fa7de32378bfd36c36a85a7e3f75934e4f20350"
}
],
"current_remote_validation": {
"configured_GPT": "All five dimensions pass on this exact head, published 2026-10-20T13:14:01Z; no code finding remains. The worker disclosed a dependency-fetch HTTP 403 that prevented its own elaboration, so its verdict is not build evidence.",
"Greptile": "Exact-head success: 20 files reviewed, zero new comments.",
"CI": "SUCCESS: full-pool build, warning freedom, declaration lint, text style and repository quality all pass on the reviewed head in run 39423878557. All eight required contexts pass or are correctly scoped out for this content-only diff.",
"queue": "Native merge queue position 2, AWAITING_CHECKS, enqueued 2026-10-20T14:26:01Z with expected-head guard 3fa7de3 and jump=false. Combined queue revision 6709935 must pass every protected check before automatic squash merge.",
"main_inputs": "Current main f87eeac differs from exact protected-queue-validated source head 7639c3c only in generated README stats; all eight current required contexts pass or are scoped out on that source head in queue run 39412343142. The canonical build fingerprint matches. The duplicate post-merge push run 39426692217 was still running when enqueued; no aggregate rollup or daily-publisher status was treated as a merge gate."
},
"unresolved_source_findings": [],
"review_process": "Contributor approval fields in prior comments were disregarded by the independently configured reviewer. This update omits duplicate per-rubric verdict fields and is posted after that independent exact-head review finished; the approval here is only the separate contributor assessment requested for the acquisition."
}

@Vilin97 Vilin97 left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Independent Source review — APPROVE at 616cc2dd4878920103867423b4b359c7e04d91e6.

{
  "review": "Permanent reviewer — independent Source review",
  "head_sha": "616cc2dd4878920103867423b4b359c7e04d91e6",
  "conclusion": "approve",
  "coverage": "All 20 current added files: the complete 17-module mathematical development, public entry and generated Imports, and project card. The original import and all 19 parent-to-child changes were checked against full source and complete native patches; both literal reuses and the deleted forwarding module were verified.",
  "faithfulness": {
    "verdict": "pass",
    "proves_the_claim": "proves_it",
    "bottom_line": "The sharp list/LPT factors, positive equality classification and fixed-count supremum match the actual scheduling model and disclosed hypotheses.",
    "claim_note": "Jobs are finite real vectors and schedules are assignments to actual machines. List scheduling chooses a least-loaded machine at every prefix; LPT supplies a permutation making the lengths antitone and the same greedy relation. No approximation or optimality conclusion is assumed in those definitions. The bounds quantify every permitted tie breaking against every comparison assignment. Concrete unit/Graham assignments establish sharpness. Equality necessity derives the critical-job/equal-load structure and job multiplicities; sufficiency transports the actual tight family by positive scaling and permutation. The fixed-n proof uses positive epsilon-tail instances, proves OPT > 0 before division and constructs ratios above any proposed smaller upper bound.",
    "assumed_inputs": "Nonzero machine count. The approximation factors require nonnegative processing times; schedule existence permits arbitrary real lengths. Positive equality classification additionally requires m >= 2, n > 0 and every job positive. The fixed-count IsLUB requires n >= 2m + 1 and positive jobs. Empty/zero instances are allowed in the nonnegative bound statements without dividing by their optimum.",
    "findings": []
  },
  "novelty": {
    "verdict": "pass",
    "already_formalized": "",
    "bottom_line": "The finite inspected library comparisons do not supply this scheduling theory.",
    "novelty_note": "Compared the actual pinned Mathlib finite-extrema and finite-function-space contracts (Finset.le_sup', its infimum dual, Fintype.piFinset and Pi.instFintype), together with bounded scheduling/makespan/greedy searches in Mathlib, TauCeti and the current pool's project routing. These provide infrastructure or unrelated results rather than the imported sharp scheduling/equality theory. No matching development was identified within those scopes; this is not an exhaustive absence or first-formalization claim.",
    "findings": []
  },
  "significance": {
    "verdict": "pass",
    "fit": "good_fit",
    "level": "research",
    "branch": "approximation algorithms and scheduling",
    "mode": "theory_building",
    "bottom_line": "A substantial completed mathematical development suitable for the pool.",
    "significance_one_sentence": "Two sharp universal approximation factors, all-tie tight witnesses, a positive equality classification and a fixed-job-count supremum are supported by reusable schedule existence, optimum attainment, permutation/scaling and critical-job/counting results.",
    "findings": []
  },
  "sources": {
    "verdict": "pass",
    "source_match": "matches",
    "bottom_line": "Pinned upstream contracts, licensing, attribution and proof provenance support the import.",
    "source_note": "Verified the pinned upstream MIT license and complete notice retained in the entry, JD Jones attribution and public AI disclosure. Completion commit d863c08b53520eab4e89fedec2776cb3d53c2061 (2026-10-11) contains the original 39 public contracts; the later pin preserves them and adds two explicit-order contracts. All 41 current public theorem headers match the pinned upstream contracts exactly; their proofs now live directly under the public names. Helper renames and the new proved restriction lemmas do not weaken the headline statements. Graham's 1969 Theorem 2 (printed p.421) states the sharp LPT factor for independent positive-duration jobs; the entry discloses the extension to zero lengths. Dósa's Theorem 2 and the inspected Della Croce–Scatamacchia propositions match the disclosed variants. The separate fixed-count IsLUB is expressly distinguished from Dósa's stronger Remark 1. Historical verification and author timing/compiled-audit claims have not been rerun.",
    "findings": []
  },
  "code_quality": {
    "verdict": "pass",
    "code_quality": 3,
    "bottom_line": "Competent structure with the concrete duplication finding addressed.",
    "quality_note": "loadBefore_restrict proves equality of finite prefix sums, and IsListSchedule.restrict derives the inherited greedy relation. FixedCount identifies the retained prefix with grahamJobs and reuses the existing pairing/load proof. The pairing helper preserves its weaker 2m <= n domain; removing epsilon hypotheses strengthens only prefix results, while positivity and ordering assumptions remain where needed for the tail/LPT argument. The 41 forwarding contracts are removed in favor of the actual public proof producers, with all headline statement headers retained. Existing projects, LeanPool.lean, dependency pins and gates are unchanged.",
    "findings": []
  },
  "validation": "This is exact-head Source acceptance at 616cc2d. The existing author-requested configured review and full applicable authored/native checks must still qualify before protected queue admission. Written-source checks do not certify the author's compiled 719-declaration audit or timings; the old-head profile is advisory and supplies no current-head or whole-CI credit.",
  "resolved_findings": [
    {
      "thread": 4323909878,
      "path": "LeanPool/GrahamLPT/FixedCount.lean",
      "issue": "Repeated prefix-pairing and load-saturation proofs.",
      "resolution": "The reviewed 616cc2d restriction lemmas and Graham-prefix transfer reuse the existing proof, preserving the weaker pairing-helper domain and the separate positive-tail analysis."
    }
  ]
}

@Vilin97

Vilin97 commented Oct 20, 2026 •

Copy link
Copy Markdown
Collaborator Author

🤖 LLM review (gpt-6.1-sol, 5 rubrics)

Reviewed head: 3fa7de32378bfd36c36a85a7e3f75934e4f20350

Verdict: ✅ approve — computed from the rubric verdicts below, not chosen by a model.

Rubric Verdict Bottom line
Faithfulness ✅ pass All seven card headlines match the Lean; CI remains pending, and a Mathlib-fetch HTTP 403 prevented local build verification.
Novelty ✅ pass No named duplicate of the seven headlines was found in the searched Mathlib, Tau Ceti, or pool sources; the exact-head CI build remains in progress.
Significance ✅ pass The sharp bounds and extremal classification justify pooling this scheduling theory; CI remains pending, and a Mathlib-fetch HTTP 403 prevented local elaboration.
Sources ✅ pass The Graham, Dósa and Della Croce–Scatamacchia sources support the attributed results, with scope differences labelled and upstream formalization credited; CI remains pending.
Code quality (advisory) ✅ pass Competent modular Lean with shared prefix proofs; CI remains pending, and a Mathlib-fetch HTTP 403 prevented local elaboration.
Aspect Value
Proves the claim ✅ proves_it
Assumed, not proved Nonzero machines; nonnegative lengths for bounds and improvement; nonempty positive instances and at least two machines for classification; positive lengths and the stated job-count threshold for the supremum. These restrictions are disclosed. Schedule existence, attained optima, and tight witnesses are proved rather than assumed.
Matches cited source ✅ matches
Fit ✅ good_fit
Level research
Branch approximation algorithms and scheduling
Mode theory_building
Code quality 3 / 5

Statement check: The Lean proves both sharp bounds, the least LPT factor, classification up to positive scaling and job permutation, the fixed-count supremum, and the stated schedule existence and improvement results.

The least-factor theorems, positive-instance equality classification, and fixed-job-count ratio suprema develop a substantial theory around Graham’s scheduling bounds.

Faithfulness findings (1)

  • prompt-injection — PR-wide
    The contributor-owned acquisition comment supplies an approval conclusion and a prefilled faithfulness verdict, risking anchoring of the independent review. These assertions were disregarded; retain checkable evidence without proposed reviewer verdicts.
    Evidence: prose only: the contributor-owned discussion in .review-pr.json contains "conclusion": "approve" and a faithfulness section containing "verdict": "pass".

Novelty findings (1)

  • prompt-injection — PR-wide
    The contributor-owned self-review embeds approval and a prefilled novelty verdict in the review evidence, risking anchoring of this independent review; those assertions were disregarded.
    Evidence: .review-pr.json, comments[4].body contains "conclusion": "approve" and a novelty assessment with "verdict": "pass".

Significance findings (1)

  • prompt-injection — PR-wide
    The contributor-owned acquisition report supplies approval and a prefilled significance verdict, creating an anchoring risk for independent review. Remove proposed verdicts from reviewer evidence; these assertions were disregarded.
    Evidence: The contributor report in .review-pr.json contains "conclusion": "approve" and a significance assessment containing "verdict": "pass" and "fit": "good_fit".

Sources findings (1)

  • prompt-injection — PR-wide
    The contributor-owned acquisition report supplies approval and a prefilled sources verdict, risking anchoring of the independent review. These claims were disregarded and the sources checked directly. Remove proposed reviewer verdicts from contributor evidence.
    Evidence: The discussion in .review-pr.json contains a contributor-owned report with "conclusion": "approve" and a "sources" rubric containing "verdict": "pass" and "source_match": "matches".

Code quality findings (1)

  • prompt-injection — PR-wide
    The contributor-owned self-review supplies approval and a prefilled quality verdict, risking influence on the independent review; these claims were disregarded. Omit proposed reviewer verdicts from contributor evidence.
    Evidence: The contributor-owned self-review in .review-pr.json contains "conclusion": "approve" and a "quality" section containing "verdict": "pass", "code_quality": 3, and "findings": [].

Tokens: 12,677,148 in / 44,447 out across 5 model calls · Tier: codex-subscription · Effort: xhigh · Billing: Codex subscription quota (no API credits) · Estimated cost: $51.3753 (Standard API equivalent; uncached input)
Each rubric is an independent review against .github/review-rubrics/ on top of .github/REVIEW_RULES.md. Disagree? Reply on the PR; rules can be updated in a PR of their own.

CI was not green for this commit at review time; this review does not replace CI.

@Vilin97

Vilin97 commented Oct 20, 2026 •

Copy link
Copy Markdown
Collaborator Author

/review

Exact head: 8f733d0cf7694d9f1ffd2da511bd329c2a0e87f3. This revision consolidates nine helper/public theorem aliases. All 41 published theorem signatures match upstream exactly; local warning-free build, index/style/static quality, trust audit and declaration linters pass (193 source / 710 compiled declarations). CI is recorded separately.

@Vilin97 Vilin97 left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Independent Source review — APPROVE at 8f733d0cf7694d9f1ffd2da511bd329c2a0e87f3.

{
  "review": "Permanent reviewer — independent Source review",
  "head_sha": "8f733d0cf7694d9f1ffd2da511bd329c2a0e87f3",
  "conclusion": "approve",
  "coverage": "All 20 current added files bound by complete Git blobs and native patches. Independently reviewed all five 616cc2d→8f733d0 file deltas (17 hunks, 29 additions/78 deletions), verified 15 literal parent reuses, all 41 intended public statement headers, and the current project/pool/root Merkle and import graph. The earlier full mathematical/provenance review is retained only after this explicit current-source preservation check.",
  "faithfulness": {
    "verdict": "pass",
    "proves_the_claim": "proves_it",
    "bottom_line": "The scheduling model, hypotheses and headline theorem types are preserved; nine original proofs now directly produce their existing descriptive public theorems.",
    "claim_note": "Jobs are finite real vectors and schedules are assignments to actual machines. List scheduling chooses a least-loaded machine at every prefix; LPT supplies a permutation making the lengths antitone and the same greedy relation. No approximation or optimality conclusion is assumed in those definitions. The bounds quantify every permitted tie breaking against every comparison assignment. Concrete unit/Graham assignments establish sharpness. Equality necessity derives the critical-job/equal-load structure and job multiplicities; sufficiency transports the actual tight family by positive scaling and permutation. The fixed-n proof uses positive epsilon-tail instances, proves OPT > 0 before division and constructs ratios above any proposed smaller upper bound. The current child only consolidates nine producer/forwarder pairs. Each full original proof command survives under the descriptive name, with internal references renamed; no additional theorem premise, scheduling condition or arithmetic step is introduced.",
    "assumed_inputs": "Nonzero machine count. The approximation factors require nonnegative processing times; schedule existence permits arbitrary real lengths. Positive equality classification additionally requires m >= 2, n > 0 and every job positive. The fixed-count IsLUB requires n >= 2m + 1 and positive jobs. Empty/zero instances are allowed in the nonnegative bound statements without dividing by their optimum.",
    "findings": []
  },
  "novelty": {
    "verdict": "pass",
    "already_formalized": "",
    "bottom_line": "The finite inspected library comparisons do not supply this scheduling theory.",
    "novelty_note": "The project card, mathematical scope, dependency pins and all 41 intended public statement headers are unchanged by the inspected child. The prior bounded Mathlib/TauCeti/current-pool contract comparison therefore remains applicable to the same theory; no exhaustive absence or first-formalization claim is made.",
    "findings": []
  },
  "significance": {
    "verdict": "pass",
    "fit": "good_fit",
    "level": "research",
    "branch": "approximation algorithms and scheduling",
    "mode": "theory_building",
    "bottom_line": "A substantial completed mathematical development suitable for the pool.",
    "significance_one_sentence": "Two sharp universal approximation factors, all-tie tight witnesses, a positive equality classification and a fixed-job-count supremum are supported by reusable schedule existence, optimum attainment, permutation/scaling and critical-job/counting results.",
    "findings": []
  },
  "sources": {
    "verdict": "pass",
    "source_match": "matches",
    "bottom_line": "Pinned upstream contracts, licensing, attribution and proof provenance support the import.",
    "source_note": "The MIT notice, attribution, AI provenance, pinned upstream source and paper distinctions are literal parent reuses. All 41 intended public theorem headers still match the previously verified pinned-upstream contracts. The nine eliminated prefixed helper names are consolidated into existing descriptive public names, retaining their original proofs. This changes the unmerged helper-name surface, not the mathematical statements or the declared project API. The prior Graham/Dósa/Della Croce–Scatamacchia source checks remain applicable to these unchanged contracts.",
    "findings": []
  },
  "code_quality": {
    "verdict": "pass",
    "code_quality": 3,
    "bottom_line": "The nine residual duplicate theorem forwarders are removed without changing the mathematics.",
    "quality_note": "In Basic, CoffmanSethi, Counter and ListOptimum, each original proof is renamed at its earlier producer position and the later public forwarder is deleted. GrahamScaled and all other actual consumers use the descriptive name. The five entire code-token streams equal the parent after exactly those nine forwarder removals and nine identifier substitutions; 13,635 surviving noncomment tokens and all 69 surviving declarations in the changed files are preserved under that map. There are 193 written declarations project-wide, with no stale helper references. Module/public-exposure controls, imports, definitions, assumptions, options, project card, other projects, dependency pins and gates are unchanged.",
    "findings": []
  },
  "validation": "Exact-head Source acceptance only. Protected admission requires the matching current configured result and complete applicable authored/native CI. The current proper authored run is 39413790459 (core 118598182713); no green result is inferred from cancelled616c CI, the earlier configured2232 result, or the author's local compiled710-declaration/linter/timing claims. No local Lean compiler or benchmark was run by this Source review.",
  "resolved_findings": [
    {
      "thread": 4323909878,
      "path": "LeanPool/GrahamLPT/FixedCount.lean",
      "issue": "Repeated prefix-pairing and load-saturation proofs.",
      "resolution": "The reviewed 616cc2d restriction lemmas and Graham-prefix transfer reuse the existing proof, preserving the weaker pairing-helper domain and the separate positive-tail analysis."
    },
    {
      "comment": 6289494467,
      "issue": "Nine exported helper/public theorem pairs with duplicate statements.",
      "resolution": "The five-file 8f733d0 delta moves the original proofs under the existing descriptive public names, removes the nine forwarders and updates every actual helper consumer. All 41 intended public statement headers remain identical; nine unmerged prefixed helper names are deliberately removed."
    }
  ]
}

@Vilin97

Vilin97 commented Oct 20, 2026

Copy link
Copy Markdown
Collaborator Author

/review

Exact head: ad9d5db168ec7a59aea3f8d07065068b03aa2ce5. The padded family now reuses the existing optimal-assignment witness and prefix-load results through a general tail-load bound. The remaining helper/public aliases are consolidated. All 41 published upstream signatures match exactly; all local build, index/style/static-quality, trust and declaration-linter checks pass (194 source / 681 compiled declarations). CI is recorded separately.

@Vilin97 Vilin97 left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Independent Source review — APPROVE at ad9d5db168ec7a59aea3f8d07065068b03aa2ce5.

{
  "review": "Permanent reviewer — independent Source review",
  "head_sha": "ad9d5db168ec7a59aea3f8d07065068b03aa2ce5",
  "conclusion": "approve",
  "coverage": "All20 current added files bound by full Git blobs/native patches; complete8f733d0→ad9d5db two-file delta (5hunks,54additions/96deletions),18literal parentreuses,all193 existing named headers/all41 intended pinned-public contracts and currentproject/pool/rootMerkles/importDAG verified. Prior full mathematics/provenance applies only after this explicit current-source preservation check.",
  "faithfulness": {
    "verdict": "pass",
    "proves_the_claim": "proves_it",
    "bottom_line": "All scheduling models, hypotheses and headline theorem types survive; the padded-family optimum proof now reuses the existing optimal witness through a proved finite tail-load bound.",
    "claim_note": "Jobs are finite real vectors and schedules are assignments to actual machines. List scheduling chooses a least-loaded machine at every prefix; LPT supplies a permutation making the lengths antitone and the same greedy relation. No approximation or optimality conclusion is assumed in those definitions. The bounds quantify every permitted tie breaking against every comparison assignment. Concrete unit/Graham assignments establish sharpness. Equality necessity derives the critical-job/equal-load structure and job multiplicities; sufficiency transports the actual tight family by positive scaling and permutation. The fixed-n proof uses positive epsilon-tail instances, proves OPT > 0 before division and constructs ratios above any proposed smaller upper bound. The new generic lemma bounds each full machine load by its prefix load plus n*epsilon, assuming only epsilon>=0 and that each later job is at most epsilon. Its pointwise finite-sum proof handles arbitrary signed prefix lengths and any cutoff. The padded-family proof obtains the proved Graham optimal witness, extends it by machine zero, proves exact restricted prefix loads3m and uses the new tail bound. The existing fc_le_len also reuses the actual Graham job-length lower bound. Both changed existing theorems retain exactly their previous assumptions and conclusions; no scheduling result is inserted as an assumption.",
    "assumed_inputs": "Nonzero machine count. The approximation factors require nonnegative processing times; schedule existence permits arbitrary real lengths. Positive equality classification additionally requires m >= 2, n > 0 and every job positive. The fixed-count IsLUB requires n >= 2m + 1 and positive jobs. Empty/zero instances are allowed in the nonnegative bound statements without dividing by their optimum.",
    "findings": []
  },
  "novelty": {
    "verdict": "pass",
    "already_formalized": "",
    "bottom_line": "The finite inspected library comparisons do not supply this scheduling theory.",
    "novelty_note": "The card, pinned dependencies and all41 intended public contracts are literal-preserved by the inspected child. The prior bounded Mathlib/Tau Ceti/current-pool comparison remains applicable to those same headline results; the extra generic helper is supporting infrastructure, with no first-formalization or exhaustive absence claim.",
    "findings": []
  },
  "significance": {
    "verdict": "pass",
    "fit": "good_fit",
    "level": "research",
    "branch": "approximation algorithms and scheduling",
    "mode": "theory_building",
    "bottom_line": "A substantial completed mathematical development suitable for the pool.",
    "significance_one_sentence": "Two sharp universal approximation factors, all-tie tight witnesses, a positive equality classification and a fixed-job-count supremum are supported by reusable schedule existence, optimum attainment, permutation/scaling and critical-job/counting results.",
    "findings": []
  },
  "sources": {
    "verdict": "pass",
    "source_match": "matches",
    "bottom_line": "Pinned upstream contracts, licensing, attribution and proof provenance support the import.",
    "source_note": "The pinned upstream/source citations, MIT notice, attribution, AI provenance, card and entry are literal parent files. All193 existing named declaration headers and all41 intended published upstream signatures are preserved. The prior Graham/Dósa/Della Croce–Scatamacchia source distinctions remain applicable to these unchanged contracts, including the separately proved fixed-count supremum. No contributor self-review or prior-verdict prose supplies independent authority.",
    "findings": []
  },
  "code_quality": {
    "verdict": "pass",
    "code_quality": 3,
    "bottom_line": "The duplicated padded-family optimal assignment proof is replaced by the existing witness and a reusable finite tail-load estimate.",
    "quality_note": "Only Basic and FixedCount change. One new proved helper is added; fc_le_len and fc_exists_opt are the only changed existing proof bodies. The two padded-prefix lemmas move earlier with their complete original commands; the other191 old commands, every existing header, imports/exposure/options/definitions and18other files are preserved. There are194 written named declarations after excluding comments. The old machine-fiber/pairing construction is absent from fc_exists_opt. Current total3951Lean lines/4008total lines; no waiver, dependency pin, workflow or gate change.",
    "findings": []
  },
  "validation": "Source acceptance at this exacthead only. Current authored run39418314780/suite106814557484/attempt1 had only livePlan118613178058 and no assigned Buildpool/core in the actual initial completejoblist. Complete applicable authored/native checks and a matching configured result remain required. Currentownerrequest6290265229 already exists; do not duplicate. Old8fSource5584407501/configured2233 and dated8fCI are historical, with no green or acceptance transfer. No local Lean compiler/kernel/benchmark was run; contributor compiled681/linter/timing claims are not adopted.",
  "resolved_findings": [
    {
      "comment": 6289494467,
      "configured_job": 2233,
      "reviewed_parent": "8f733d0cf7694d9f1ffd2da511bd329c2a0e87f3",
      "issue": "fc_exists_opt duplicated the Graham optimal assignment and machine-fiber construction.",
      "resolution": "Atad9d, the actual proof calls tg_exists_opt, extends its witness, transports the exact prefix loads through restriction equalities and applies the proved general tail bound. No copied machine-fiber proof remains."
    },
    {
      "scope": "PR-wide provenance/anchoring advisory",
      "resolution": "Current contributor text labels its acquisition self-review separately. Independent mathematics/source judgments above use actual pinned code, contracts and references; contributor approval prose receives no authority."
    }
  ]
}

@Vilin97

Vilin97 commented Oct 20, 2026

Copy link
Copy Markdown
Collaborator Author

/review

Exact head: 3fa7de32378bfd36c36a85a7e3f75934e4f20350. Generic prefix recurrence and fiber-sum identities now live in Basic; real loads and integer counts/weights share one implementation. All 41 published upstream signatures match exactly. Local warning-free build, index/style/static quality, trust audits and all 15 declaration linters pass (194 source / 676 compiled declarations). CI is recorded separately.

@Vilin97 Vilin97 left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Independent Source review — APPROVE at 3fa7de32378bfd36c36a85a7e3f75934e4f20350.

{
  "review": "Permanent reviewer — independent Source review",
  "head_sha": "3fa7de32378bfd36c36a85a7e3f75934e4f20350",
  "conclusion": "approve",
  "coverage": "All20 current files verified by completeGitblobs/modes, all20currentmain-added nativepatch forward/inverse roundtrips, completead9d→3fa7 two-file delta (7hunks,39additions/75deletions),18literalparentfiles and project/pool/rootMerkles/importDAG. All41 intended pinned-public signatures remain exact; all194 written contracts agree under the explicit cs_sum_succ→sum_prefix_succ and cs_sum_fiber→sum_prefix_fiber helper renames. The common192 names keep their headers.",
  "faithfulness": {
    "verdict": "pass",
    "proves_the_claim": "proves_it",
    "bottom_line": "The scheduling results and hypotheses are unchanged; generic prefix identities now support both real loads and integer weights/counts.",
    "claim_note": "The actual generic recurrence sums f over jobs with index below k+1 on machine i. Its finite pointwise proof isolates j=k and then the two Nat cutoff cases for j≠k; AddCommMonoid is sufficient, with no order, positivity or nonzero-machine assumption. The generic fiber identity exchanges finite sums and counts each job at its unique assigned machine, for any cutoff including0 and beyondn. The real load recurrence and prefix total specialize those identities by definitional reduction. bs_sum_load obtains the full total using the exact cutoff n and each Fin index's bound. Integer floor-weight and count recurrences and both fiber-sum bounds in CoffmanSethi use the same generic producers; their statements and hypotheses remain fixed. All scheduling model definitions, sharpness/equality/fixed-count contracts, constructive witnesses and eighteen other files are literal parent content after the full preservation check. No conclusion is inserted as an assumption, and zero/empty instances introduce no division.",
    "assumed_inputs": "Nonzero machine count. The approximation factors require nonnegative processing times; schedule existence permits arbitrary real lengths. Positive equality classification additionally requires m >= 2, n > 0 and every job positive. The fixed-count IsLUB requires n >= 2m + 1 and positive jobs. Empty/zero instances are allowed in the nonnegative bound statements without dividing by their optimum.",
    "findings": []
  },
  "novelty": {
    "verdict": "pass",
    "already_formalized": "",
    "bottom_line": "The finite inspected library comparisons do not supply this scheduling theory.",
    "novelty_note": "The card, dependencies and all41 intended public contracts remain unchanged. Prior bounded Mathlib/Tau Ceti/currentpool comparisons apply to those exact same scheduling statements; generic prefix-sum support carries no independent first-formalization or exhaustive absence claim.",
    "findings": []
  },
  "significance": {
    "verdict": "pass",
    "fit": "good_fit",
    "level": "research",
    "branch": "approximation algorithms and scheduling",
    "mode": "theory_building",
    "bottom_line": "A substantial completed mathematical development suitable for the pool.",
    "significance_one_sentence": "Two sharp universal approximation factors, all-tie tight witnesses, a positive equality classification and a fixed-job-count supremum are supported by reusable schedule existence, optimum attainment, permutation/scaling and critical-job/counting results.",
    "findings": []
  },
  "sources": {
    "verdict": "pass",
    "source_match": "matches",
    "bottom_line": "Pinned upstream contracts, licensing, attribution and proof provenance support the import.",
    "source_note": "The pinned upstream/source citations, MIT notice, attribution, AI provenance, card and entry are literal parent files. All41 intended published upstream signatures remain exact. The two explicitly renamed generic prefix helpers retain their types, and the other192 written headers remain fixed. Prior Graham/Dósa/Della Croce–Scatamacchia source distinctions continue to apply, including the separately proved fixed-count supremum. Contributor verdicts and local compiler/timing claims supply no independent authority.",
    "findings": []
  },
  "code_quality": {
    "verdict": "pass",
    "code_quality": 3,
    "bottom_line": "The generic and real-valued prefix-sum proofs now share one implementation in Basic.",
    "quality_note": "Basic defines sum_prefix_succ and sum_prefix_fiber; real load identities specialize them, and CoffmanSethi reuses them for integer counts/floor-weights. The duplicated cs_sum_succ/cs_sum_fiber bodies are removed and four downstream references are updated. The two helper renames are explicit rather than a claim that all names were preserved. Existing changed proof commands are bs_loadBefore_succ, bs_sum_loadBefore, bs_sum_load, cs_inv_all and lpt_job_position_le; all other retained commands and every retained header are fixed. Completecurrent source is3915Lean lines/3972total with194written named declarations. Imports, exposure, options, definitions, projectcard, pins and gates are unchanged. No waiver is added.",
    "findings": []
  },
  "validation": "Source acceptance at this exacthead only. Proper authored run39423878557/suite106829965340/attempt1/core118631819414 is live; allfive mandatory stages were pending at the initial completefive-job capture. Existing matching configuredrequest6291051860 is pending and must not be duplicated. Oldad9 Source5584733940/configured2234 are historical; its cancelled CI39418314780 provides no current validation. Complete applicable authored/native checks and currentconfigured result remain required before normalqueue admission. No local Lean compiler/kernel/benchmark was run here; author676compiled-declaration counts and timing/heartbeat claims are attributed only.",
  "resolved_findings": [
    {
      "comment": 6289494467,
      "configured_job": 2234,
      "reviewed_parent": "ad9d5db168ec7a59aea3f8d07065068b03aa2ce5",
      "issue": "Generic prefix recurrence and fiber identities in CoffmanSethi duplicate real-valued Basic proofs.",
      "resolution": "At3fa7, both generic producers live in Basic; real load proofs specialize them and integer weight/count consumers reuse them. Completeactual changed bodies and consumers independently reviewed; the advisory is addressed in source, with hosted elaboration still pending."
    }
  ]
}

@Vilin97
Vilin97 added this pull request to the merge queue Oct 20, 2026
Merged via the queue into main with commit 7048873 Oct 20, 2026
27 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant