diff --git a/docs/first_principles/G3_WORKSHEET.md b/docs/first_principles/G3_WORKSHEET.md new file mode 100644 index 00000000..a1543017 --- /dev/null +++ b/docs/first_principles/G3_WORKSHEET.md @@ -0,0 +1,300 @@ +# WORKSHEET G3 — Eigensolid Fixed Point +## Verifiable with any calculator. No English inside formulas. + +--- + +## PART A: The Crossing Operator C (applied numerically) + +**INPUT:** p = (0.3, 0.1, 0.15, 0.05, 0.2, 0.08, 0.07, 0.05) +**Check:** 0.3+0.1+0.15+0.05+0.2+0.08+0.07+0.05 = 1.0 ✓ + +**FORMULA:** +``` +C(p)₁ = C(p)₂ = (p₁ + p₂) / 2 +C(p)₃ = C(p)₄ = (p₃ + p₄) / 2 +C(p)₅ = C(p)₆ = (p₅ + p₆) / 2 +C(p)₇ = C(p)₈ = (p₇ + p₈) / 2 +``` + +**WORK:** +``` +C(p)₁ = C(p)₂ = (0.3 + 0.1) / 2 = 0.4 / 2 = 0.2 +C(p)₃ = C(p)₄ = (0.15 + 0.05) / 2 = 0.2 / 2 = 0.1 +C(p)₅ = C(p)₆ = (0.2 + 0.08) / 2 = 0.28 / 2 = 0.14 +C(p)₇ = C(p)₈ = (0.07 + 0.05) / 2 = 0.12 / 2 = 0.06 +``` + +**OUTPUT:** C(p) = (0.2, 0.2, 0.1, 0.1, 0.14, 0.14, 0.06, 0.06) + +**Check:** 0.2+0.2+0.1+0.1+0.14+0.14+0.06+0.06 = 1.0 ✓ + +--- + +## PART B: Idempotence C∘C = C (verified numerically) + +**INPUT:** C(p) = (0.2, 0.2, 0.1, 0.1, 0.14, 0.14, 0.06, 0.06) + +**WORK:** +``` +C(C(p))₁ = C(C(p))₂ = (0.2 + 0.2) / 2 = 0.4 / 2 = 0.2 +C(C(p))₃ = C(C(p))₄ = (0.1 + 0.1) / 2 = 0.2 / 2 = 0.1 +C(C(p))₅ = C(C(p))₆ = (0.14 + 0.14) / 2 = 0.28 / 2 = 0.14 +C(C(p))₇ = C(C(p))₈ = (0.06 + 0.06) / 2 = 0.12 / 2 = 0.06 +``` + +**OUTPUT:** C(C(p)) = (0.2, 0.2, 0.1, 0.1, 0.14, 0.14, 0.06, 0.06) + +**VERIFICATION:** C(C(p)) = C(p) ✓ + +**RESULT:** C∘C = C. One application reaches the fixed point. + +--- + +## PART C: Image M ≅ Δ₃ (verified numerically) + +**Image M:** All vectors with p₁=p₂, p₃=p₄, p₅=p₆, p₇=p₈. + +**Map from Δ₃ to M:** +``` +(q₁, q₂, q₃, q₄) ↦ (q₁/2, q₁/2, q₂/2, q₂/2, q₃/2, q₃/2, q₄/2, q₄/2) +``` + +**TEST:** (q₁, q₂, q₃, q₄) = (0.4, 0.2, 0.28, 0.12) +**Check:** 0.4 + 0.2 + 0.28 + 0.12 = 1.0 ✓ + +**WORK:** +``` +φ(q) = (0.4/2, 0.4/2, 0.2/2, 0.2/2, 0.28/2, 0.28/2, 0.12/2, 0.12/2) + = (0.2, 0.2, 0.1, 0.1, 0.14, 0.14, 0.06, 0.06) +``` + +**OUTPUT:** φ(0.4, 0.2, 0.28, 0.12) = (0.2, 0.2, 0.1, 0.1, 0.14, 0.14, 0.06, 0.06) + +**VERIFICATION:** This equals C(p) from Part A. ✓ + +**Inverse map:** +``` +ψ(p₁, p₂, ..., p₈) = (2p₁, 2p₃, 2p₅, 2p₇) +``` + +**TEST:** ψ(0.2, 0.2, 0.1, 0.1, 0.14, 0.14, 0.06, 0.06) +``` += (2×0.2, 2×0.1, 2×0.14, 2×0.06) += (0.4, 0.2, 0.28, 0.12) +``` + +**VERIFICATION:** ψ(φ(q)) = q ✓ and φ(ψ(C(p))) = C(p) ✓ + +--- + +## PART D: Contraction (verified numerically) + +**INPUT:** p = (0.3, 0.1, 0.15, 0.05, 0.2, 0.08, 0.07, 0.05) +**INPUT:** q = (0.2, 0.2, 0.1, 0.1, 0.15, 0.1, 0.1, 0.05) + +**From Part A:** C(p) = (0.2, 0.2, 0.1, 0.1, 0.14, 0.14, 0.06, 0.06) + +**Compute C(q):** +``` +C(q)₁ = C(q)₂ = (0.2 + 0.2) / 2 = 0.2 +C(q)₃ = C(q)₄ = (0.1 + 0.1) / 2 = 0.1 +C(q)₅ = C(q)₆ = (0.15 + 0.1) / 2 = 0.125 +C(q)₇ = C(q)₈ = (0.1 + 0.05) / 2 = 0.075 +``` + +**OUTPUT:** C(q) = (0.2, 0.2, 0.1, 0.1, 0.125, 0.125, 0.075, 0.075) +**Check:** 0.2+0.2+0.1+0.1+0.125+0.125+0.075+0.075 = 1.0 ✓ + +--- + +**STEP 1: Compute d_F(p, q)** + +``` +√(p₁q₁) = √(0.3×0.2) = √0.06 = 0.24495 +√(p₂q₂) = √(0.1×0.2) = √0.02 = 0.14142 +√(p₃q₃) = √(0.15×0.1) = √0.015 = 0.12247 +√(p₄q₄) = √(0.05×0.1) = √0.005 = 0.07071 +√(p₅q₅) = √(0.2×0.15) = √0.03 = 0.17321 +√(p₆q₆) = √(0.08×0.1) = √0.008 = 0.08944 +√(p₇q₇) = √(0.07×0.1) = √0.007 = 0.08367 +√(p₈q₈) = √(0.05×0.05) = √0.0025= 0.05000 +``` + +**Sum:** +``` +S_pq = 0.24495 + 0.14142 + 0.12247 + 0.07071 + + 0.17321 + 0.08944 + 0.08367 + 0.05000 + = 0.97587 +``` + +**d_F(p,q) = 2·arccos(0.97587)** + +Type into calculator: `2 * arccos(0.97587)` + +--- + +**STEP 2: Compute d_F(C(p), C(q))** + +``` +√(C(p)₁·C(q)₁) = √(0.2×0.2) = 0.2 +√(C(p)₂·C(q)₂) = √(0.2×0.2) = 0.2 +√(C(p)₃·C(q)₃) = √(0.1×0.1) = 0.1 +√(C(p)₄·C(q)₄) = √(0.1×0.1) = 0.1 +√(C(p)₅·C(q)₅) = √(0.14×0.125) = √0.0175 = 0.13229 +√(C(p)₆·C(q)₆) = √(0.14×0.125) = 0.13229 +√(C(p)₇·C(q)₇) = √(0.06×0.075) = √0.0045 = 0.06708 +√(C(p)₈·C(q)₈) = √(0.06×0.075) = 0.06708 +``` + +**Sum:** +``` +S_CpCq = 0.2 + 0.2 + 0.1 + 0.1 + 0.13229 + 0.13229 + 0.06708 + 0.06708 + = 0.99874 +``` + +**d_F(C(p), C(q)) = 2·arccos(0.99874)** + +Type into calculator: `2 * arccos(0.99874)` + +--- + +**STEP 3: Compare** + +| Value | Calculator Input | Expected | +|-------|-----------------|----------| +| arccos(0.97587) | `arccos(0.97587)` | ~0.2197 | +| arccos(0.99874) | `arccos(0.99874)` | ~0.0502 | +| d_F(p,q) | `2*arccos(0.97587)` | ~0.4394 | +| d_F(C(p),C(q)) | `2*arccos(0.99874)` | ~0.1004 | + +**VERIFICATION:** d_F(C(p), C(q)) ≈ 0.1004 < d_F(p,q) ≈ 0.4394 + +**CONTRACTION CONFIRMED:** C shrinks Fisher distance. + +**Contraction ratio:** 0.1004 / 0.4394 ≈ 0.228 + +Type: `0.1004 / 0.4394` → ~0.23 + +--- + +## PART E: Strict Inequality (when p, q differ within a pair) + +**INPUT:** p = (0.3, 0.1, 0.15, 0.05, 0.2, 0.08, 0.07, 0.05) +**INPUT:** r = (0.1, 0.3, 0.15, 0.05, 0.2, 0.08, 0.07, 0.05) + +p and r differ only within pair 1: (0.3, 0.1) vs (0.1, 0.3). + +**C(p) = (0.2, 0.2, 0.1, 0.1, 0.14, 0.14, 0.06, 0.06)** +**C(r) = (0.2, 0.2, 0.1, 0.1, 0.14, 0.14, 0.06, 0.06)** + +C(p) = C(r) because C averages each pair. + +**d_F(C(p), C(r)) = 0** + +**d_F(p, r):** +``` +√(0.3×0.1) = √0.03 = 0.17321 +√(0.1×0.3) = √0.03 = 0.17321 +√(0.15×0.15) = 0.15 +√(0.05×0.05) = 0.05 +√(0.2×0.2) = 0.2 +√(0.08×0.08) = 0.08 +√(0.07×0.07) = 0.07 +√(0.05×0.05) = 0.05 + +Sum = 0.17321 + 0.17321 + 0.15 + 0.05 + 0.2 + 0.08 + 0.07 + 0.05 + = 0.94642 +``` + +**d_F(p,r) = 2·arccos(0.94642)** + +Type into calculator: `2 * arccos(0.94642)` + +Expected: ~0.66 (significantly > 0) + +**VERIFICATION:** d_F(C(p), C(r)) = 0 < 0.66 = d_F(p,r) + +**STRICT INEQUALITY CONFIRMED:** When p, r differ within a pair, C collapses them completely. + +--- + +## PART F: Information Loss (computed numerically) + +**FORMULA:** +``` +I_loss(p) = Σₖ₌₁⁴ sₖ · [ (p_{2k-1}/sₖ)·ln((p_{2k-1}/sₖ)/(1/2)) + (p_{2k}/sₖ)·ln((p_{2k}/sₖ)/(1/2)) ] +``` + +where sₖ = p_{2k-1} + p_{2k}. + +**INPUT:** p = (0.3, 0.1, 0.15, 0.05, 0.2, 0.08, 0.07, 0.05) + +**Pair 1:** s₁ = 0.3 + 0.1 = 0.4 +``` +a = 0.3/0.4 = 0.75, b = 0.1/0.4 = 0.25 +KL = 0.75·ln(0.75/0.5) + 0.25·ln(0.25/0.5) + = 0.75·ln(1.5) + 0.25·ln(0.5) + = 0.75·0.40547 + 0.25·(-0.69315) + = 0.30410 - 0.17329 + = 0.13081 +``` +Term 1: s₁ × KL = 0.4 × 0.13081 = 0.05232 + +**Pair 2:** s₂ = 0.15 + 0.05 = 0.2 +``` +a = 0.15/0.2 = 0.75, b = 0.05/0.2 = 0.25 +KL = 0.75·ln(1.5) + 0.25·ln(0.5) + = 0.13081 (same as above) +``` +Term 2: s₂ × KL = 0.2 × 0.13081 = 0.02616 + +**Pair 3:** s₃ = 0.2 + 0.08 = 0.28 +``` +a = 0.2/0.28 = 0.71429, b = 0.08/0.28 = 0.28571 +KL = 0.71429·ln(0.71429/0.5) + 0.28571·ln(0.28571/0.5) + = 0.71429·ln(1.42858) + 0.28571·ln(0.57142) + = 0.71429·0.35668 + 0.28571·(-0.55962) + = 0.25477 - 0.15989 + = 0.09488 +``` +Term 3: s₃ × KL = 0.28 × 0.09488 = 0.02657 + +**Pair 4:** s₄ = 0.07 + 0.05 = 0.12 +``` +a = 0.07/0.12 = 0.58333, b = 0.05/0.12 = 0.41667 +KL = 0.58333·ln(0.58333/0.5) + 0.41667·ln(0.41667/0.5) + = 0.58333·ln(1.16667) + 0.41667·ln(0.83333) + = 0.58333·0.15415 + 0.41667·(-0.18232) + = 0.08992 - 0.07597 + = 0.01395 +``` +Term 4: s₄ × KL = 0.12 × 0.01395 = 0.00167 + +--- + +**TOTAL:** +``` +I_loss(p) = 0.05232 + 0.02616 + 0.02657 + 0.00167 + = 0.10672 nats +``` + +**In bits:** 0.10672 / ln(2) = 0.10672 / 0.69315 = 0.15396 bits + +**VERIFY on calculator:** +``` +0.05232 + 0.02616 + 0.02657 + 0.00167 +``` +Result: ~0.1067 + +--- + +## SUMMARY (all verified numerically) + +| Claim | Verification Method | Result | +|-------|---------------------|--------| +| C(p) computed | 8 additions, 4 divisions | ✓ sums to 1.0 | +| C∘C = C | Apply C twice, compare | ✓ identical | +| Image M ≅ Δ₃ | Map (0.4,0.2,0.28,0.12) → C(p) | ✓ inverse works | +| Contraction d_F(C(p),C(q)) < d_F(p,q) | Calculator: arccos comparison | ✓ 0.1004 < 0.4394 | +| Strict inequality | p, r differ in pair 1 only | ✓ 0 < 0.66 | +| Information loss | 4 KL divergences, weighted | ✓ 0.1067 nats |