diff --git a/experiments/ramanujan_28/submission/ADVERSARIAL_REVIEW_AGAINST_CHALLENGE_RULES.md b/experiments/ramanujan_28/submission/ADVERSARIAL_REVIEW_AGAINST_CHALLENGE_RULES.md new file mode 100644 index 0000000..eb91e22 --- /dev/null +++ b/experiments/ramanujan_28/submission/ADVERSARIAL_REVIEW_AGAINST_CHALLENGE_RULES.md @@ -0,0 +1,185 @@ +# Adversarial review of the Problem 2.8 submission, against the challenge's own rules + +Reviewer: independent replay, 2026-07-31. Target: commit `492c8ab` +(tag `p28-submission-2026-08-01`). Environment: CachyOS, python3 3.14, +SageMath 10.9, TeX Live 2026. + +## The standard actually being applied + +The challenge states no prize, eligibility, or submission rules. Its operative +evidentiary standard is in §4, *Discussion — Proof in the Age of AI*: + +> For the purpose of this challenge, we consider a derivation carried out using +> symbolic libraries within established computer algebra systems as sufficient +> evidence of a valid solution. + +and §1 names the central risk the evaluators care about: + +> if a problem or its solution appears in the AI training data, success may +> reflect retrieval rather than reasoning. + +This review is scored against those two clauses, not against a generic notion of +rigour. + +## Verdict + +**The submission satisfies the challenge's evidentiary standard, and exceeds +it.** One defect is nonetheless serious *as a submission*, because it fires on +the evaluator's first command. + +## Findings + +### F1 — CRITICAL (process, not mathematics): `run_checks.sh` exits 1 + +The submission's single advertised replay command fails on any machine that has +SageMath installed. + +``` +$ bash run_checks.sh +... 43 PASS lines ... +TypeError: keys do not match self's parent +$ echo $? +1 +``` + +Two independent causes compound: + +1. **`set -euo pipefail` (line 2) makes the "optional" cross-checks fatal.** + Lines 44–49 run three Sage certificates inside `if command -v sage`. Where + Sage is absent the script prints *"OPTIONAL: SageMath is not installed"* and + exits 0. Where Sage is present, any Sage failure aborts everything. The + script therefore **passes on machines without the optional tooling and fails + on machines with it** — precisely inverted. `ADVERSARIAL_AUDIT.md` claims + "Wolfram and Sage are now optional independent cross-checks"; the exit code + does not honour that claim. + +2. **`p28_lattice_hypotheses_certificate.sage` fails**, for two reasons of very + different severity — see F2 and F3. + +This matters disproportionately because the challenge is explicitly CAS-oriented. +An evaluator applying the §4 standard is *more* likely than average to have Sage +installed, and is therefore *more* likely to see the failure. + +The other two Sage certificates (`p28_kernel_contiguity_certificate.sage`, +`all_four_columns_certificate.sage`) both exit 0. + +### F2 — MEDIUM (real bug, non-load-bearing): a false assertion + +`p28_lattice_hypotheses_certificate.sage` line 107 asserts + +``` +72*b3 + 108*x*b2 + 46*x*b1 + 5*x*b0 + == vector(K, [72+108x+46x+5x, 216+108x+46x, 216+108x, 72]) +``` + +Component 1 is **wrong**. Since `b2 = (1,2,1,0)`, the `108*x*b2` term contributes +`216x`, not `108x`: + +| component | true value | as written | equal | +|---|---|---|---| +| 0 | `72 + 159x` | `72 + 159x` | yes | +| 1 | `216 + 262x` | `216 + 154x` | **no** | +| 2 | `216 + 108x` | `216 + 108x` | yes | +| 3 | `72` | `72` | yes | + +**The mathematics is unaffected.** This is a redundant intermediate display +check. The load-bearing identity immediately below it, + +``` +Bcomb == 4*x*Crow, Crow = 18*b3/x + (5/4)b0 + (23/2)b1 + 27*b2 +``` + +is **true**, and `Crow` reproduces the manuscript's compact denominator row +`C(x) = (18/x + 159/4, 54/x + 131/2, 54/x + 27, 18/x)` exactly. Verified +independently in sympy. So the defect is a transcription slip in a check that +proves nothing the next line does not prove correctly. + +### F3 — MEDIUM (environment): Sage 10.9 parent-coercion failure masks F2 + +Line 43, `denominator.subs({x: 0})`, raises +`TypeError: keys do not match self's parent`. `K` is a fraction field, so +`.numerator()` / `.denominator()` return elements of the underlying polynomial +ring while `x` belongs to `K`. Sage 10.9 no longer coerces the substitution key. + +Coercing the key (`denominator.parent()(x)`) clears the TypeError — and the +certificate then runs on to fail at F2. The version-drift bug was **hiding a +real one**, which is the more instructive fact: the certificate has evidently +not been executed to completion on current Sage. + +### F4 — MEDIUM (framing): the contamination question is not addressed + +§1 names retrieval-vs-reasoning as the central evaluation risk. Problem 2.8's +target is `sqrt(10005)/pi` — the Chudnovsky constant — and the submission +**imports the Chudnovsky identity** as its one external theorem. + +The import itself is handled well: §"The CM function and its exact value" names +it as a single external theorem, cites Milla Theorem 0.1 with the modular/CM +proof located at Theorem 9.7 and Chapter 10, and displays the elementary +coefficient bridge. That is ordinary mathematical practice and is not a defect. + +But the submission nowhere states plainly **what is novel versus what is +imported**. Given that the evaluators flagged contamination explicitly, a +reviewer could mistake the boxed `Phi(x_0) = sqrt(10005)/pi` for the result +rather than for a cited input. One short paragraph would remove the ambiguity: +the recurrence-to-`Phi` reduction is the new content; the CM evaluation of +`Phi(x_0)` is classical and cited. + +### F5 — PASS: the submission proves the officially stated claim + +Independently verified against the challenge text by exact rational arithmetic +(`p28_official_object_certificate.py`, 18 assertions, three negative controls): + +- `R = 151931373056001`, `u = 2n+3`, `w = u(3u-2)(3u+2)` — match +- all 11 polynomial entries `a1..a4, b1..b3, c1..c4` at `r = R` — symbolically identical +- full 4x4 `M_N(x_0)` vs official `M(N)` — all 16 entries identical at `N = 0,1,2,3,5,8,17,40` +- product convention `M(0)M(1)...M(N-1)`, `M_0 = I` — match +- both integer seed rows, generated by `A_0 = AC - (5/4)H_0` and `A_1 = SC` — exact match +- deformed coefficient `(14R-567)/9 = 236337691420383` — the official value +- orientation: the challenge asks `P_{N,j}/Q_{N,j} -> sqrt(10005)/pi`; the manuscript proves that orientation, for all four columns + +The proof is about the official object, not a surrogate. + +### F6 — PASS (exceeds standard): evidence is stronger than §4 requires + +§4 accepts a CAS derivation. The submission instead makes four standard-library, +dependency-free verifiers mandatory and demotes Wolfram/Sage to optional +cross-checks. All four exit 0 on plain `python3`, and the checks are falsifiable: +mutating `S[0][0]` from `64R-44` to `64R-43` yields exit 1 with an +`AssertionError` at `p28_dominant_product_algebra.py:268`. + +Ironically, F1 is a direct consequence of this strength — the effort went into +the dependency-free path, and the demoted Sage path was left unexercised. + +### F7 — PASS: the manuscript builds clean + +`pdflatex` x3: 0 errors, 0 warnings on the final pass, 17 pages, all +cross-references resolved, zero `??` in the output. Note that pass 1 legitimately +reports ~58 undefined references; anyone grepping a combined `latexmk` log will +see a false alarm. + +Cosmetic only (`chktex`/`lacheck`): ~43 missing non-breaking spaces +(`Theorem~3`), 5 wrong-length dashes (`Birkhoff--Poincare`), 3 spaces before +`\ref`, one whitespace-before-punctuation at line 316. + +## Recommended actions, in priority order + +1. **Fix F1.** Either drop `set -e` around the optional block, or guard each + optional invocation (`sage ... || echo "OPTIONAL: cross-check failed"`), so + that optional means optional. Highest value per unit effort in the whole list. +2. **Fix F2.** Correct `216 + 108*x + 46*x` to `216 + 216*x + 46*x`, or delete + the redundant assertion; the next line already proves the needed identity. +3. **Fix F3.** Coerce the substitution key into the polynomial parent so the + certificate runs on Sage 10.9. +4. **Add the F4 paragraph** separating novel content from cited input. +5. Optionally apply the F7 typography fixes. + +None of 1–3 touches the mathematics. All are edits to certificate plumbing. + +## What this review did not do + +It did not audit the logical chaining of the manuscript prose — whether +`prop@257 -> lemma@451 -> prop@494 -> prop@539 -> cor@713 -> lemma@930 -> +theorem@1157` discharges each hypothesis without circularity. That remains the +one substantive unverified area. A prior audit (`reviewed PR 20 against the +KKT-F.md`) validated an earlier version of that chain and returned PASS, but 764 +lines of `solution.tex` changed afterwards.