Skip to content

dolonet/wagstaff-chebyshev

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Chebyshev primality criteria for Wagstaff numbers

This repository contains the LaTeX source, reproducibility scripts, and data pointers for the paper "Chebyshev primality criteria for Wagstaff numbers" by Alexey Dolotov.

Abstract

The Chebyshev base omega_3 = 3 + 2*sqrt(2) and the identity W_p + 1 = 4*W_{p-2} yield an unconditional N+1 primality criterion for the Wagstaff numbers W_p = (2^p + 1)/3; combined with a companion N-1 criterion and the Brillhart-Lehmer-Selfridge framework, this gives self-contained primality proofs of W_2617, W_10501, and W_12391, independent of ECPP. For the sufficiency conjecture -- whether the single congruence omega_3^{(W_p+1)/2} = -1 (mod W_p) implies primality -- we reduce the split branch r = 1 (mod 8) to the nonexistence of compatible Pell triples (proved for d <= 81) and prove that the inert branch r = 3 (mod 8) is impossible for order parameter d <= 43. A multi-factor reduction shows that any all-inert composite counterexample requires at least three prime factors, with no danger triple found beyond d = 683 in a systematic survey of all admissible d <= 1000.

Layout

.
├── paper/                         LaTeX source of the paper
│   ├── wagstaff_chebyshev.tex
│   └── Makefile                   pdflatex targets
├── scripts/                       Reproducibility scripts (23 Python scripts)
│   ├── README.md                  script -> paper section map
│   │
│   │  Survey pipeline (§8.5)
│   ├── survey.py                  inert-factor survey (128 cores, ~4 h)
│   ├── rerun_segments.py          re-run explicit survey segments
│   ├── build_clean.py             canonicalise the raw survey CSV
│   ├── audit.py                   CSV integrity audit
│   ├── verify_sample.py           independent verifier for a CSV slice
│   │
│   │  BLS primality proofs (§3.5-3.8)
│   ├── bls_n_minus_1_w2617.py     BLS proof for W_2617
│   ├── bls_n_minus_1_w10501.py    BLS proof for W_10501
│   ├── bls_n_minus_1_w12391.py    BLS proof for W_12391
│   ├── bls_ceiling.py             BLS N+1 ceiling analysis
│   ├── primality_bls.py           BLS N-1 proof driver (generic)
│   ├── wagstaff_verify_all.py     verify Theorem 3.2 for all known W_p
│   ├── chebyshev_test.py          standalone Chebyshev primality test
│   │
│   │  Split factor analysis (§5, §8.2)
│   ├── split_factor_census.py     185-factor census and case breakdown
│   ├── r3_split_sweep.py          extended R3 sweep at r <= 10^11
│   │
│   │  NCT and Pell exclusion (§5-6, §8.3-8.4)
│   ├── nct_verify.py              NCT (d<=81) and Pell exclusion (d<=43)
│   ├── nct_parity_obstruction.py  parity obstruction analysis
│   ├── nct_extended_verify.py     NCT search for d in [83, 200]
│   ├── primitive_divisor_survey.py primitive divisor survey (§8.3)
│   │
│   │  Inert factor analysis (§6-7, §8.5, §8.8)
│   ├── small_factor_census.py     869-factor census (r < 2x10^5)
│   ├── class_iii_wieferich.py     Class III Wieferich check (§6.2)
│   ├── secondary_closure.py       d=57, d=67 closure (§8.8)
│   └── danger_triple_survey.py    danger-triple survey for admissible d (§6.7)
│
├── data/                          Sample data, hashes, and BLS certificates
│   ├── README.md                  data dictionary + schema
│   ├── sample_1000.csv            first 1000 rows of the clean CSV
│   ├── SHA256SUMS                 hashes of full and sample CSVs
│   ├── bls_certificate_w2617.json
│   ├── bls_certificate_w10501.json
│   ├── bls_certificate_w12391.json
│   └── danger_triple_data.json    V_{114}, V_{134}, V_{662} factorisations + 5 danger triples
├── reproducibility.md             end-to-end reproduction walkthrough
├── LICENSE                        MIT
├── CITATION.cff                   machine-readable citation
└── README.md                      this file

Cite this work

If you use the survey data or the computational scripts, please cite:

A machine-readable citation is provided in CITATION.cff.

Reproduce the central computational claims in 4 steps

  1. Download the full CSV from Zenodo (802 MB, 15 587 021 rows).
  2. Verify integrity: shasum -a 256 -c data/SHA256SUMS (expected hash is pinned in data/README.md).
  3. Run the audit: python3 scripts/audit.py inert_factors.csv segment_stats.jsonl. Expect Bad segments: 0 and Total duplicates: 0.
  4. Spot-check a slice: python3 scripts/verify_sample.py data/sample_1000.csv. Expect Passed: 1000 / Failed: 0.

For the full reproduction procedure, including re-running the survey, see reproducibility.md.

Contact

Issues and questions: please open a GitHub issue on this repository.

License

MIT. See LICENSE.

About

Chebyshev primality criteria for Wagstaff numbers — computational dataset and verification scripts

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors