Repository navigation
Conversation
The audit substitutes each reduction path's composed parameter transform into the target's registered complexity and flags sources whose registered bound is beaten by the derived one. It surfaced two wrong entries: - NonTautology claimed the 3-SAT bound 1.307^n, but unbounded-width DNF is CNF-SAT by De Morgan duality; best known is 2^n. - MinimumWeightDecoding claimed 2^(0.0494 m), an average-case exponent for random codes; no worst-case bound below exhaustive search is known. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agentic Review ReportPR #1219 at Structural
Quality
Feature test
FindingsImportant
Minor
Fix: decide from the growth domain instead. For example, add Fix: make the guard explicit. Skip (count as unknown) when Verdict: the NonTautology fix and the audit tool are sound. Finding 1 should be addressed before merge: the new MWD paper statement is mathematically false. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1219 +/- ##
=======================================
Coverage 97.18% 97.18%
=======================================
Files 1146 1146
Lines 151076 151076
=======================================
Hits 146819 146819
Misses 4257 4257 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
- MinimumWeightDecoding: register 2^(0.773 m). A consistent system has a solution of weight <= rank(H); the cheaper of coset and low-weight enumeration balances at r/m ~ 0.2271. Derivation added to the paper. - NonTautology paper text: state the SETH barrier instead of claiming exhaustive search is best known. - Audit: skip aggregate-only edges, skip targets whose complexity the growth domain cannot analyze before substituting, count missing complexities separately, and drop the string-based polynomial split. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Addressed the Agentic Review Report in ea882aa:
New audit result: 6 flagged variants. Fixing MinimumWeightDecoding exposed another stale entry, Gates: |
|
Please kindly check the following items (PR #1219):
Join the discussion on Zulip — feel free to ask questions or leave feedback there. |
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Retargeted onto |
GiggleLiu
left a comment
There was a problem hiding this comment.
Agentic Review Report
PR #1219. Reviewed head 77fb850f21d01330111c081965c715fabfff59b2 against own base 0daa9a8265aefe40983beeba0464f8feea8c3316 (feat/binary-ilp-to-sat). Read-only review; no tracked edits, pushes, PR comments or merges.
Verdict
HOLD for the new MinimumWeightDecoding complexity entry. The NonTautology exponential-base correction is justified; the decoding bound is valid but already beaten by elementary exact meet-in-the-middle.
Structural
Reviewed the five-file own-base diff, full audit example, model definitions and complexity registrations, relevant manual text and metadata test. The audit skips aggregate-only and Turing edges, accounts for unavailable transforms, and enumerates simple paths of at most three witness hops. It is a heuristic consistency report, not a proof that an algorithm is optimal or that every apparent violation is sound.
Quality
The new MWD test pins the literal 0.773, so it cannot detect that the chosen algorithm is not best known. The proposed entropy/coset derivation gives a valid upper bound, but checking only that derivation misses a much simpler smaller bound. The printed audit conclusions also need caution when a growth is only a widened upper bound; a future exactness API alone does not establish monotonicity of arbitrary complexity expressions.
Feature test
A separate Python meet-in-the-middle solver was checked against exhaustive minimum-weight search on 1,320 deterministic arbitrary binary matrix/syndrome cases, with 0–10 columns, 0–5 rows, empty/rank-deficient/infeasible cases included. All agreed. The construction and running-time derivation below are independent of average-case decoding assumptions. No full exact-head audit rerun or CLI install was performed in this review. git diff --check BASE...HEAD passed.
Findings
- Important:
2^(0.773*num_cols)is not a best-known worst-case bound.src/models/algebraic/minimum_weight_decoding.rs:182-185, with corresponding paper discussion atdocs/paper/reductions.typ:10995. Split the m columns as H=[H_L H_R]. Enumerate every left half-word and keep the minimum Hamming weight witness for each syndrome H_L x_L. Enumerate right half-words and look up s xor H_R x_R, minimizing the sum of the two stored weights. Every full word has a unique left/right split, and retaining the lightest half-word per syndrome cannot discard a better completion. Sorting or hashing gives O*(2^ceil(m/2)) worst-case time with O*(2^floor(m/2)) space; deterministic sorting adds only polynomial factors. Thus the new entry is already worse than a straightforward exact O*(2^(m/2)) algorithm. Register at least that sound bound after checking for stronger known worst-case algorithms, and state the space requirement. No assumption that the code is random is involved. - Minor: qualify the entropy-count sentence. The bound
sum_{w≤r} C(m,w)≤2^(m h(r/m))applies for r≤m/2. For r>m/2 use coset enumeration directly. The final 0.773 upper bound remains valid, but the paper's intermediate enumeration statement is too broad. - Minor: update PR description. Its table still says the MWD change ends at
2^num_cols; the head registers2^(0.773*num_cols).
Primary-source verification
The CNF-SAT/SETH distinction is supported by Cygan et al., On Problems as Hard as CNFSAT: sub-2^n improvements do not imply a constant exponential base below 2. De Morgan duality directly transfers the unbounded-width DNF non-tautology search to CNF-SAT. The MWD counterexample to best-known status above is a complete direct algorithmic derivation, checked independently on small instances; it is not an inference from an average-case ISD exponent. Attempts to open the IACR decoding-estimator paper returned HTTP 403, so this report does not claim a complete literature survey or a final optimal exponent.
GitHub PR policy audit
GATE: PASS. This is the harm-signals gate only; it does not override the correctness verdict above.
- harm.secrets (
security.no-secrets): OK. No obvious credential/private-key/token addition detected in the own-base diff. - harm.dangerous-files (
git.harm-signals): OK. No conflict markers, unexplained archives or local scratch/config artifacts detected. - harm.generated-artifacts (
code.generated-artifacts): OK. No blacklisted generated graph/schema/example exports or build targets added. Test oracle fixtures are intentional test inputs; small browser contracts/fonts are intentional source assets. - harm.cache (
code.generated-cache): OK. No cache directories added. - harm.debug-leftovers (
code.debug-leftovers): OK. No debugger, breakpoint or temporary debug print addition detected. Browser performance marks are deliberate verification instrumentation. - pr.description-quality (
github.pr-description-quality): ISSUE. Stale scope/final-bound details identified above; update before approval. - pr.traceable (
github.prs-traceable): OK. The PR states its purpose and own stack context.
Policy evidence: own-base name/status, numstat and patch inspection; added-line secret/conflict/debug scan; git diff --check; gh-axi pr view 1219 --full --comments --reviews. No claim of exhaustive secret scanning. The parent reviewer owns the final head/base recheck before any merge.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
0.7907 rounded 2.372/3 = 0.79067 up, so the audit flagged the One variant as beaten by its own i64 variant. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Splitting the columns of H into halves and matching H_L x_L against s + H_R x_R is exact and beats the 2^(0.773 m) rank argument on every instance. The paper now cites Stephens-Davidowitz and Vaikuntanathan (FOCS 2019) for SETH-optimality of 2^k in the coset rank k. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Summary
Adds
examples/complexity_consistency_audit.rs, which checks registered variant complexities against the reduction graph. For every path A → … → B of 1–3 witness hops (Turing and aggregate-only edges are skipped), it substitutes the path's composed parameter transform into B's registered complexity. The result is an upper bound on solving A, ignoring the polynomial cost of the reduction itself. The audit flags A when that derived bound is strictly smaller in Big-O than A's own registered complexity. In that case either A's entry is stale or a transform along the path is wrong.The audit found three wrong entries, fixed here along with the matching paper text:
NonTautology1.307^num_vars2^num_varsSatisfiabilityandKSatisfiability<KN>.MinimumWeightDecoding2^(0.0494 * num_cols)2^(0.5 * num_cols)MaxCut<SimpleGraph, One>2^(0.7907 * num_vertices)2^(2.372 * num_vertices / 3)Onevariant was beaten by its owni64variant. It now uses the same form.Remaining findings (not fixed here; follow-ups)
MaxCut<SimpleGraph, i64>=2^(2.372n/3). Williams' algorithm runs in O*(M·2^(ωn/3)) for weights bounded by M, and the entry leaves out the weight factor. This flagsSpinGlass,DecisionSpinGlassandGraphPartitioning.MaximumSetPacking(Oneandi64) =2^num_sets. The reduction to MIS on the intersection graph gives1.1996^num_sets. First we need to confirm that 1.1996^n also applies to weighted MIS (MaximumIndependentSet<SimpleGraph, i64>).ThreeDimensionalMatching=2^num_triples. The 3DM → MWD reduction now bounds it by2^(0.5 * num_triples).Coverage limits
On the current
mainbase the audit examines 2,358 paths: 533 consistent, 17 where the derived bound is better (the 6 variants above), 123 that compare bounds in different variables and can't be ranked, 9 that can't be composed, and 1,676 that hit forms the growth domain can't analyze. Most of the unknown ones are nonlinear exponents such as2^(n*m); #1220 removes most of that bucket. The audit catches only entries that disagree with the graph; a wrong value that happens to be consistent still needs a literature review.Verification
make check: fmt, clippy and every test suite pass, with one exception. The doctest atproblemreductions-macros/src/lib.rs:211fails because it is anignore-marked syntax example that--include-ignoredforces to run. It fails onmaintoo and is unrelated to this PR.make paperpasses.🤖 Generated with Claude Code