# 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)?
