The sigma trapdoor is fermats difference of squares
NOT A NOVELTY CLAIM. This is a machine-checked formalisation, checked by the Lean 4 kernel and depending on no axiom. It is dated and citable. Prior art, where it exists, is cited below. No discovery is claimed.
Proposition
oddPrimes = [3, 5, 7, 11, 13, 17, 19, 23, 29] ∧ oddPrimes.all (fun p => oddPrimes.all (fun q => !(p < q) || witness p q * witness p q - p * q == ((q - p) / 2) * ((q - p) / 2))) ∧ oddPrimes.all (fun p => oddPrimes.all (fun q => !(p < q) || splits (p * q) == [(p, q)])) ∧ oddPrimes.all (fun p => oddPrimes.all (fun q => !(p < q) || decodes (p * q) (witness p q))) ∧ oddPrimes.all (fun q => (2 + q) % 2 == 1)Proof
By decide in thousand.lean. Checked by the Lean kernel: it depends on no axiom.
Sources and identifiers
- Lean source · src/pair/lean/proofs/thousand.lean
- Typeset paper · src/research/lean-theorems.tex
- Repository deposit · doi:10.5281/zenodo.21787144
- Author · ORCID 0009-0000-7312-9778
Proved in the same file
- The thousand bit case is one hundred twenty five octaves
- The binary units tile the thousand exactly
- The thousand is the cube octave times pentagram cubed
- The thousand carries residue one mod nine
- The thousand bit case overflows the width thirty two ceiling
- The minimal register for the thousand is width thirty three
- The thousand fills between ninety seven and ninety eight percent of its register
- The thousand bit structure is decided not a quantum machine
- A wrong witness decodes nothing because a semiprime has one split
- An impossible integer with twin primes is opened blind in one reflection
- The thousand bit integer has a thousand bits and exactly four threes
- This deposits factor route returns a partial answer that multiplies back
- The free register is one hundred twenty two only at width four
- One address sits sixty seven bits below the one twenty eight floor under grover
- The seal exponent seven is undone by thirty one mod ninety one
- The fold mod eight misses one tamper in eight