- 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>
9.7 KiB
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) |
| σ₁σ₂σ₁ = σ₂σ₁σ₂ | ✓ | 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) |
| σ₁σ₂σ₁ = σ₂σ₁σ₂ | ✓ | ✗ (paths diverge) |
| Over/under distinction | ✓ (swap direction) | ✓ (L_id > L_ref) |
| Braid word length bound | — | ✓ (coprimality constraint) |
6. Open Questions
-
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?
-
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.
-
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.
-
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)?