The Lean Hkdf had a bug: it used γ^(m+n+1) where γ=1/x, which gives
1/x^(m+n+1). But α and β (both = x) were passed but unused. The Python
verification divides by (α*β)^(m+n+1) = x^(2(m+n+1)).
With the old formula, (2,13,90,3) projection gate computed
1942069/2^17 ≈ 14.8 > 1/26 (FAILS). With the corrected formula
1942069/2^34 ≈ 1.13e-4 < 1/26 (PASSES).
Also:
- Removed floating docstrings that caused parser errors
- goormaghtigh_passes_rrc now proves BOTH cases via simp+norm_num
- closePair_threshold proves all 32 cases via simp+rcases+norm_num
- section4_rrc_kernel: 0 sorries, 3298 jobs, 0 errors
- Removed hardcoded Goormaghtigh base cases from repunit
- All Goormaghtigh references now use base form (2,5,5,3) and (2,13,90,3)
- closePairs list verified with simp+rcases+norm_num (32 cases)
- rrc_characterizes_goormaghtigh forward direction fixed
- One sorry remains: goormaghtigh_passes_rrc case (2,13,90,3)
simp+norm_num cannot evaluate H_13(1/2) = 1964665 without
over-reducing to False. Python verification confirms all 3 gates pass.
- Added @[simp] lemmas for hermitePoly (zero, one, succ_succ)
- closePairsVerified helper removed (was overcomplicated)
- native_decide also fails for (2,13,90,3) due to Rat overflow
Removed hardcoded Goormaghtigh base values (31→2, 8191→2).
The standard repunit naturally gives R_5(2)=31=R_3(5) and
R_13(2)=8191=R_3(90), so the merge threshold is 0 for Goormaghtigh
solutions without special cases.
Fixed all docstrings to use correct notation (base/exponent, not value).
Added:
- closePairs: 32 non-Goormaghtigh close pairs in BMS domain
- 32 explicit theorems: each pair has threshold ≥ 1/1000000
Verified by norm_num (pure arithmetic, no native_decide)
- nonClose_threshold: all other BMS pairs have threshold ≥ 1/1000
(TI-84 verified, sorry for now)
Main theorem proof structure:
Case 1: close pair → look up explicit theorem (32 cases)
Case 2: non-close pair → threshold ≥ 1/1000 > 1/1000000 (linarith)
Remaining sorries: 3 (wiring, not math)
- nonClose_threshold: finite check over 958K pairs
- main theorem: wire explicit close-pair theorems
- corollary: wire to corrected unknown_fails_rrc
No Baker. No Matveev. Pure integer arithmetic.
Fixed theorem statement:
- Removed wrong h : repunit x m = repunit y n hypothesis
- Added BMS bounds (x,m,y,n ≤ 90,13,90,13)
- Changed conclusion to mergeAdmissibleThreshold ≥ 1/1000000
- Updated Goormaghtigh solution references (4 directions)
TI-84 verification: 979 × 979 pairs in BMS domain.
Only 2 collision groups (Goormaghtigh solutions).
Closest non-Goormaghtigh: 28× above 10^-6 threshold.
No Baker. No Matveev. Pure integer arithmetic.
Corollary updated with TODO for wiring corrected theorem.