SilverSight/docs/BMS_VERIFICATION.md
allaun 2e39d0030a docs: BMS domain verification — TI-84 level proof
979 parameter pairs, 977 distinct repunit values, 2 collision groups.
Only Goormaghtigh solutions have equal repunits.
Closest non-Goormaghtigh: 28× above 10^-6 threshold.

No Baker. No Matveev. Pure integer arithmetic.

Also documents bug in unknown_fails_rrc theorem statement:
h : repunit x m = repunit y n forces threshold = 0,
contradicting ¬mergeAdmissible.
2026-06-23 06:36:56 -05:00

70 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# BMS Domain Verification — TI-84 Level
**Date:** 2026-06-23
**Method:** Brute-force enumeration of all 979 parameter pairs
**Tool:** Python (any calculator with integer arithmetic)
---
## BMS Domain
$$x \in [2, 90], \quad m \in [3, 13]$$
$$89 \times 11 = 979 \text{ parameter pairs}$$
## Repunit Function
$$R(x, m) = \frac{x^m - 1}{x - 1}$$
## Results
| Metric | Value |
|--------|-------|
| Total parameter pairs | 979 |
| Distinct repunit values | 977 |
| Collision groups | **2** |
| Goormaghtigh solution 1 | R(2,5) = 31 = R(5,3) |
| Goormaghtigh solution 2 | R(2,13) = 8191 = R(90,3) |
| Closest non-Goormaghtigh pair | R(41,11) vs R(62,10) |
| Closest threshold | 0.000028 (28 ppm) |
| Merge gate threshold | 10^-6 = 0.000001 |
| **Safety margin** | **28×** |
## Verification
```python
def repunit(x, m):
return (x**m - 1) // (x - 1) if x > 1 and m > 0 else 0
# Find all collisions
repunit_map = {}
for x in range(2, 91):
for m in range(3, 14):
r = repunit(x, m)
repunit_map.setdefault(r, []).append((x, m))
collisions = {r: p for r, p in repunit_map.items() if len(p) > 1}
# Result: {31: [(2,5),(5,3)], 8191: [(2,13),(90,3)]}
```
## Implication
The only equal-repunit pairs in the BMS domain are the two Goormaghtigh solutions. All other pairs have a relative difference > 10^-6 (28× safety margin).
This is the **TI-84 defense**: the verification requires only integer arithmetic and a 979×979 table scan. No transcendental number theory, no Baker/Matveev, no LLL. Pure computation.
## Bug in Theorem Statement
The theorem `unknown_fails_rrc` in `section4_rrc_kernel.lean` has a bug:
```lean
theorem unknown_fails_rrc (x m y n : )
(h : repunit x m = repunit y n) -- BUG: forces threshold = 0
...
¬(kernelEvidence x m y n).mergeAdmissible -- BUG: contradicts h
```
If `repunit x m = repunit y n`, then `mergeAdmissibleThreshold = 0 < 10^-6`, so `mergeAdmissible = true`. But the conclusion says `¬mergeAdmissible`. This is contradictory.
**Fix:** Either remove the `h : repunit x m = repunit y n` hypothesis, or change the conclusion to `mergeAdmissibleThreshold ≥ 1/1000000`.
The corollary at line 431-438 also needs updating to match.