"The 100000th prime number is exactly 1299709."
Key Findings
- The Sieve of Eratosthenes computes the 100,000th prime as 1,299,709 (A1).
- The prime-counting function confirms exactly 100,000 primes exist up to 1,299,709 (A2).
- Trial division independently confirms 1,299,709 is prime (A3).
- The prime count up to 1,299,708 is 99,999, confirming 1,299,709 is the exact boundary (A4).
Claim Interpretation
Natural language: "The 100000th prime number is exactly 1299709."
Formal interpretation: The 100,000th prime in the standard sequence of prime numbers (2, 3, 5, 7, 11, ...) equals 1,299,709. "Exactly" requires strict equality. Primes are indexed starting at p(1) = 2, following standard mathematical convention. The number 1 is excluded from the primes per modern convention.
Source: proof.py JSON summary
evidence summary
| ID | Fact | Verified |
|---|---|---|
| A1 | 100000th prime via Sieve of Eratosthenes | Computed: 1,299,709 |
| A2 | Prime-counting function pi(1299709) equals 100000 | Computed: 100,000 primes found |
| A3 | 1299709 is prime (trial division) | Computed: True |
| A4 | pi(1299708) equals 99999 (confirms no prime between) | Computed: 99,999 primes found |
Source: proof.py JSON summary
Proof Logic
The proof uses three mathematically independent methods that together establish the claim:
Primary computation (A1): A Sieve of Eratosthenes generates all primes up to a computed upper bound and extracts the 100,000th prime. The result is 1,299,709.
Cross-check via counting (A2, A4): An independent sieve implementation counts all primes up to 1,299,709, finding exactly 100,000 (A2). Counting primes up to 1,299,708 yields 99,999 (A4). Together, these confirm that 1,299,709 is prime and is the exact 100,000th prime — not the 99,999th or 100,001st.
Cross-check via trial division (A3): A trial division algorithm independently confirms that 1,299,709 has no divisors other than 1 and itself, verifying its primality without relying on any sieve.
Small-case validation: The sieve was verified against known values: p(1)=2, p(10)=29, p(100)=541, p(1000)=7919 — all correct, ruling out systematic off-by-one errors.
Source: author analysis
Conclusion
PROVED. The 100,000th prime number is exactly 1,299,709. This was established by three independent computational methods: a Sieve of Eratosthenes finding the nth prime (A1), a prime-counting function confirming pi(1,299,709) = 100,000 (A2) and pi(1,299,708) = 99,999 (A4), and trial division confirming 1,299,709 is prime (A3). All methods agree. The proof is purely computational with no empirical citations required.
Generated by proof-engine v0.10.0 on 2026-03-28.
counter-evidence search
Three adversarial checks were performed:
-
Indexing convention: Verified that the standard convention p(1)=2 is used consistently. A 0-based convention would shift the answer, but both the claim and the computation use 1-based indexing.
-
Historical treatment of 1 as prime: If 1 were counted as prime, the index would shift by one. Modern mathematical convention (post-1800s) excludes 1, and the proof follows this convention.
-
Off-by-one errors: The sieve was validated against four known small primes. The boundary check (pi(1299709)=100000 and pi(1299708)=99999) structurally rules out off-by-one errors in the primary computation.
No counter-evidence was found.
Source: proof.py JSON summary
audit trail
============================================================
PRIMARY METHOD: Sieve of Eratosthenes
============================================================
The 100000th prime (via sieve) = 1299709
============================================================
CROSS-CHECK 1: Prime-counting function π(1299709)
============================================================
π(1299709) = 100000
============================================================
CROSS-CHECK 2: Primality of 1299709 via trial division
============================================================
is_prime(1299709) = True
============================================================
CROSS-CHECK 3: π(1299708) — confirming boundary
============================================================
π(1299708) = 99999
============================================================
CROSS-CHECK ASSERTIONS
============================================================
Sieve result matches claim: 1299709 == 1299709 → True
π(1299709) == 100000: 100000 == 100000 → True
1299709 is prime: True
π(1299708) == 99999: 99999 == 99999 → True
============================================================
ADVERSARIAL: Small-case verification
============================================================
p(1) = 2 (expected 2) ✓
p(10) = 29 (expected 29) ✓
p(100) = 541 (expected 541) ✓
p(1000) = 7919 (expected 7919) ✓
100000th prime check: 1299709 == 1299709 = True
Source: proof.py inline output (execution trace)
- Rule 1: N/A -- pure computation, no empirical facts
- Rule 2: N/A -- pure computation, no empirical facts
- Rule 3:
date.today()used in generator block for proof generation date - Rule 4:
CLAIM_FORMALwithoperator_noteexplicitly documents "exactly" as==and explains 1-based prime indexing convention - Rule 5: Three adversarial checks performed: indexing convention, historical treatment of 1, off-by-one errors. Small-case verification executed in code.
- Rule 6: N/A -- pure computation, no empirical facts. Cross-checks use mathematically independent methods: (1) sieve extraction vs. prime counting function, (2) trial division as independent primality test, (3) boundary verification via pi(n-1).
- Rule 7:
compare()imported fromscripts/computations.pyfor verdict evaluation. No hard-coded constants or formulas needed for this proof. - validate_proof.py result: PASS (14/14 checks passed, 0 issues, 0 warnings)
Source: author analysis
found this useful? ★ star on github