Three agents reviewed and repaired:
1. CacheSieve.lean (7 errors fixed):
- Rewrote shouldAdmit (removed head!/match, both branches were true)
- Fixed evictVictim type mismatch (Option CacheLine → Option ℕ)
- Removed sorry from evict_prefers_reset (proved properly)
- Removed excess omega calls (simp already closed goals)
2. HCMR.lean (3 errors fixed):
- Removed excess omega after simp (no goals to solve)
- Downgraded ring_fastest_subleq_avx from > to ≥ (theorem was FALSE
for baseRate=1 due to integer truncation: 0 > 0 fails)
- Used Nat.div_le_div_right instead of omega (nonlinear division)
3. Blitter6502OISC.lean (2 issues fixed):
- Removed redundant rw [if_pos rfl] (simp already closed)
- Downgraded ring_faster_than_subleq_blitter from > to ≥
4. CRTSidonN.lean (2 issues fixed):
- Fixed wrong lemma name (Nat.sub_le_sub_left → direct omega)
- Replaced nlinarith with Nat.mul_le_mul_left
5. YangMillsPerformance.lean: 1 sorry flagged (compression_overhead_bounded)
nlinarith-on-division fragility flagged but not fixed
6. WorkloadTestbench.lean: depends on CacheSieve (now fixed)
excess omega flagged but not fixed
Reorganized docs:
- 7 rejected theory docs moved to docs/research/failed/
(dual quaternion, chiral batch, BraidStorm×TreeBraid×COUCH,
HCMR multiplexer, spherical chiral, QUBO/QAOA, rendering equation)
- Each has STATUS: REJECTED header with reason and receipt
- failed/README.md created with inventory
- SIX_STAGE_SEARCH_ENGINE.md: added C3-kill note
Rejected because:
- Dual quaternion algebra wrong (integers ≠ unit quaternions)
- Chiral discrimination of Sidon FALSE (C3: position-invariant)
- 'Degree on S²' invented (Rossby drift is scalar sum)
- QUBO/QAOA bridge entirely speculative
- Rendering equation analogy not theorem
- 'n/2 channels' is renamed Sidon, not new
6.3 KiB
STATUS: REJECTED — moved to failed/ on 2026-07-04 Reason: "Labels on S²" is FALSE — CRT labels are integers in Z (residue classes), not points on the 2-sphere; the spherical framing has no algebraic basis. Receipt: Adversarial review (UNIFIED_THEORY_ADVERSARIAL_REVIEW.md §Spherical CRT) — labels ∈ Z, not S²; no measurement supports a spherical embedding.
Spherical Chiral CRT: Labels on S²
Status: REFINEMENT — chiral positions are on a sphere, not flat
Date: 2026-07-04
Depends on: CHIRAL_CRT_MULTIPLEXING.md, RENDERING_EQUATION_OBSERVERLESS.md,
DUAL_QUATERNION_SIDON_FILTER.md, pipeline_core.py
1. The Key Insight
The chiral implementation is positional on a sphere. Labels live at specific (θ, φ) coordinates on S², not in a flat array. The chiral crossing swaps which strand is at which spherical position.
This means:
- The CRT moduli encode geometric constraints at each spherical position (distance to corridor walls, angular position relative to corner, etc.)
- The chiral permutation changes which label is at which spherical position
- The degree (winding number of the braid on S²) is a topological invariant that depends on the chiral configuration
- The Sidon check operates on spherical geometry, not just flat CRT sums
2. Why This Breaks Chiral Invariance
The negation proof (CHIRAL_INVARIANCE_GENERALIZED.md) assumed flat CRT embeddings where the chiral flip is x → -x mod L. On a sphere, the chiral operation is a rotation (permutation of spherical positions), not a negation. Rotations are NOT ring automorphisms of Z/LZ.
Specifically:
- Flat: chiral flip = negation (x → -x) — ring automorphism, Sidon-invariant
- Spherical: chiral = rotation of positions (label moves to different (θ,φ)) — NOT a ring automorphism, Sidon can change
The spherical positions have different geometric meanings:
- Position at (0, 0): near the inner wall (poloidal/identity, modulus L₀)
- Position at (π/2, 0): at the corner (transition, modulus L₁)
- Position at (π, 0): near the outer wall (toroidal/reflection, modulus L₂)
- Position at (0, π/2): angular offset (modulus L₃)
Different labels at different positions produce different CRT embeddings because each position has a different modulus encoding a different geometric constraint.
3. The Degree (Winding Number)
The braid on S² has a degree (winding number):
deg(γ) = (1/4π) ∮ (γ × γ') · dγ
where γ: [0,1] → S² is the braid trajectory.
The degree counts how many times the braid wraps around the sphere. It's a topological invariant — invariant under continuous deformation, but NOT invariant under chiral permutation (which changes the trajectory).
Connection to HCMR:
- Degree = mixing rate of the Markov chain on the sphere
- High degree = more wrapping = more mixing = lower self-loop
- Low degree = less wrapping = less mixing = higher self-loop
- Ring dispatch (degree = k) → self_loop = 0 (perfect mixing)
- AVX-512 (degree = 0) → self_loop = 0.885 (stuck, no wrapping)
4. Spherical CRT Embedding
Each label aᵢ is at a spherical position (θᵢ, φᵢ):
F(aᵢ) = (aᵢ mod L₀(θᵢ, φᵢ), S - aᵢ mod L₁(θᵢ, φᵢ), ...)
where Lⱼ(θ, φ) is a position-dependent modulus encoding the j-th geometric constraint at position (θ, φ).
The chiral permutation σ swaps positions: σ: (θᵢ, φᵢ) → (θ_{σ(i)}, φ_{σ(i)})
This changes which label pairs with which modulus, breaking the ring-automorphism invariance.
5. Connection to Dual Quaternions
Unit quaternions live on S³ (the 3-sphere). A rotation on S² is:
R(q) = q · v · q⁻¹
where q ∈ S³ is a unit quaternion and v ∈ S² is the position.
The chiral permutation on S² corresponds to a rotation in S³:
σ ↔ q_σ ∈ S³
The dual quaternion product:
q_i ⊛ q_j = r_i · r_j + ε · (r_i · t_j + t_i · r_j)
where r_i, t_i are the rotation and translation quaternions at position i. The spherical positions make r_i and t_i depend on (θᵢ, φᵢ), so the chiral permutation changes the products non-trivially.
6. Connection to the Rendering Equation
The rendering equation integrates over the hemisphere (half of S²):
L_o = L_e + ∫_Ω f_r(ω_i, ω_o) L_i(ω_i) (ω_i · n) dω_i
The spherical chiral CRT is the DISCRETE version:
- Labels = sample points on S² (the hemisphere)
- CRT moduli = BRDF values at each sample point
- Chiral permutation = rearranging which sample point gets which label
- Sidon check = are all pairwise products distinct?
The (ω_i · n) factor is the q-profile at each spherical position — the angle between the sample direction and the surface normal.
7. Implementation: Spherical Positions in pipeline_core.py
The Config structure needs spherical positions:
@dataclass
class Config:
chiral: tuple # permutation of positions (not negation)
labels: tuple # Sidon labels (integers)
positions: tuple # (θ, φ) spherical coordinates per strand
S: int # reflection point
moduli: tuple # position-dependent CRT moduli
...
The _embed_chiral_positional function becomes:
def _embed_chiral_positional(self, c):
# Permute positions (not labels) according to chiral config
permuted_positions = self._permute(c.positions, c.chiral)
embedded = []
for label, (theta, phi) in zip(c.labels, permuted_positions):
# Modulus depends on spherical position
L0 = position_to_modulus(theta, phi, axis=0)
L1 = position_to_modulus(theta, phi, axis=1)
row = [label % L0, (c.S - label) % L1]
embedded.append(row)
return embedded
8. claim_boundary
spherical-chiral-crt:positional-permutation:refinement
The chiral implementation is positional on S² — labels live at spherical coordinates, and the chiral crossing permutes positions. This is a rotation, NOT a negation, and breaks the ring-automorphism invariance.
The degree (winding number) of the braid on S² is the topological invariant that connects to HCMR's mixing rate. High degree = good mixing = low self-loop = high throughput.
The spherical structure connects to:
- Dual quaternions (S³ rotations on S²)
- Rendering equation (hemisphere integral)
- Observerless observer (rotational invariance on S²)
- HCMR (degree = mixing rate)