mirror of
https://github.com/allaunthefox/SilverSight.git
synced 2026-07-31 01:25:21 +00:00
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
322 lines
12 KiB
Markdown
322 lines
12 KiB
Markdown
**STATUS: REJECTED** — moved to failed/ on 2026-07-04
|
||
**Reason:** Chiral discrimination of Sidon sets is FALSE — positional permutation is Sidon-invariant (chiral variants are not distinct channels).
|
||
**Receipt:** C3 run 019f2f07 — all 64 chiral configs identical (see ENCODE_ENGINE_NECESSITY.md, CHIRAL_INVARIANCE_FINDING.md).
|
||
|
||
---
|
||
|
||
# Chiral Batch Encoding: Hundreds of Configurations per Run
|
||
|
||
**Status:** REFINEMENT — connects chiral braid chirality to batch Sidon filtering
|
||
**Date:** 2026-07-04
|
||
**Depends on:** `DUAL_QUATERNION_SIDON_FILTER.md`, `braid_group_action.md`,
|
||
`TOROIDAL_POLOIDAL_REFINEMENT.md`, `weird_machine_conservation_law.md`
|
||
**Key insight:** Chirality (over/under = ±1 per crossing) means a braid word of
|
||
length k encodes 2^k configurations. Batch-encode hundreds, Sidon-filter in one pass.
|
||
|
||
---
|
||
|
||
## 1. The Chiral Braid Structure
|
||
|
||
### 1.1 Chirality = Handedness = ±1 per Crossing
|
||
|
||
In the braid group B_n, each generator σ_i has two chiral forms:
|
||
σ_i⁺¹ = over-crossing (right-handed)
|
||
σ_i⁻¹ = under-crossing (left-handed)
|
||
|
||
A braid word of length k has 2^k possible chiral configurations:
|
||
w = σ_{i₁}^{ε₁} σ_{i₂}^{ε₂} ... σ_{iₖ}^{εₖ} where εⱼ ∈ {+1, -1}
|
||
|
||
### 1.2 Chirality in the CRT Embedding
|
||
|
||
The CRT embedding already has chirality built in:
|
||
Identity axis: a mod L₀ = poloidal (no reflection = "straight through")
|
||
Reflection axes: S-a mod Lᵢ = toroidal (reflection = "flipped")
|
||
|
||
The S-a reflection IS the chiral operation:
|
||
S-a = "over" (positive chirality)
|
||
a-S = "under" (negative chirality, equivalent to -(S-a))
|
||
|
||
Each reflection axis Lᵢ contributes one chiral bit. With k reflection
|
||
axes, there are 2^k chiral configurations per identity axis choice.
|
||
|
||
### 1.3 Chirality in Dual Quaternions
|
||
|
||
Dual quaternions have natural chirality:
|
||
q = q_r + ε q_d (standard)
|
||
q* = q_r - ε q_d (conjugate = opposite chirality)
|
||
|
||
The conjugate reverses the translation direction (toroidal flip) while
|
||
preserving the rotation (poloidal). This is exactly the S-a ↔ a-S flip.
|
||
|
||
A dual quaternion pair (q_i, q_j) has 4 chiral configurations:
|
||
(q_i, q_j) — both standard
|
||
(q_i*, q_j) — i flipped
|
||
(q_i, q_j*) — j flipped
|
||
(q_i*, q_j*) — both flipped
|
||
|
||
With n boundary points, there are 4^(n choose 2) chiral configurations
|
||
of the full pairwise product set. We don't test all of these — we
|
||
batch-encode a representative sample and Sidon-filter.
|
||
|
||
---
|
||
|
||
## 2. Batch Encoding: How It Works
|
||
|
||
### 2.1 The Problem with Sequential Testing
|
||
|
||
Current approach (v2/v3): test one (shape, n, q) configuration per run.
|
||
- 5 shapes × 3 n-values × 5 q-values = 75 configurations
|
||
- Each takes ~10s = 12.5 minutes total
|
||
- Each is a separate Sidon check
|
||
|
||
This is slow and doesn't exploit the braid structure.
|
||
|
||
### 2.2 Chiral Batch Encoding
|
||
|
||
The chiral braid allows encoding MANY configurations into a SINGLE run:
|
||
|
||
1. Choose a base braid word w = σ₁ σ₂ σ₃ ... (the "spine")
|
||
2. For each crossing, choose chirality εᵢ ∈ {+1, -1}
|
||
3. A batch of B configurations = B different chirality assignments
|
||
ε¹ = (+1, +1, +1, ...), ε² = (+1, +1, -1, ...), etc.
|
||
4. All B configurations share the same braid SPINE (which strands cross)
|
||
but differ in CHIRALITY (how they cross)
|
||
|
||
5. For each configuration, compute the CRT embedding with the chiral
|
||
reflection choices:
|
||
- εᵢ = +1 → S-a mod Lᵢ (standard reflection)
|
||
- εᵢ = -1 → a-S mod Lᵢ (flipped reflection)
|
||
|
||
6. Apply the Sidon filter ONCE to the entire batch:
|
||
- For each configuration, check if the CRT-reconstructed sums are Sidon
|
||
- The filter selects which chiral configurations produce unique
|
||
pairwise signatures
|
||
|
||
### 2.3 Why This Is Hundreds per Run
|
||
|
||
With k reflection axes:
|
||
- 2^k chiral configurations per (identity, label_set) pair
|
||
- For k=8 (our standard 8-strand braid): 2^8 = 256 configurations
|
||
- For k=10: 2^10 = 1024 configurations
|
||
|
||
Each run can batch-test ALL 256 (or 1024) chiral configurations with
|
||
a SINGLE CRT reconstruction pass — the identity axis is computed once,
|
||
and each chiral variant only changes the reflection components.
|
||
|
||
The Sidon filter then selects which of the 256 configurations are
|
||
structurally meaningful (Sidon-clean) vs degenerate (collision).
|
||
|
||
### 2.4 Connection to the Hutter Prize Filtering
|
||
|
||
The Hutter prize lesson: compression is dead, filtering works.
|
||
|
||
Batch encoding is the APPLICATION of this lesson:
|
||
- Don't compress 256 configurations into 1 (impossible — conservation law)
|
||
- Don't test 256 configurations sequentially (slow)
|
||
- DO: batch-encode all 256, then FILTER to the Sidon-clean ones
|
||
|
||
The filter selects which chiral configurations have unique pairwise
|
||
signatures. The rest are noise (degenerate, collision). This is the
|
||
same filtering mechanism from the weird machine conservation law:
|
||
program (chiral configuration) + residual (dropped configs) ≥ K(data)
|
||
But we don't care about the residual — we care about which configurations
|
||
the filter KEEPS.
|
||
|
||
---
|
||
|
||
## 3. The Chiral Sidon Filter (Concrete)
|
||
|
||
### 3.1 Algorithm
|
||
|
||
```
|
||
Input:
|
||
- Label set A = {a₁, ..., aₙ} (Sidon in ℤ)
|
||
- Identity modulus L₀
|
||
- Reflection moduli L₁, ..., Lₖ (pairwise coprime)
|
||
- Reflection point S
|
||
- Batch size B (number of chiral configurations)
|
||
|
||
Output:
|
||
- For each of B chiral configurations: is_sidon (bool), sidon_score
|
||
|
||
Algorithm:
|
||
1. Compute identity component once: id_i = a_i mod L₀ for all i
|
||
2. For each chiral configuration c ∈ {0, 1}^k (binary vector):
|
||
a. For each reflection axis j ∈ {1, ..., k}:
|
||
- If c[j] = 0: ref_i_j = (S - a_i) mod Lⱼ (standard)
|
||
- If c[j] = 1: ref_i_j = (a_i - S) mod Lⱼ (flipped)
|
||
b. CRT reconstruct: val_i = CRT(id_i, ref_i_1, ..., ref_i_k)
|
||
c. Check Sidon: all pairwise sums val_i + val_j distinct mod M?
|
||
3. Return filter results for all B configurations
|
||
```
|
||
|
||
### 3.2 Computational Cost
|
||
|
||
- Identity component: O(n) — computed ONCE
|
||
- Per configuration: O(n·k) for reflection + O(n²) for Sidon check
|
||
- Total: O(n) + B × O(n·k + n²)
|
||
- For n=21, k=8, B=256: 21 + 256 × (168 + 441) = 21 + 155,904 ≈ 156K ops
|
||
- vs sequential: 256 × (21 + 168 + 441) = 256 × 630 = 161K ops
|
||
|
||
The speedup is modest for small k, but the REAL advantage is:
|
||
1. The identity component is shared (not recomputed)
|
||
2. The Sidon check can be parallelized across configurations
|
||
3. The filter selects which configurations are worth deeper analysis
|
||
|
||
### 3.3 What the Filter Selects
|
||
|
||
The chiral Sidon filter selects configurations where:
|
||
- The chiral choices (which axes are flipped) produce unique pairwise sums
|
||
- This means the chiral pattern is "informative" — it breaks symmetries
|
||
that would otherwise cause collisions
|
||
|
||
Configurations that FAIL the filter:
|
||
- Have chiral choices that create sum collisions (degenerate)
|
||
- The chiral pattern doesn't break existing symmetries
|
||
- These are "uninformative" — the chirality doesn't help
|
||
|
||
The filter rate (fraction of configurations that pass) measures how
|
||
much chiral information the braid structure carries:
|
||
- High pass rate (>50%): chirality doesn't matter much (symmetric problem)
|
||
- Low pass rate (<10%): chirality is critical (most configs degenerate)
|
||
- Medium pass rate (~30%): chirality selects a specific structural class
|
||
|
||
---
|
||
|
||
## 4. Connection to q-Profile
|
||
|
||
### 4.1 q-Profile as Chiral Ratio
|
||
|
||
The q-profile = L₁/L₀ (reflection/identity = toroidal/poloidal).
|
||
|
||
In the chiral batch:
|
||
- q < 1: L₁ < L₀ → reflection axis smaller → chiral flip has less impact
|
||
- q > 1: L₁ > L₀ → reflection axis larger → chiral flip has more impact
|
||
- q = 1: L₁ = L₀ → chiral flip is symmetric → degenerate
|
||
|
||
The q-profile sweep showed q > 1 has 100% Sidon rate. In chiral terms:
|
||
larger reflection axis → chiral flips create more diverse products →
|
||
fewer collisions → higher Sidon rate.
|
||
|
||
### 4.2 Chiral q-Sweep
|
||
|
||
Instead of sweeping q across fixed chiral configurations:
|
||
1. Fix q at the optimal value (q > 1, e.g. q = 3/2)
|
||
2. Sweep chiral configurations (256 variants)
|
||
3. Measure: which chiral patterns have highest Sidon score?
|
||
|
||
This separates the q-effect (axis ratio) from the chirality effect
|
||
(which axes are flipped). The q-profile sweep couldn't do this —
|
||
it tested one chirality per q value.
|
||
|
||
---
|
||
|
||
## 5. Implementation Plan
|
||
|
||
### Phase 1: Chiral Batch CRT (Python, exact arithmetic)
|
||
|
||
```python
|
||
def chiral_batch_sidon(labels, S, L0, Ls, batch_configs=None):
|
||
"""Batch-test chiral configurations for Sidon property.
|
||
|
||
Ls = [L1, ..., Lk] reflection moduli
|
||
batch_configs = list of binary tuples (length k), each specifying
|
||
which axes are flipped (1 = flipped, 0 = standard)
|
||
If None, test ALL 2^k configurations.
|
||
"""
|
||
k = len(Ls)
|
||
if batch_configs is None:
|
||
batch_configs = list(product([0, 1], repeat=k))
|
||
|
||
# Identity component (computed once)
|
||
id_comp = [a % L0 for a in labels]
|
||
|
||
results = []
|
||
for config in batch_configs:
|
||
# Reflection components with chiral choices
|
||
embedded = []
|
||
for a in labels:
|
||
row = [a % L0] # identity
|
||
for j, Lj in enumerate(Ls):
|
||
if config[j] == 0:
|
||
row.append((S - a) % Lj) # standard
|
||
else:
|
||
row.append((a - S) % Lj) # flipped
|
||
embedded.append(row)
|
||
|
||
# CRT reconstruct + Sidon check
|
||
sidon = sidon_check(embedded, [L0] + Ls)
|
||
results.append({
|
||
"config": config,
|
||
"is_sidon": sidon["is_sidon"],
|
||
"sidon_score": sidon["sidon_score"],
|
||
"collisions": sidon["collisions"],
|
||
})
|
||
|
||
return results
|
||
```
|
||
|
||
### Phase 2: Chiral q-Sweep
|
||
|
||
1. Fix L₀ = 7 (optimal from capacity envelope)
|
||
2. For each q ∈ {3/2, 2, 5/2, 3}:
|
||
- Set L₁ = L₀ × q
|
||
- Batch-test all 2^k chiral configurations
|
||
- Measure: pass rate, best config, worst config
|
||
3. Compare to sequential q-sweep results
|
||
|
||
### Phase 3: Dual Quaternion Chiral Filter
|
||
|
||
1. For each chiral configuration, compute dual quaternion products
|
||
2. Apply Sidon filter to dual quaternion products (not CRT sums)
|
||
3. Compare: does the dual quaternion filter select different configs
|
||
than the CRT filter?
|
||
|
||
---
|
||
|
||
## 6. What This Enables
|
||
|
||
### 6.1 Orders of Magnitude More Configurations
|
||
|
||
Current: 75 configurations per run (5 shapes × 3 n × 5 q)
|
||
With chiral batch: 75 × 256 = 19,200 configurations per run
|
||
With k=10: 75 × 1024 = 76,800 configurations per run
|
||
|
||
### 6.2 Statistical Power
|
||
|
||
With 256+ configurations per (shape, n, q):
|
||
- Can compute Sidon pass rate with statistical confidence
|
||
- Can identify which chiral patterns are optimal
|
||
- Can detect phase transitions (where pass rate drops sharply)
|
||
|
||
### 6.3 Connection to the Moving Sofa
|
||
|
||
The sofa motion through the L-corridor IS a braid:
|
||
- Boundary point worldlines = braid strands
|
||
- Corner navigation = braid crossings
|
||
- Each crossing has chirality (over/under = which strand is in front)
|
||
|
||
Batch-encoding chiral braid configurations = batch-encoding different
|
||
sofa motion variants. The Sidon filter selects which motions have
|
||
unique boundary interactions (structurally meaningful) vs degenerate
|
||
(symmetric, uninformative).
|
||
|
||
---
|
||
|
||
## 7. claim_boundary
|
||
|
||
```
|
||
chiral-batch-encoding:efficiency-multiplier:conceptual
|
||
```
|
||
|
||
The chiral braid structure allows batch-encoding 2^k configurations
|
||
per run (k = number of reflection axes). The Sidon filter then selects
|
||
which configurations are structurally meaningful. This is the Hutter
|
||
prize lesson applied: filtering works, compression doesn't, and
|
||
batching makes filtering efficient.
|
||
|
||
**MEASURED:** q > 1 has 100% Sidon rate (from q-profile sweep)
|
||
**PREDICTED:** chiral batch will show ~30-50% pass rate per q value,
|
||
with specific chiral patterns being optimal
|
||
**OPEN:** does the chiral filter select different configs than the
|
||
CRT sum filter?
|