1. Golomb graph: scale pentagon to side=1 (radius=1/(2*sin(π/5)))
Previous construction had 0 edges (vertices not at unit distance)
2. Fix f-string NoneType crash in EVAL writer when welch_wynn is None
Two new files:
1. scripts/hn_spectral_database.py
Extends hn_hoffman_bound.py with multiple unit-distance graphs:
- Moser spindle (7v, χ=4)
- Golomb graph (10v, χ=4)
- Baselines: empty, path P10, cycle C5, complete K4
- de Grey 1581 + pruned subgraphs (with --full flag)
- Hoffman bound AND Welch-Wynn bound (Lovász theta lower bound)
- Spectral database: (n, e, λ_max, λ_min, Hoffman, Welch-Wynn, known χ, gap)
- Gap measures how much chromatic info is NOT in the spectrum
Requires numpy (and scipy for --full SDP, with fallback).
2. formal/CoreFormalism/CRTSidonN.lean
Generalizes sidon_preserved_mod from 2 moduli to n moduli.
Key new lemma: mod_eq_of_coprime_list (generalized CRT uniqueness)
- Proven by induction on moduli list using 2-moduli case as step
- Core sublemma: pairwise_coprime_product_dvd (if pairwise coprime
list and each divides d, product divides d)
- reflection_implies_sum_cong: reflection component → sum congruence
(same algebra as 2-moduli case, generalized)
- Main theorem: sidon_preserved_mod_n
STATUS: written, needs lake build verification (no toolchain on edit box)