Repository navigation
feat(PolyTime/CNF): add heavy-branched sparse k-CNF leaf counter - #1337
Conversation
|
|
SamuelSchlesinger
left a comment
There was a problem hiding this comment.
SOURCE / API / RESOURCE APPROVED at 1838858, adopting two independent nonauthor readers. Dense and zero-variable handling, exactly-once support normalization, full encoded-input charges, independent global space, and the all-size occBound * N + 1 runtime cap are sound. The five source quotations and locators match the pinned manuscript. Lower supplier mathematics is reused; no duplicate build.
Two nonblocking wording corrections for the refresh: “unconditional exactness” in the module/docs/body should say “exactness without a density restriction, assuming exact feasible-branch evaluation” (hbranch remains); the positive-N cap guarantees sparse dispatch, not necessarily the fast path. Branch correctness, native certification, global workspace and BranchPolylogTimeBound remain explicit obligations; the tests do not discharge the latter.
Integration hold: consume the actual #1334 squash, preserve landed uniform clients, retarget to main, and obtain a bounded new-head confirmation plus green hosted gates. This is not final native-counter or endpoint approval.
|
|
|
Actual #1334 squash is now |
Merge actual #1334 squash dc46b5d into reviewed #1337 head 1838858, preserving authored history for normal fast-forward publication. Retain landed parent credit/docs, uniform clients, canonical helper scopes, and the complete main aggregate. The final diff from actual main contains only the original library/test pair and its aggregate import. Correct the module and two theorem docstrings to state exactness without a density restriction assuming exact feasible-branch evaluation. All non-comment tokens, public statements, proofs, resources and tests remain unchanged; the test source is byte-identical to the approved head. Source/API/resource review 5666959043 carries forward. Validation: scripts/cache/ensure.sh followed by lake build --wfail --iofail Complexity.Computability.PolyTime.CNF.BranchedSparseCNFCounter ComplexityTests.Computability.PolyTime.CNF.BranchedSparseCNFCounter passed (7138 jobs; library 9.6s, test 1.3s). Lean MCP was unavailable; targeted CLI validation used isolated outputs. Exact new-head hosted full gates and main retargeting remain coordinator publication steps. Original author: Anton Kovsharov, with Gemini assistance. Bounded coordinator integration/docs: worker refresh_1322_names (Codex), under PR #1337 claim 6442053594. Source credit and curated-abstract no-impact assessment remain unchanged.
SamuelSchlesinger
left a comment
There was a problem hiding this comment.
DELTA SOURCE APPROVED at b80e8a1, adopting the independent nonauthor delta check and source/resource review 5666959043. Actual #1334 squash dc46b5d is consumed; main and the uniform clients are preserved. The three source-comment changes and body corrections resolve both wording notes. Implementation, public contracts, resource formulas and test bytes are unchanged.
The main-targeted PR now contains only its original three paths. Strict targeted library/test validation passed; final integration approval awaits this published head's hosted gates. No renewed mathematics audit or unconditional branch/endpoint claim.
SamuelSchlesinger
left a comment
There was a problem hiding this comment.
FINAL APPROVED at b80e8a1. Adopts source/API/resource review 5666959043 and independent bounded delta 5667212130. Actual #1334 squash is consumed; the reviewed implementation/tests and main clients are preserved. Exact CI 40506028314 passed all six gates, tidy ratchet and changed-file checks; title is green. No remaining integration finding. Concrete branch obligations and the unconditional native endpoint remain outside this PR's proved scope.
|
Queue request for |
Change
Part of #1226 (building on #1298, #1309, #1311, #1314, #1316, #1321, #1324, and #1334). Based on actual #1334 squash$\mathbb{F}_2$ polynomial-system common-zero counter $k$ -CNF leaf model counter $\to \mathbb{N}$ ) and its
dc46b5d22f9f6fbfadc1005dd96871b39e60e1a2. Connects the heavy-branched sparseCslib.Complexity.SubexponentialSAT.SparsePolyCounter.countSparsePolySystem(§5.5 Proof of Theorem 2.2, printed pp. 38–39) to the native sparseCslib.Complexity.SparseCNFLeafCounter.sparseCNFDeclaredCounterand occurring-support normalizerCslib.Logic.PL.CNF.normalizeDeclaredLeaf(§6.3 equation (6.4), printed p. 43) at the Proposition 6.4 leaf density schedule (§6.4, printed pp. 43–44) of [OpenAI, The Exponential Time Hypothesis is False][OpenAI2026ETH] (pinned revision7ef5c0cc) inComplexity/Computability/PolyTime/CNF/BranchedSparseCNFCounter.lean, parameterized solely over a Proposition 5.3 bounded-incidence branch evaluator (Cslib.Complexity.SubexponentialSAT.SparsePolyCounter.BranchEvalInputCslib.GenericRAM.NativeCertificate.Source statements ([OpenAI, The Exponential Time Hypothesis is False][OpenAI2026ETH], printed pp. 20–21, 38–39, 43–44)
(Mathematical-transcription note: Plain-text extraction from the source PDF flattens rendered blackboard/bold and calligraphic symbols, superscripts, subscripts, primes, ceiling and floor brackets, radicals, inequalities, and summation signs—including $\mathbb{F}2$, $m{\mathrm{test}}$, $M = \sum_{f \in \mathcal{F}} |I_f|$, $b_0 = \lceil M / n \rceil \lceil \sqrt{\lambda} \rceil$, $2^{n / \sqrt{\lambda}}$, $n' \geqslant n - n/\sqrt{\lambda} \geqslant n/2$, $3n(2m)^P + 1$, $2^{O_k(n(\log \log n)^2 / \sqrt{\log n})}$, $\lambda_n = \lceil \log_2 n \rceil$, $\nu_n = \lceil \log_2 \lambda_n \rceil$, $s = \lfloor \sqrt{\lambda_n} / \nu_n^2 \rfloor$, $s^2 \nu_n^4 \leqslant \lambda_n$, and $B = O_k((s \log s)^{k-1}) = (\log n)^{O_k(1)}$; in the separate contiguous source passages below, all mathematical symbols, brackets, superscripts, subscripts, and displayed equations are restored to match rendered printed pages 20–21, 38–39, and 43–44.)
§2.9, Theorem 2.2, printed pp. 20–21:
§5.5, Proof of Theorem 2.2 (heavy-variable branching and restricted branch dimension), printed p. 38:
§5.5, Proof of Theorem 2.2 (per-branch exponent transfer and multi-branch summation), printed p. 39:
§6.3, Counting one sparse formula and equation (6.4), printed p. 43:
§6.4, Proposition 6.4 and Proof (discrete leaf parameter schedule and leaf invocation), printed pp. 43–44:
Source-to-Lean mapping (
Complexity/Computability/PolyTime/CNF/BranchedSparseCNFCounter.lean)Cslib.Complexity.BranchedSparseCNFCounter.leafSearchDivisor,Cslib.Complexity.BranchedSparseCNFCounter.leafThresholdBase,Cslib.Complexity.BranchedSparseCNFCounter.leafOccBound,Cslib.Complexity.BranchedSparseCNFCounter.leafDensityRatio):Cslib.Complexity.BranchedSparseCNFCounter.leafOccBound_eq_sum,Cslib.Complexity.BranchedSparseCNFCounter.leafOccBound_eq_occBound,Cslib.Complexity.BranchedSparseCNFCounter.leafDensityRatio_eq_prop64LeafClauseRatio,Cslib.Complexity.BranchedSparseCNFCounter.one_le_leafDensityRatio, andCslib.Complexity.BranchedSparseCNFCounter.leafOccBound_mul_succ_le_leafDensityRatio_mul.Cslib.Complexity.BranchedSparseCNFCounter.exists_leafDensityRatio_le_mul_clog_pow, reusingCslib.Logic.PL.CNF.exists_prop64LeafClauseRatio_le_mul_clog_pow) and the unary polynomial-time computability certificateCslib.Complexity.BranchedSparseCNFCounter.computableInPolyTime_leafDensityRatioonTuring.MultiTapeTM.encPairTuring.MultiTapeTM.Universal.encUnitTuring.MultiTapeTM.encUnaryTuring.MultiTapeTM.encUnaryby clamping the binaryCslib.Logic.PL.ClauseSet.Sparsification.computableInPolyTime_countingThresholdBasecomputation with a unary polynomial upper bound viaTuring.MultiTapeTM.ComputableInPolyTime.binary_min_unary'.Cslib.Complexity.BranchedSparseCNFCounter.branchedPolyCounter,Cslib.Complexity.BranchedSparseCNFCounter.branchedSparseCNFDeclaredCounter,Cslib.Complexity.BranchedSparseCNFCounter.branchedSparseCNFLeafCounter):Cslib.Complexity.SubexponentialSAT.SparsePolyCounter.countSparsePolySystematCslib.Complexity.SubexponentialSAT.SparsePolyCounter.mkPaperSparseInput, dispatches valid dense inputs (Cslib.GenericRAM.ExhaustiveCountFallback.countCNFExhaustive, dispatches sparse inputs (Cslib.Complexity.SparseCNFLeafCounter.sparseCNFDeclaredCounterat thresholdCslib.Logic.PL.CNF.normalizeDeclaredLeaf.Cslib.Complexity.BranchedSparseCNFCounter.branchedSparseCNFDeclaredCounter_le_two_pow,Cslib.Complexity.BranchedSparseCNFCounter.branchedSparseCNFLeafCounter_le_two_pow_numVars) and, assuming exact feasible-branch evaluation, exactness equal toCslib.Logic.PL.CNF.modelCountOnandCslib.Logic.PL.CNF.modelCounton every width-$\le k$ formula supported inCslib.Complexity.BranchedSparseCNFCounter.branchedPolyCounter_eq_commonZeroCount,Cslib.Complexity.BranchedSparseCNFCounter.branchedSparseCNFDeclaredCounter_eq_modelCountOn,Cslib.Complexity.BranchedSparseCNFCounter.branchedSparseCNFLeafCounter_eq_modelCount, and concreteCslib.GenericRAM.ExhaustiveCountFallback.countSystemExhaustivespecializationsCslib.Complexity.BranchedSparseCNFCounter.branchedSparseCNFDeclaredCounter_exhaustive_eq_modelCountOnandCslib.Complexity.BranchedSparseCNFCounter.branchedSparseCNFLeafCounter_exhaustive_eq_modelCount).Cslib.Complexity.BranchedSparseCNFCounter.branchedPolyCertificate,Cslib.Complexity.BranchedSparseCNFCounter.branchedSparseCNFDeclaredCertificate,Cslib.Complexity.BranchedSparseCNFCounter.branchedSparseCNFLeafCertificate,Cslib.Complexity.BranchedSparseCNFCounter.BranchPolylogTimeBound):Cslib.GenericRAM.NativeCertificatewitnesses and proves globalTuring.MultiTapeTM.PolyBoundedworkspace across all inputs (Cslib.Complexity.BranchedSparseCNFCounter.polyBounded_branchedPolyCertificate_space,Cslib.Complexity.BranchedSparseCNFCounter.polyBounded_branchedSparseCNFDeclaredCertificate_space,Cslib.Complexity.BranchedSparseCNFCounter.polyBounded_branchedSparseCNFLeafCertificate_space).Cslib.Complexity.BranchedSparseCNFCounter.BranchPolylogTimeBound(the Proposition 5.3 per-branch runtime hypothesis with reduced equation countCslib.Complexity.BranchedSparseCNFCounter.exists_threshold_branchedSparseCNF_time_boundandCslib.Complexity.BranchedSparseCNFCounter.exists_branchedSparseCNF_time_bound, bounding both declared and normalized leaf certificate times byDeviations / Non-claims
Parameterized over a Proposition 5.3 bounded-incidence branch evaluator ($\to \mathbb{N}$ ) and its
Cslib.Complexity.SubexponentialSAT.SparsePolyCounter.BranchEvalInputCslib.GenericRAM.NativeCertificate; does not instantiate the internal §5.4 truncated-parity Taylor-interpolation branch evaluator or compose the outer §6.4 disjoint-sparsification tree (handled in sibling and downstream slices of Port OpenAI's ETH refutation (subexponential #k-SAT) natively into complexitylib #1226).Cslib.Complexity.BranchedSparseCNFCounter.branchedSparseCNFDeclaredCounteradds an outerCslib.Logic.PL.CNF.validDeclaredInputCslib.GenericRAM.ExhaustiveCountFallback.countCNFExhaustiveso that (i) assuming exact feasible-branch evaluation, every width-$\le k$ formula supported inExisting notions considered:
Cslib.Complexity.SubexponentialSAT.ReplacementParams.numGroups,Cslib.Logic.PL.ClauseSet.Sparsification.countingThresholdBase,Cslib.Logic.PL.ClauseSet.Sparsification.computableInPolyTime_countingThresholdBase,Cslib.Complexity.CountingSparsify.occBound,Cslib.Logic.PL.CNF.prop64LeafClauseRatio,Cslib.Logic.PL.CNF.exists_prop64LeafClauseRatio_le_mul_clog_pow,Cslib.Logic.PL.CNF.initialRowWeightCoeff,Cslib.Logic.PL.CNF.initialRowWeightBound_le_mul_pow_clog,Cslib.Complexity.SubexponentialSAT.interpolationScale,Cslib.Complexity.SubexponentialSAT.SparseCountingScale.eventually_query_overhead_poly_le, andCslib.Complexity.SubexponentialSAT.ReplacementParams.two_pow_div_sqrt_clog_le_interpolationScale: reused directly for the discrete Proposition 6.4 parameter schedule, polylogarithmic density and initial-row weight bounds, Lemma 6.2 candidate-query absorption, andCslib.Complexity.SubexponentialSAT.SparsePolyCounter.countSparsePolySystem,Cslib.Complexity.SubexponentialSAT.SparsePolyCounter.sparsePolyCounterCertificate,Cslib.Complexity.SubexponentialSAT.SparsePolyCounter.mkPaperSparseInput,Cslib.Logic.PL.CNF.validDeclaredInput,Cslib.Logic.PL.CNF.validDeclaredInput_eq_true_iff,Cslib.Complexity.SparseCNFLeafCounter.computableInPolyTime_validDeclaredInput,Cslib.Complexity.SparseCNFLeafCounter.sparseCNFDeclaredCounter,Cslib.Complexity.SparseCNFLeafCounter.sparseCNFDeclaredCertificate,Cslib.Logic.PL.CNF.normalizeDeclaredLeaf, andCslib.Complexity.SparseCNFLeafCounter.normalizeDeclaredLeafCertificate: reused directly without re-implementing heavy-variable branching, greedy parity-row selection, or support right-shift normalization.Cslib.Complexity.BranchedSparseCNFCounter.leafSearchDivisor,Cslib.Complexity.BranchedSparseCNFCounter.leafThresholdBase,Cslib.Complexity.BranchedSparseCNFCounter.leafOccBound, andCslib.Complexity.BranchedSparseCNFCounter.leafDensityRatio:Cslib.Logic.PL.CNF.prop64LeafClauseRatiocase-splits directly onReplacementParams.numGroupsCslib.Complexity.SparseCNFLeafCounter.sparseCNFDeclaredCertificateand matching the Section 6.4 sparsification leaf boundleafOccBoundseparately fromleafDensityRatio, and certifying unary polynomial-time computability.Validation and review
Coordinator refresh
b80e8a1ea7b77ddf345be0e8725849e530c5a78fmerges actual #1334 squashdc46b5d22f9f6fbfadc1005dd96871b39e60e1a2. The library implementation and test source preserve the approved payload; only the reviewed exactness wording changes. The strict targeted library/test build passed (7138 jobs). Source/API/resource approval carries forward; Exact-head hosted CI 40506028314 is running; full gates remain required.18388586880035d095e0c405c2640b22f73f37a5(stacked on feat(PolyTime/CNF): add native sparse k-CNF leaf model counter #13342031d62bf98461c1b47e5aa3f8cdb405b0e57081)LEAN_NUM_THREADS=12 lake build --wfail --iofail Complexity ComplexityTests ComplexityAbstracts(passed, 0 warnings)LEAN_NUM_THREADS=12 lake exe mk_all --check(passed)LEAN_NUM_THREADS=12 lake test --wfail --iofail(passed)LEAN_NUM_THREADS=12 lake exe runLinter Complexity.Computability.PolyTime.CNF.BranchedSparseCNFCounter ComplexityTests.Computability.PolyTime.CNF.BranchedSparseCNFCounter(passed)LEAN_NUM_THREADS=12 lake exe lint-style(passed)LEAN_NUM_THREADS=12 lake exe checkInitImports(passed)python3 scripts/check_hygiene.py --check-simp(passed)python3 scripts/check_tidy_surface.py(passed, zero new publicTuring.MultiTapeTM.ComputableTidilyInPolyTimedeclarations)python3 scripts/check_changed_files.py --base 2031d62bf98461c1b47e5aa3f8cdb405b0e57081(passed)python3 scripts/parallel_defs.py --base 2031d62bf98461c1b47e5aa3f8cdb405b0e57081(passed)python3 scripts/audit_queries.py duplicates Complexity/Computability/PolyTime/CNF/BranchedSparseCNFCounter.lean(passed)python3 -B scripts/build_abstracts.py --check(passed)python3 scripts/check_pr_names.py --strict --base 2031d62bf98461c1b47e5aa3f8cdb405b0e57081(passed)ComplexityTests/Computability/PolyTime/CNF/BranchedSparseCNFCounter.lean: kernel-checked instantiations withComplexityTests.Computability.PolyTime.CNF.BranchedSparseCNFCounter.exhBranchEvalcovering (1) theComplexityTests.Computability.PolyTime.CNF.BranchedSparseCNFCounter.leafDensityRatio_three_two, verifying declared countComplexityTests.Computability.PolyTime.CNF.BranchedSparseCNFCounter.leafDensityRatio_three_four) across both below-threshold fallback (Cslib.Complexity.SparseCNFLeafCounter.entersSparseFastPathCslib.Complexity.BranchedSparseCNFCounter.computableInPolyTime_leafDensityRatio,Cslib.GenericRAM.NativeCertificate.isComputable,Turing.MultiTapeTM.ComputableInO, andTuring.MultiTapeTM.PolyBoundedworkspace checks.[OpenAI2026ETH], Proposition 6.4 / §6.3 leaf schedule and exactness bridges,BranchPolylogTimeBoundruntime absorption, API reuse acrossComplexity/Computability/Complexity/FineGrained/, and concrete nonvacuity coverage, followed by clean 6-gatescripts/check.shand Python hygiene/tidy/changed-files/parallel-defs/abstracts/PR-names validation at70d39658d3a5409090d3c2d45bb956be0fd162ad(based onc9b5a6768), and re-verified after restacking onto feat(PolyTime/CNF): add native sparse k-CNF leaf model counter #1334 (2031d62bf98461c1b47e5aa3f8cdb405b0e57081) withCslib.Logic.PL.CNF.validDeclaredInput/Cslib.Logic.PL.CNF.normalizeDeclaredLeafat18388586880035d095e0c405c2640b22f73f37a5.Headline abstracts
Complexity.Computability.PolyTime.CNF.BranchedSparseCNFCounterandComplexityTests.Computability.PolyTime.CNF.BranchedSparseCNFCountertoward Port OpenAI's ETH refutation (subexponential #k-SAT) natively into complexitylib #1226 and modifies no declaration or statement inabstracts/catalogue.json. Verified withpython3 -B scripts/build_abstracts.py --check.abstracts/catalogue.jsonentry changed).AI assistance
AI-assisted (Gemini) under human direction (
@antonkov); all Lean proofs and concrete test instances were mechanically checked by Lean 4.