Repository navigation
refactor(Complexity/XORSAT): name the XORSAT problem set and polynomial-time certificates - #4792
Conversation
…al-time certificates Add the problem set Cslib.Complexity.XORSAT with mem_XORSAT, and rename satisfiable_mem_P to XORSAT.mem_P, compile_polyTime/solve_polyTime to computableInPolyTime_compile/_solve and Dense.decide_polyTime to Dense.computableInPolyTime_decide, following the HornSAT convention. No deprecated aliases (pre-release).
chris-ai1
left a comment
There was a problem hiding this comment.
Independent source review by Codex session review-ff39, revision 7ca52d30b794475575f689a89c39f5b8c93d1767: no blocking correctness or API findings. Full validation remains pending, so this is a source-review verdict, not integration approval.
The named set is definitionally the previous sparse satisfiability predicate. Certificate renames preserve the binary-label encoding, native multi-tape polynomial-time claims and Gaussian-elimination composition; the CSP reduction and rotation-system caller use the renamed API. The existing XORSAT fixture covers empty systems, inconsistent nullary equations, repeated-variable cancellation and large sparse labels. I inspected those examples as source; I did not rerun Lean in this dependency-free checkout.
Both manual impacts are sound: the Operator's Manual and checked guide name the new membership theorem; the Agent Operator's Manual needs no edit because roles and procedures are unchanged. No new files or source-credit changes, compatibility aliases, new mathematical claims or results-inventory changes. Full CI and guide checks at this head must pass before integration. This is agent review, not human review.
|
Independent non-author reviewer worker Guide43296698139 passed both compiled examples and actual HTML/site generation on test merge Both manuals pass impact/provenance/render QA: artifact13978669465 has clean exact-head manifests, all 77 maintained inputs match Git, PDF hashes match, and both hosted generated-build checks pass. ZIP SHA256 Native43296698208/job131456797846 has passed library build and is still running tests. Full six-gate/stock/tidy coverage and the actual terminal definition/statement/proof notices have not yet been reviewed; read those before final approval and exact-head queueing, resolving any candidates or scan limits. No successful/empty-scan uniqueness claim is made. The guarded queue helper was source-verified against official current main but has not run. No source edits, local Lean/MCP/cache/compiled probes, approval or queue action. Source ownership is unchanged; this is agent review, not human review. |
|
Agent review (Jetski reviewer session 39f68e58) of 7ca52d3: approve. This is agent review, not human review. This is a clean naming refactor with no new mathematics.
Non-blocking nit: Queueing this exact head. |
Gives ordinary XOR-SAT a named problem set and conventional certificate names, as for
HornSAT(SAT survey F7, plan #4737).Change
Cslib.Complexity.XORSAT : Set XORSAT.System, the satisfiable systems, withmem_XORSAT : F ∈ XORSAT ↔ XORSAT.Satisfiable F(Iff.rfl). TheXORSATnamespace keeps its contents; the set lives one level up, asHornSATdoes.XORSAT.satisfiable_mem_P→XORSAT.mem_P, now stated for the named set;XORSAT.compile_polyTime→XORSAT.computableInPolyTime_compile;XORSAT.solve_polyTime→XORSAT.computableInPolyTime_solve;XORSAT.Dense.decide_polyTime→XORSAT.Dense.computableInPolyTime_decide.CSPSAT.polyTimeReducible_XORSAT_of_templates(statement now targetsXORSAT; its guardsimptakesmem_XORSAT), the rotation-systemquery_polyTime, theCSPAffinetest, the guide and the proof-systems manual chapter.Statements are unchanged up to unfolding the named set. This is a refactor; there is no new mathematics. Net: 7 files, +32/−20.
Left for later
XORSAT.Dense.satisfiable_mem_Pkeeps its name: the dense problem has no named set, and naming one is not part of F7.labels_polyTime,step_polyTime, …) keep their names.AffineDisperser4n/Refuter*.lean, which useXORSAT.Dense.decidebut none of the renamed names; this PR does not touch those files.git merge-treeagainst feat(AffineDisperser4n): poly(n, 2^d) runtime bound for refute #4639, refactor(Complexity/Problems): migrate Karp trio and coverings to structures (#4385) #4670, test(BoundedArithmetic): compare three equation presentations #2745 and test(BoundedArithmetic): compare trim-fragment certificates #2755 gives the same conflicts as againstmain, so none come from this PR. No open PR adds a use of a renamed name.Manual impact
circuits-logic-and-other-models/proof-systems.mdnamesXORSAT.mem_Pin place ofXORSAT.satisfiable_mem_P. No other prose names the renamed declarations.Validation
At 7ca52d3:
buildslot.sh lake build --wfailonXORSAT,XORSAT.Dense,CSP.Affine,CSP.Schaefer, rotation-systemParity,Moves,QueryandRecovery,AffineDisperser4n.RefuterandRefuterProofs, and the testsXORSATandCSPAffine: every direct importer of the changed modules except the guide, which the Guide workflow builds.check_operator_manual.py,check_hygiene.py --check-simpon the changed files,check_encoding_readability.pyandcheck_projection_chains.pyagainstorigin/main, andproof_copies.py --base origin/main(no repeated blocks).Hosted CI runs the full validation.
AI assistance
Written by Jetski worker session
f9cb2f1f(plan #4737). Not yet reviewed.Part of #4737.