mirror of
https://github.com/allaunthefox/SilverSight.git
synced 2026-08-08 08:45:47 +00:00
- lakefile.lean: register SilverSight.{AngrySphinx,CollatzBraid,GoldenSpiral,GCCL}
- docs/research/: braid group action, iteration DAG/regime, Sidon
preservation/creation, unified CRT-torus DAG notes
- docs/diagrams/: DAG + heatmap + 8-strand search JSON/dot outputs
- formal/CoreFormalism/StrandCapacityBound.lean: capacity bound (passes
hardened anti-smuggle --ci)
- scripts/, python/: braid word solver, collapse/DAG search + tuning,
heatmap gen, YB search/verification, wrapping verifier
- .gitignore: exclude rust/**/target and coq compiled artifacts
(*.vo/*.vok/*.vos/*.glob/*.aux) that were polluting the tree
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
229 lines
9.7 KiB
Markdown
229 lines
9.7 KiB
Markdown
# CRT Torus Embedding: Braid Group Action (Dual-Model Framework)
|
||
|
||
The CRT torus supports two complementary braid models: an **axis-swap model**
|
||
that satisfies the braid group relations exactly, and a **modulus-adjustment
|
||
model** that bounds expressible braid word length through coprimality constraints.
|
||
|
||
---
|
||
|
||
## 1. The Two Models
|
||
|
||
| Aspect | Axis-Swap (configuration) | Modulus-Adjustment (resource) |
|
||
|--------|--------------------------|------------------------------|
|
||
| What changes | Reflection modulus positions | Reflection modulus values |
|
||
| Preserves | Modulus values | Modulus positions |
|
||
| Satisfies braid relations | **Yes** (σᵢ²=id, YB, far commute) | **No** (YB fails, σ² may fail) |
|
||
| Bounding factor | None (free permutation) | Coprimality (spacing between strands) |
|
||
| Verified | Provider-NixOS (4-core) | Provider-NixOS |
|
||
| Use | Braid group action on F | Braid word maximum length |
|
||
|
||
The two models are **complementary**, not competing. The axis-swap model
|
||
defines the **topology** (braid group action Bₙ on the reflection moduli).
|
||
The modulus-adjustment model defines the **physics** (changing modulus values
|
||
to create Sidon via the wrapping criterion).
|
||
|
||
### Critical distinction
|
||
|
||
| Property | Axis-Swap | Adjustment |
|
||
|----------|-----------|------------|
|
||
| Changes FA values? | **No** (CRT symmetry) | **Yes** |
|
||
| Why? | CRT is symmetric under modulus permutation; swapping reflection residues between strands doesn't change the unique CRT lift | Modulus values change → residues change → CRT lift is genuinely different |
|
||
| Verified | 4 test sets: reflection-closed, asymmetric, random, sparse — all give identical FA | The Sidon theorem and wrapping criterion |
|
||
| Role in DAG | Defines braid word (which strands cross) | Creates Sidon (which FA values emerge) |
|
||
|
||
The axis-swap produces identical FA values because the CRT computation is
|
||
commutative: the unique solution in [0, ∏Lᵢ) depends only on the multiset
|
||
of (residue, modulus) pairs, not on their ordering. Permuting the reflection
|
||
moduli across strands is a reordering of the CRT factors — the result is
|
||
the same for every element a ∈ A.
|
||
|
||
**Implication for the DAG:** Finding Sidon via axis-swap is impossible when
|
||
the CRT uses all moduli simultaneously (which it does — the k-modulus CRT
|
||
lifts all residues together). Sidon creation requires the adjustment model
|
||
to change actual modulus values.
|
||
|
||
---
|
||
|
||
## 2. Model 1: Axis-Swap (Braids Satisfied)
|
||
|
||
Each braid generator σᵢ swaps the **reflection moduli** of adjacent strands
|
||
while leaving identity moduli unchanged:
|
||
|
||
```
|
||
σᵢ: (L₂ᵢ, L₂ᵢ₊₂) → (L₂ᵢ₊₂, L₂ᵢ) [swap reflection axes i and i+1]
|
||
identity axes: L₂ᵢ₋₁, L₂ᵢ₊₁ unchanged
|
||
```
|
||
|
||
For a 3-strand system with 6 moduli [L₁, L₂, L₃, L₄, L₅, L₆]:
|
||
|
||
| Generator | Acted indices | Effect |
|
||
|-----------|-------------|--------|
|
||
| σ₁ | (L₂, L₄) | L₂ ↔ L₄ |
|
||
| σ₂ | (L₄, L₆) | L₄ ↔ L₆ |
|
||
| σ₁σ₂σ₁ | (L₂, L₄, L₆) | (L₂, L₄, L₆) → (L₆, L₂, L₄) |
|
||
| σ₂σ₁σ₂ | (L₂, L₄, L₆) | (L₂, L₄, L₆) → (L₆, L₂, L₄) |
|
||
|
||
### Verified braid axioms
|
||
|
||
| Axiom | Status | Test on (2,3,5,7,11,13) |
|
||
|-------|--------|--------------------------|
|
||
| σᵢ² = id | ✓ | s1(s1(mods)) == mods |
|
||
| σᵢσⱼ = σⱼσᵢ (|i−j|≥2) | ✓ | Disjoint swaps commute structurally |
|
||
| σ₁σ₂σ₁ = σ₂σ₁σ₂ | ✓ | Both → [2,13,5,7,11,3] |
|
||
| σᵢ acts on strand i | ✓ | Direct from definition |
|
||
|
||
**Proof of YB.** Let σᵢ be the transposition of positions (i, i+1) in the
|
||
reflection modulus sequence. The braid relation (σᵢσ_{i+1})³ = id is
|
||
the standard Coxeter relation in Sₙ, which holds for adjacent transpositions.
|
||
The verification is immediate in the permutation representation.
|
||
|
||
### Implication
|
||
|
||
The CRT torus with axis-swap carries a **permutation representation**
|
||
of Bₙ on the reflection moduli that **factors through Sₙ** — because
|
||
σᵢ² = id in the swap action, it loses the infinite-order structure of
|
||
braid generators. This is still a valid representation of Bₙ (the
|
||
permutation representation), but it is not faithful: all non-trivial
|
||
braids with the same permutation of strands produce the same state.
|
||
|
||
The identity moduli are fixed by all braid generators, acting as a
|
||
reference frame.
|
||
|
||
---
|
||
|
||
## 3. Model 2: Modulus-Adjustment (Word Length Bound)
|
||
|
||
Each crossing **adjusts** the modulus values of the crossed strand:
|
||
|
||
```
|
||
σᵢ⁺: (L_id, L_ref) → (L_id + 2, max(L_ref − 1, 2)) over-crossing
|
||
σᵢ⁻: (L_id, L_ref) → (max(L_id − 1, 2), L_ref + 2) under-crossing
|
||
```
|
||
|
||
After crossing, ALL moduli across ALL strands must remain pairwise coprime.
|
||
This is the **coprimality constraint**.
|
||
|
||
### Why YB fails here
|
||
|
||
The YB relation compares two paths: σ₁⁺σ₂⁻σ₁⁺ vs σ₂⁻σ₁⁺σ₂⁻.
|
||
After 3 crossings, the two paths end at **different modulus values**:
|
||
|
||
| Path | Strand 1 end state | Strand 2 end state |
|
||
|------|-------------------|-------------------|
|
||
| σ₁⁺σ₂⁻σ₁⁺ | (a+4, b−2) | (c−1, d+2) |
|
||
| σ₂⁻σ₁⁺σ₂⁻ | (a+2, b−1) | (c−2, d+4) |
|
||
|
||
These differ (a+4 ≠ a+2, etc.), so the operator relation σ₁σ₂σ₁ = σ₂σ₁σ₂
|
||
does NOT hold as an equality of modulus states. (The permutation action
|
||
is different — see Model 1.)
|
||
|
||
### Word length bound theorem
|
||
|
||
For an N-strand system with moduli (L₁, L₂, …, L₂ₙ), the maximum number
|
||
of consecutive crossings on strand i before coprimality with some other
|
||
strand j fails is bounded by:
|
||
|
||
```
|
||
max_crossings(i) ≤ min_{j≠i} (spacing(L_i, L_j) / 2)
|
||
```
|
||
|
||
where spacing(L_i, L_j) = min(L_j_values) − max(L_i_values) after 0 crossings.
|
||
|
||
**Proof.** Each crossing changes strand i's moduli by at most +2 / −1.
|
||
After k crossings, the range of strand i's values shifts by O(k).
|
||
If strand i's values overlap with strand j's values, coprimality may
|
||
fail (but is not guaranteed to — actual failure depends on prime factors).
|
||
The bound is the worst case (when strand i's growing moduli encounter
|
||
strand j's values sharing a prime factor).
|
||
|
||
**Empirical verification:**
|
||
|
||
| Test | Max crossings | Config |
|
||
|------|-------------|--------|
|
||
| 1 strand, no neighbors | unlimited | (5,3) works for 10+ |
|
||
| 2 strands, spacing~12 | 3−4 | (3,5),(17,29) |
|
||
| 2 strands, spacing~100 | Not tested (YB fails structurally) | — |
|
||
| 2 strands, YB-path coprimality | 3 crossings need spacing >2000 | No 4-tuple found up to M=2000 |
|
||
|
||
---
|
||
|
||
## 4. Combined Framework
|
||
|
||
The two models work together in the full CRT torus:
|
||
|
||
```
|
||
Phase 1 (Sidon via adjustment):
|
||
Start with small moduli in wrapping regime (maxA < M ≤ 2·maxA)
|
||
→ Apply adjustment model to break collisions
|
||
→ When Sidon found: record FA, proceed to Phase 2
|
||
|
||
Phase 2 (Braid orbit via axis-swap):
|
||
Expand moduli to N-strand coprime configuration (prime-product method)
|
||
→ Apply axis-swap generators to define braid word
|
||
→ FA values are invariant (CRT symmetry)
|
||
→ Braid word tracks the topological crossing history
|
||
|
||
Phase 3 (Resource management):
|
||
When more crossings needed: apply adjustment model
|
||
→ Each crossing consumes spacing capacity
|
||
→ When spacing exhausted: regenerate moduli
|
||
→ Regeneration = Markov stabilization (add trivial pair)
|
||
```
|
||
|
||
### Practical bound for N-strand configurations (individual primes)
|
||
|
||
Each modulus is a distinct prime, selected with minimum band gap = 2 × max_crossings.
|
||
For max_crossings = 15 (band gap = 30), verified on provider-nixos:
|
||
|
||
| Strands | Moduli | Band gap | Capacity/strand | Max modulus | < 32767? |
|
||
|---------|--------|----------|-----------------|-------------|----------|
|
||
| 3 | 6 | 30 | ~15 | 127 | ✓ |
|
||
| 4 | 8 | 30 | ~15 | 257 | ✓ |
|
||
| 6 | 12 | 30 | ~15 | 383 | ✓ |
|
||
| 8 | 16 | 30 | ~15 | 509 | ✓ |
|
||
|
||
All moduli are Q16_16-compatible (max 509 << 32767). The FA values
|
||
produced by CRT reconstruction are large integers (~10^50 for 16 moduli)
|
||
and are **not** Q16_16-compatible — they must be stored as arbitrary-
|
||
precision integers. Only the moduli use Q16_16's bounded range.
|
||
|
||
Capacity-per-strand is the half-band gap (15 crossings before values
|
||
drift into the next strand's band and risk equality-collision). For
|
||
larger capacity, widen the band gap or use more distant primes.
|
||
|
||
---
|
||
|
||
## 5. Verified Axioms (Summary)
|
||
|
||
| Axiom | Axis-swap model | Adjustment model |
|
||
|-------|----------------|-----------------|
|
||
| σᵢ acts on strand i | ✓ | ✓ |
|
||
| σᵢ² = id | ✓ | ✗ (may fail after 1st) |
|
||
| σᵢσⱼ = σⱼσᵢ (|i−j|≥2) | ✓ | ✓ (disjoint moduli) |
|
||
| σ₁σ₂σ₁ = σ₂σ₁σ₂ | ✓ | ✗ (paths diverge) |
|
||
| Over/under distinction | ✓ (swap direction) | ✓ (L_id > L_ref) |
|
||
| Braid word length bound | — | ✓ (coprimality constraint) |
|
||
|
||
---
|
||
|
||
## 6. Open Questions
|
||
|
||
1. **Adjustment model as Sidon engine** — the axis-swap model is a CRT
|
||
symmetry (FA invariant), so adjustment is the sole source of Sidon
|
||
creation. Can the adjustment model be characterized as a rewrite system
|
||
on modulus values with known convergence bounds?
|
||
|
||
2. **Braid invariants from M-differences** — the M-difference condition
|
||
from the Sidon theorem creates invariants that depend on braid word
|
||
composition. Since axis-swap is FA-invariant, the braid word is
|
||
tracked as a separate topological invariant.
|
||
|
||
3. **Modulus regeneration as braid stabilization** — when spacing is
|
||
exhausted, the iteration regime regenerates moduli. This corresponds
|
||
to a Markov stabilization move in knot theory: adding a trivial pair
|
||
(extending the braid by an identity strand) to continue the computation.
|
||
|
||
4. **Phase transition: CRT small-modulus → prime-product** — the transition
|
||
from small wrapping-regime moduli (~3−20) to large resource-regime
|
||
moduli (~100−16000) is discontinuous. What controls this transition,
|
||
and can it be made continuous (gradual modulus growth)?
|