Revision step 3: restructured and shortened paper, full listing of A', code availability.

Title: 'Root Finding by Similarity and Analogy: A Bracketing Method with a Data-Selected Decision Layer'. Abstract 246 words. Main text 10.4k words (was 17.4k): search reports moved to Appendices A (old 6-7), B (wall-clock), C (negative results); revision history removed; pronouns for Chandrupatla's method fixed; tables numbered in order. New: Algorithm 2 (complete A'), the decision layer counted honestly in 6.5, Code and data availability, Appendix D (30 pre-registrations against the first commit of their own results, read from git by check_prereg_order.py: 25 before, 4 same commit, 1 decided on the smoke; A' frozen at 8027d7f between corpus 4's definition 657df10 and its results 6d2531e). Literature: Bus & Dekker 1975, Fernandez-Diaz & Menendez-Perez 2023 (two dimensionless parameters; SFRFm on sign(f)|f|^(1/m) with known multiplicity - the nearest precursor of the split), Cordero-Neta-Torregrosa 2021; Illinois and Ridders cited. verify_article: explicit check that every head-to-head row sums to its set. check_new_numbers.py: no number new to the text except headings, references, hashes. Server: verify 527 OK / 0 BAD, regression x2 1232 passed, PDF 30 pages, 0 errors, 0 undefined, 0 overfull.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
vvs
2026-09-22 08:18:30 +01:00
co-authored by Claude Opus 5
parent fbf13cd592
commit 0a62f7babb
12 changed files with 2087 additions and 1344 deletions
+7
View File
@@ -946,6 +946,13 @@ def verify_revision1():
check("base rule vs Chandrupatla by family, APS", families(by[PROJ], ch, "APS"), (6, 1, 8))
check("A' vs Chandrupatla by family, APS", families(ap, ch, "APS"), (8, 1, 6))
check("A' vs Chandrupatla by family, CHA", families(ap, ch, "CHA"), (7, 0, 2))
# revision: every head-to-head row of the paper must sum to the size of its set
rivals = ("chandrupatla", "toms748", "brent", "itp_oracle", "itp", "bisection")
sums = {(who, s): sum(head_to_head(rows + [ap], who, opp, s)[:3])
for who in (PROJ, ap["label"]) for opp in rivals for s in ("APS", "CHA")}
check("every head-to-head row sums to its set (154 / 45)",
{v for (w, s), v in sums.items() if s == "APS"} | {v + 1000 for (w, s), v in sums.items()
if s == "CHA"}, {154, 1045})
check("family-level p, APS and CHA (2 digits)",
(float(f"{sign_p(8, 6):.2g}"), float(f"{sign_p(7, 2):.2g}")), (0.79, 0.18))