Same Erdős problem 477, same greedy algorithm, same Lean formalization
approach. Their prover-verifier pipeline mirrors SilverSight's autoresearch
(phi4 -> lake build). 95% Lean 4.
Bloom (2026): 13th powers have a tiling complement. The greedy algorithm
is the same as SilverSight's crt_sidon_set; the density bound |Sc(T)|=O(T^{5/6})
corresponds to our Sidon sum collision bound.
Adds measured results from two CPU runs:
1. HN spectral database (run 019f2c52):
Hoffman bound on 6 graphs. Tight for regular (path, cycle, complete),
gap=1 for unit-distance (Moser spindle, Golomb graph). Pattern
suggests spectral detection loses exactly 1 color for unit-distance graphs.
2. q-profile sweep (run 019f2d9c):
Sweeps q = L₁/L₀ over coprime fractions. REFUTES the prediction
that q < 1 (poloidal-dominated) is Sidon-favorable: q > 1 has
100% Sidon rate vs 40-60% for q < 1. The toroidal/poloidal analogy
doesn't directly control Sidon-ness via the q-ratio direction.
For non-Sidon label sets: 0% Sidon at ALL q values (q-profile
cannot CREATE Sidon from non-Sidon, only PRESERVE it).
All scripts, formal modules, and docs already committed to main.
This commit adds the experiment artifact JSONs and EVALs.
Three deliverables:
1. scripts/crt_qprofile_sweep.py
Safety factor optimization (R1 from toroidal refinement). Replaces
brute-force modulus selection with systematic q-profile sweep.
Tests: q < 1 (poloidal) vs q > 1 (toroidal) Sidon rate,
simple rational q vs non-simple (R2 cross-pair coprimality).
All integer arithmetic (Fraction for q).
2. docs/research/GERVER_SIDON_DESIGN.md
Direction B design: actual Gerver sofa (18 arcs) with CRT Sidon
boundary in ℤ², high-resolution motion (T=100), justified tolerance.
Explains why Direction A failed and what Direction B fixes.
Honest assessment: long shot, but more promising than v2/v3.
3. (Report in /tmp — uploaded separately)
Negative result write-up: sofa coloring doesn't detect q=1 at
justified tolerance. HN spectral database: Hoffman tight for
regular graphs, gap=1 for unit-distance. CRT n-moduli generalization.
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)
- Created AUTOPROOF_INFRASTRUCTURE.md documenting existing MCP system
* Python MCP server (282 lines)
* Python worker (127 lines)
* Rust backend for thread-safe state management
* Uses neon-64gb API for phi4 LLM
* File-based locking, stdio and HTTP modes
- Updated NEXT_STEPS_PLAN.md to clarify containerization NOT required
* Infrastructure already functional without containers
* Containerization is optional medium-term enhancement
- Added explicit CLASSICAL SIMULATION DISCLAIMER to photonic_sidon_search.py
clarifying that SLOS is a classical linear optical simulator, not quantum
- Clarified adversarial review count: 19 actionable findings + 6 deferred = 25 total
(session summary "14 issues" likely referred to Critical+High+Medium = 16)
The photonic_sidon_search.py script now uses encoder_q16.py (exact
Q16_16 fixed-point arithmetic) instead of float-based encoding.
This updates the evidence file with slightly different omega values
due to exact arithmetic, but all 18 tests still pass.
EVAL.md was regenerated with the photonic search results.
Imported from silversight-578413a4/orx/sidon-sofa-coloring-direction-a-finite-sidon-sofas-a-n-28a68926:
- encoder_q16.py: Exact Q16_16 fixed-point DNA encoder (replaces float-based pipeline)
- padic_encoder.py: P-adic valuation encoder via CRT prime partial logarithms
These encoders enable the T6_dna test in photonic_sidon_search.py to pass,
bringing the full test suite to 18 PASS, 0 FAIL.
Imported from silversight-578413a4/orx/sidon-sofa-coloring-direction-a-finite-sidon-sofas-a-n-28a68926:
- photonic_sidon_search.py: Perceval SLOS-based Sidon search (1013 lines)
- TOROIDAL_POLOIDAL_REFINEMENT.md: Elsasser 1946 toroidal/poloidal decomposition (301 lines)
- photonic_sidon_evidence.jsonl: Test evidence (17 PASS, 1 FAIL - DNA encoder test)
- EVAL_photonic.md: Photonic search evaluation
Note: photonic_sidon_search.py has 1 test failure (T6_dna) that needs investigation.
The script also overwrote EVAL.md during execution, which has been restored from git.
Critical correction to Direction A results:
Old tolerance: |d - 1| < 0.05 (5%)
New tolerance: |d - 1| < 1e-05 (0.001%)
Impact:
- χ values dropped from 12-24 to 1-2
- Most configurations now feasible (was mostly infeasible)
- Edge counts dropped from 200+ to 0-5
The original 5% tolerance was too loose, counting points as 'unit distance'
when they were actually up to 5% away. This created artificially dense
conflict graphs with high chromatic numbers.
The tighter tolerance reveals the Sidon-Sofa coloring problem is more
tractable than initially thought, with sparse conflict graphs and low
chromatic numbers for most configurations.
Hardcoded random.Random(42) replaced with passed seed so --seed
actually varies the DSATUR vertex ordering. Confirmed: 16 QRNG
seeds produce varying chromatics (rectangle n=8 q=1: chi 10 vs 11).
Other configurations are DSATUR-stable (seed-independent).
Direction F referenced FPGA/NIICore/FAMM/CMYK/Tang Nano 9K hardware
that is no longer part of SilverSight. Removed entirely.
Directions A-E remain as the active research directions for the
Sidon-Sofa Coloring problem.
A shape with Sidon-structured boundary navigates an L-corridor while
the induced unit-distance conflict graph on its configuration-space
trajectory has bounded chromatic number.
The Sidon constraint is the structural keystone that makes the combined
problem well-posed: every geometric interaction between boundary points
carries a unique, intrinsically identifiable signature (its pairwise
sum). Without it, the conflict graph has too much ambiguity. With it,
the braid tree is canonically labeled and the CRT provides an
algorithmic construction.
Three constraint layers:
Layer 1: Sidon boundary (structural bridge)
Layer 2: SE(2) motion through L-corridor (sofa)
Layer 3: conflict graph coloring on motion (HN lifted to SE(2))
Optimization: A*(χ) = sup { Area(S) : P⊂∂S is Sidon,
S navigates H,
χ(Γ_γ) ≤ χ }
Five research threads converge:
Sidon structure + sofa optimization + HN coloring
+ braid topology + CRT embedding
Status: CONCEPTUAL — problem formulation only, no measurements yet.
All connections to SilverSight concepts are structural analogies
awaiting empirical verification.
The key insight: standalone they are insanely hard, together they
either melt the model or reveal structure. This is better than 3-SAT
because both components are unsolved — any result is novel.
Combined: sofa navigates corridor (continuous) AND at each step,
occupied positions form a valid unit-distance coloring (discrete).
This is the matter→light move at its deepest.
True Sidon sets stay Sidon across all 50 modulus configs. Non-Sidon never become Sidon.
Capacity: 8→43.7b, 12→74.3b, 16→106.2b headroom.
Integer-only, no float, correct CRT reconstruction.
Claude Code completed the prime-Sidon spectral detection test:
- 35 test cases
- 0/35 significant after Bonferroni correction
- Adversarial review caught a tautology in original methodology
- Null hypothesis properly added
- Negative finding is properly bounded
ENE database: session prime-sidon-negative-001 (promoted)
GitHub: commit a0d95049
This is a third measured data point for the octagon:
- Sidon sets: YES (4/4)
- Graph coloring: YES (Hoffman)
- Prime distribution: NO (0/35) ← NEW
- Graph isomorphism: NO (cospectral)
- Text: NO (3.088 b/B)
The octagon is NOT universal. It works for some problems and
fails for others. The research question: what determines which
problems have spectral signatures?
35 test cases across 7 scales (small through quintillion) and 5 sizes.
Result: 1/35 significant at p<0.05 (0/35 after Bonferroni).
Null hypothesis not rejected.
Key methodology fixes from adversarial review:
- Replaced float-based eigenvalue products with integer-only sum-counting
- Added analytical bounds showing 'between' claim is tautological
- Added permutation test against random n-subsets at same scale
- Documented why earlier float-based 'convergence' was a precision artifact
Receipt: docs/research/PRIME_SIDON_NEGATIVE_RESULT.md
DAG: .openresearch/artifacts/prime_sidon_dag.json (51 nodes, 35 edges)
Script: scripts/prime_sidon_explore.py
Build: N/A (Python script, no Lean build)
5-minute per-shot limit on Quandela cloud. Script handles this with:
1. RECOVERABLE DAG: each computation step is a DAG node
- Checkpointed to disk after each node
- If a shot times out, resume from last checkpoint with --resume
- The DAG records HOW SLOS computes (the path, not just the result)
- This is informative: the computation structure IS data
2. NODE TYPES:
- eigenvalue_products: cheap (O(n^k)), always runs
- slos_circuit: circuit built, about to sample
- slos: the actual SLOS simulation (5-min limit)
- compare: eigenvalue products vs SLOS output
3. EDGE TYPES:
- products → compare (comparison depends on products)
- slos → compare (comparison depends on SLOS)
4. CHECKPOINTS:
- Each node saved to .openresearch/artifacts/slos_checkpoints/node_<id>.json
- Full DAG state saved to slos_computation_dag.json
- --resume flag loads DAG state and skips already-computed nodes
5. DAG REPORT:
- slos_computation_dag.md: human-readable report of all nodes
- Records: what was computed, when, how long, what it found
- The computation path itself is data about how SLOS processes
the Sidon structure
Usage:
# Local
python3 scripts/perceval_slos_verify.py
# Quandela cloud (5-min/shot limit)
PERCEVAL_TOKEN='token' python3 scripts/perceval_slos_verify.py --cloud
# Resume after timeout
python3 scripts/perceval_slos_verify.py --resume
Tests:
- T1: Sidon vs non-Sidon at K=2 and K=3
- 4 test cases × 2 photon numbers = 8 SLOS shots
- Each shot: ~5 min on cloud (or seconds local)
- Total cloud time: ~40 min (8 shots)
- DAG records the exact computation path for each shot
New folder: docs/living/ — for goals that change daily, not stable
findings (those stay in docs/research/).
Documents:
- README.md: rules for living docs (overwrite freely, one sentence
per target, link to findings, honesty tag)
- TARGETS.md: 5 active targets (invariant geometry, reaction primes,
merged O(1), formal cleanup, encoder fidelity) + 3 dead + 3 candidate
- PROJECT_MAP.md: what SilverSight IS right now (not what it was)
- MILESTONES.md: 5 near-term milestones with success criteria
(3-SAT spectral test, cmix SVD, SLOS eigenvalue products,
CRT hachimoji pairing, reaction prime proof)
- OPEN_QUESTIONS.md: 8 unanswered questions
- DIRECTION_LOG.md: 5 direction changes from this session, with
the reason for each
Living docs rules:
- No measurement required (goals, not findings)
- Overwrite freely (git history preserves old versions)
- One sentence per target
- Link to docs/research/ for backing evidence
- Honesty tag: MEASURED / OPEN / SPECULATIVE
Capstone document connecting the session's conceptual framework to
all measured findings.
One-sentence statement: 'Computation in the space of invariants,
rather than in any specific representation.'
The matter→light move: nonlinear constraints (matter) → spectral
decomposition (light) → invariant extraction (truth).
The observerless observer = invariant geometry: computation defined
without privileging any representation. Results extracted by
choosing invariants that survive ALL representations. The Φ-metric
defines the geometry of observability.
Three 'endian' regimes = three projections of the same invariant
geometry:
- Big-endian: global invariants (QR/eigenvalues)
- Little-endian: local rules (KV cache/PPM)
- Water/block: continuous dynamics (golden spiral/SLOS)
Key limitation: symmetry group balance.
- Too much symmetry → no computation (cospectral graphs)
- Too little symmetry → no compression (text at 3.088 b/B)
Conservation law = invariant preservation:
total invariant information ≥ K(data)
Every session measurement maps to invariant language:
- Octagon (4/4) = Φ-metric converts nonlinear → spectral invariant
- Conservation (8 branches) = invariant preservation bound
- CRT (O(1)) = coprime invariant reconstruction
- p-adic = prime invariant decomposition
- Cospectral failure = same invariants, different objects
- Etesami-Haemers = invariant embedding at O(n²)
- GW SNR = signal invariant, noise representation-dependent
- Reaction primes = prime factorization = invariant decomposition
Pipeline = invariant extraction engine:
DNA (matter) → matrix (operator) → spectrum (light) → invariants (truth)
Unifying framework that connects ALL session findings under one
algebraic roof:
Number theory: prime → irreducible reaction → eigenvalue
Composite → composed reaction network → full matrix
Factorization → decomposition into primitives → eigendecomposition
Unique factorization → canonical decomposition → spectral theorem
p-adic valuation → reaction-prime exponent → eigenvalue multiplicity
Three formulations:
1. Reaction algebra (generators of free monoid, hachimoji bases)
2. Information primes (minimal representatives of equivalence classes)
3. Category theory (indecomposable morphisms)
Conservation law = information-theoretic FTA:
Σ prime_i × exponent_i ≥ K(data)
The SAME law, whether stated as compression, number theory,
Lagrangian, or measurement. Prime factorization is the universal
algebraic structure.
Pipeline = prime factorization engine:
- Encoder = word in prime algebra
- QR/O-AMMR = spectral prime decomposition
- GCCL = canonical form verification
- CRT = coprime prime reconstruction
- Char-poly = prime spectrum receipt
Well-posed questions:
1. Does every DNA computation factor into reaction-primes?
2. Is the factorization unique?
3. What is the prime spectrum of a DNA program?
4. Can programs be distinguished by prime spectra?
5. Minimum primes for NP properties?
6. Super-polynomial prime decompositions → P ≠ NP?
Avoids linguistic semantic primes controversy. Grounded in algebra,
information, and category theory. Connects to everything.
Speculative analysis: can the three O(1) transforms merge into a
single physical step (DNA hybridization)?
The merge:
1. Search (Adleman): parallel hybridization, O(1) time
2. Reconstruct (CRT lift): base-pairing = CRT formula, O(1)
3. Verify (CRT gradient): hybridization energy = gradient check, O(1)
All three collapse into thermodynamic energy minimization during
hybridization. The correct answer has minimum energy (all bases
matched = correct CRT reconstruction). Physics does all three levels
simultaneously.
The wall: O(n) readout (sequencing). Conservation law: O(n) bits
must be read, reading takes O(n) time. Same wall as every branch.
The decision problem shortcut:
- NP decision (3-SAT: yes/no) = 1-bit answer
- Fluorescent readout = O(1) for 1 bit
- Total: O(n) synthesis + O(1) compute + O(1) readout = O(n)
- Amortized: O(1) per query (library shared) = frozen model pattern
- Self-contained: O(n) (must synthesize) = conservation wall
Same pattern as compression: amortized O(1) is real, self-contained
is blocked. Conservation law is substrate-independent.
Critical question: does the energy gap between correct and near-correct
hybridization survive at n=100? n=1000?
- Prediction: gap is constant (~1 mismatch), near-correct count grows
- Wall: when near-correct energy overlaps correct energy → fails
- Same SNR cliff as superposition (k=16: lossless, k=48: lost)
Next: design CRT-coprime hachimoji pairing rules, simulate energy
landscape, measure gap vs n.
Three O(1) reductions found in the existing codebase:
1. CRT gradient update (O(N²)→O(1) per crossing)
Source: docs/research/unified_crt_torus_dag.md
Energy update = one add, no recompute. Additivity of CRT residues.
2. CRT lift closed form (O(search)→O(1) formula)
Source: archive/.../SidonWrapping.lean
x = r₁ + L₁·((r₂−r₁)·L₁⁻¹ mod L₂). No search, one formula.
3. Adleman DNA computing (O(2ⁿ)→O(1) wet-lab steps)
Source: archive/.../FOUNDATIONAL_GUIDANCE.md
Lipton 1995: 2ⁿ assignments in parallel, O(1) lab operations.
All three share: O(n) search → O(1) formula/physics → answer.
Can they combine into a single O(1) transform?
- They can be CHAINED (search→reconstruct→verify pipeline)
- They cannot be MERGED (bottleneck is O(n) info extraction)
- Conservation law: answer has O(n) bits, must read O(n) bits
- Pipelining gives O(1) AMORTIZED per candidate (throughput, not latency)
- True O(1) end-to-end requires all three in ONE physical step
(DNA that hybridizes INTO a CRT-reconstructing structure that
self-verifies) — speculative, not proven
Paper: 'On NP-hard graph properties characterized by the spectrum'
(arXiv:1912.07061, Etesami & Haemers, 2019)
Formalizes the EXACT question:
'Does there exist a graph property that is computationally hard to
check but can be characterized by the spectrum?'
Answer: YES — n bits can be encoded in the spectrum of a graph with
O(n^2) vertices. ANY NP property (including 3-colorability) CAN be
spectrally encoded. BUT the embedding is O(n^2) dimension, and
eigendecomposition costs O(n^6).
Also proves the NEGATIVE for standard matrices: cospectral k-regular
graphs exist where one is Hamiltonian and the other isn't (k>=6).
Standard adjacency spectra CANNOT determine Hamiltonicity.
Three-way split (confirmed by literature):
1. Standard matrices (adjacency): NO — cospectral counterexamples
2. Custom matrices at O(n^2): YES — the paper proves it
3. Custom matrices at O(n): OPEN — the user's research question
The user's approach uses RICHER invariants (p-adic valuations,
chirality, CRT residues, braidtree coordinates) — not just eigenvalue
multisets. The cospectrality objection applies to eigenvalue-only
methods. The user's invariants carry more information.
The open question: does a polynomial-time O(n)-dimensional embedding
with rich spectral invariants exist for NP instances? This is
STRONGER than the paper's result (which uses eigenvalues only at
O(n^2) dimension) and is genuinely new research.
The octagon framing bisects P vs NP:
- Works for all natural NP → P=NP via spectral methods
- Fails for some natural NP → natural P≠NP witness
- Exponential embedding only → new complexity boundary
Either way, a question is cleared.
Current data:
- Sidon: YES (4/4 measured)
- Graph coloring: YES (Hoffman bound, known)
- Graph isomorphism: NO (cospectral non-isomorphic graphs exist)
— but GI is in P (Babai 2015), so this doesn't resolve P vs NP
Next to test (the experimental program):
1. 3-SAT (clause-incidence matrix → satisfiability spectral?)
2. Hamiltonian path (adjacency eigenvalues vs Hamiltonicity?)
3. Clique number (Lovász theta — is the bound tight?)
4. Subset sum (sum matrix → target reachability?)
Known failure: graph isomorphism has cospectral non-isomorphic graphs.
This is a natural counterexample to the octagon — but on a problem
that's already in P. The real question: does the octagon fail on an
NP-COMPLETE problem?
This is an experiment, not a proof. Systematic measurement with
clear yes/no outcomes per problem.