cas-internal-pratt-mersenne89
- Kind
- witness-replay
- Status
- checked
Supports: certify_prime(2^89-1) produces a Pratt certificate and check_primality_certificate independently re-derives and accepts it; the same certificate is correctly rejected for the neighbouring composite 2^89-3
cargo test -p axeyum-cas --lib ntheory_certify::ntheory_certify_tests::certifies_a_prime_beyond_u64_max -- --exact 2>/dev/null | grep -cE '^test ntheory_certify::ntheory_certify_tests::certifies_a_prime_beyond_u64_max \.\.\. ok$' Evidence notes
cas-internal (ADR-0601 SS2): the checker_command names only the axeyum-cas package (never axeyum-lean-kernel), so scripts/validate-facts.py's classify_cas_certificate_checker classifies this evidence as cas-internal, matching this module's own module doc, which labels itself cas-internal explicitly and explains why: a kernel reconstruction of a Pratt witness's order over the unary-numeral Nat prelude would be an Eq.refl-shaped, substance-free reconstruction (the same trap scripts/check-cas-substance.py exists to catch for cas-certificate facts that DO reconstruct), and it would hit the measured unary-numeral cost wall documented in CLAUDE.md (a single Nat gcd over four-digit operands already costs tens of seconds there). Proved by breaking: temporarily changing the test's expected magnitude check (mersenne_89 > i128::from(u64::MAX)) or its witness/factor assertions and re-running reproduces a FAILED test line and grep -c returns 0, exit 1 -- verified during this fact's registration and restored before commit (ADR-1055 records the exact break/restore transcript).