File size: 8,277 Bytes
9425aed | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 | /-
JORDAN FIXED-POINT COMMUTATIVITY β MATRIX-LEVEL PROOF
Ahmad Ali Parr Β· SnapKitty Collective Β· 2026-07-21
Theorem: For the Jordan operator
T(Ο) = Οβ»ΒΉ Β· U * Ο * Uα΄΄ + Οβ»Β² Β· Ο
any fixed point Ο* satisfying T(Ο*) = Ο* commutes with U:
U * Ο* = Ο* * U (i.e., [U, Ο*] = 0)
Proof is purely algebraic β no analysis, no epsilon-delta.
Uses only: linear algebra over β, scalar cancellation, matrix multiplication.
PAR-013: Fibonacci-Banach contraction (scalar bound)
PAR-011: Jordan Spectral Transformer fixed-point commutativity (this file)
-/
import Mathlib.LinearAlgebra.Matrix.NonsingularInverse
import Mathlib.Analysis.InnerProductSpace.Basic
import Mathlib.Data.Matrix.Basic
import Mathlib.Data.Complex.Basic
import Mathlib.Algebra.Star.Basic
namespace JordanMatrixProof
variable {n : Type*} [Fintype n] [DecidableEq n]
-- Οβ»ΒΉ as an element of β
noncomputable def Ο_inv : β := (Real.sqrt 5 - 1) / 2
-- Οβ»Β² = Οβ»ΒΉΒ² (since ΟΒ² = Ο + 1 βΉ Οβ»Β² = 1 - Οβ»ΒΉ Β· Οβ»ΒΉ ... use the identity directly)
noncomputable def Ο_inv_sq : β := 1 - Ο_inv
-- The key algebraic identity: Οβ»ΒΉ + Οβ»Β² = 1
theorem phi_sum_one : Ο_inv + Ο_inv_sq = 1 := by
simp [Ο_inv_sq]
-- Οβ»ΒΉ β 0 (since Οβ»ΒΉ = (β5-1)/2 β 0.618 β 0)
theorem phi_inv_ne_zero : Ο_inv β 0 := by
simp [Ο_inv]
intro h
have h5 : Real.sqrt 5 > 0 := Real.sqrt_pos.mpr (by norm_num)
linarith [h5]
-- ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
-- MAIN THEOREM: Jordan Fixed-Point Commutativity
-- ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
/--
For the Jordan operator T(Ο) = Οβ»ΒΉ Β· U * Ο * Uα΄΄ + Οβ»Β² Β· Ο,
any fixed point Ο* satisfying T(Ο*) = Ο* commutes with U.
Proof:
T(Ο*) = Ο*
βΉ Οβ»ΒΉ Β· U * Ο* * Uα΄΄ + Οβ»Β² Β· Ο* = Ο*
βΉ Οβ»ΒΉ Β· U * Ο* * Uα΄΄ = (1 - Οβ»Β²) Β· Ο* = Οβ»ΒΉ Β· Ο*
[using phi_sum_one: 1 - Οβ»Β² = Οβ»ΒΉ]
βΉ U * Ο* * Uα΄΄ = Ο* [divide by Οβ»ΒΉ β 0]
βΉ U * Ο* * Uα΄΄ = Ο*
Commutativity U * Ο* = Ο* * U then follows because U is unitary:
U * Ο* * Uα΄΄ = Ο*
βΉ U * Ο* = Ο* * U [right-multiply by U, use Uα΄΄ * U = I]
-/
theorem jordan_fixed_point_commutes
(U Ο_star : Matrix n n β)
-- U is unitary: U * Uα΄΄ = I and Uα΄΄ * U = I
(hU_mul : U * star U = 1)
(hUH_mul : star U * U = 1)
-- Ο* is the fixed point: T(Ο*) = Ο*
(h_fp : Ο_inv β’ (U * Ο_star * star U) + Ο_inv_sq β’ Ο_star = Ο_star) :
-- Conclusion: Ο* commutes with U
U * Ο_star = Ο_star * U := by
-- Step 1: From fixed-point equation, isolate Οβ»ΒΉ Β· U Ο* Uα΄΄
have step1 : Ο_inv β’ (U * Ο_star * star U) = (1 - Ο_inv_sq) β’ Ο_star := by
have key : Ο_inv β’ (U * Ο_star * star U) + Ο_inv_sq β’ Ο_star = Ο_star := h_fp
have sum1 : Ο_inv + Ο_inv_sq = 1 := phi_sum_one
rw [β sum1, add_smul] at key
have eq : Ο_inv β’ (U * Ο_star * star U) + Ο_inv_sq β’ Ο_star =
Ο_inv β’ Ο_star + Ο_inv_sq β’ Ο_star := key
have h1 : Ο_inv β’ (U * Ο_star * star U) = Ο_inv β’ Ο_star := by linarith
rw [show (1 : β) - Ο_inv_sq = Ο_inv by linarith [sum1]]
exact h1
-- Step 1 (matrix version over β):
have step1' : Ο_inv β’ (U * Ο_star * star U) = Ο_inv β’ Ο_star := by
have key : Ο_inv β’ (U * Ο_star * star U) + Ο_inv_sq β’ Ο_star = Ο_star := h_fp
have sum1 : Ο_inv + Ο_inv_sq = 1 := phi_sum_one
-- Rewrite Ο* = 1 β’ Ο* = (Οβ»ΒΉ + Οβ»Β²) β’ Ο*
rw [β sum1, add_smul] at key
-- key : Οβ»ΒΉ β’ (U Ο* Uα΄΄) + Οβ»Β² β’ Ο* = Οβ»ΒΉ β’ Ο* + Οβ»Β² β’ Ο*
have : Ο_inv β’ (U * Ο_star * star U) + Ο_inv_sq β’ Ο_star =
Ο_inv β’ Ο_star + Ο_inv_sq β’ Ο_star := key
linarith -- over an additive group with smul, cancel Οβ»Β² β’ Ο* from both sides
-- Step 2: Cancel Οβ»ΒΉ β 0 from both sides
have step2 : U * Ο_star * star U = Ο_star := by
have hne := phi_inv_ne_zero
exact smul_left_cancelβ hne step1'
-- Step 3: U * Ο* * Uα΄΄ = Ο* βΉ U * Ο* = Ο* * U
-- Right-multiply both sides by U: (U * Ο* * Uα΄΄) * U = Ο* * U
-- LHS = U * Ο* * (Uα΄΄ * U) = U * Ο* * I = U * Ο*
calc U * Ο_star
= U * Ο_star * 1 := by simp
_ = U * Ο_star * (star U * U) := by rw [hUH_mul]
_ = (U * Ο_star * star U) * U := by ring
_ = Ο_star * U := by rw [step2]
-- ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
-- SCALAR CONTRACTION BOUND (supports the contraction claim)
-- Over β, not IEEE Float
-- ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
/--
The scalar sequence (Οβ»ΒΉ)^N is strictly decreasing:
Οβ»ΒΉ^(N+1) < Οβ»ΒΉ^N iff Οβ»ΒΉ β (0, 1)
This is a necessary condition for Banach contraction.
(The full operator contraction on density matrices requires
the signal-dependent U_k averaging argument; this gives the scalar rate.)
-/
theorem phi_inv_pow_lt (N : β) :
(0 : β) < (Real.sqrt 5 - 1) / 2 β§
(Real.sqrt 5 - 1) / 2 < 1 β§
((Real.sqrt 5 - 1) / 2) ^ (N + 1) < ((Real.sqrt 5 - 1) / 2) ^ N := by
constructor
Β· -- 0 < (β5 - 1)/2
apply div_pos
Β· have : Real.sqrt 5 > 1 := by
rw [show (1:β) = Real.sqrt 1 from (Real.sqrt_one).symm]
exact Real.sqrt_lt_sqrt (by norm_num) (by norm_num)
linarith
Β· norm_num
constructor
Β· -- (β5 - 1)/2 < 1
have h5 : Real.sqrt 5 < 3 := by
rw [show (3:β) = Real.sqrt 9 from by
rw [Real.sqrt_eq_iff_sq_eq (by norm_num) (by norm_num)]; norm_num]
exact Real.sqrt_lt_sqrt (by norm_num) (by norm_num)
linarith
Β· -- (Οβ»ΒΉ)^(N+1) < (Οβ»ΒΉ)^N
apply pow_lt_pow_of_lt_one
Β· apply div_pos
Β· have : Real.sqrt 5 > 1 := by
rw [show (1:β) = Real.sqrt 1 from (Real.sqrt_one).symm]
exact Real.sqrt_lt_sqrt (by norm_num) (by norm_num)
linarith
Β· norm_num
Β· have h5 : Real.sqrt 5 < 3 := by
rw [show (3:β) = Real.sqrt 9 from by
rw [Real.sqrt_eq_iff_sq_eq (by norm_num) (by norm_num)]; norm_num]
exact Real.sqrt_lt_sqrt (by norm_num) (by norm_num)
linarith
-- ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
-- DENSITY MATRIX PRESERVATION UNDER JORDAN STEP
-- ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
/--
If Ο has trace 1 and U is unitary, then T(Ο) = Οβ»ΒΉ Β· UΟUα΄΄ + Οβ»Β² Β· Ο
also has trace 1.
Uses: tr(U Ο Uα΄΄) = tr(Ο) for any unitary U (cyclic trace).
-/
theorem jordan_preserves_trace
(U Ο : Matrix n n β)
(hU : U * star U = 1)
(htr : Matrix.trace Ο = 1) :
Matrix.trace (Ο_inv β’ (U * Ο * star U) + Ο_inv_sq β’ Ο) = 1 := by
rw [map_add, map_smul, map_smul]
-- tr(U Ο Uα΄΄) = tr(Ο) by cyclic property: tr(ABC) = tr(CAB)
have cyclic : Matrix.trace (U * Ο * star U) = Matrix.trace Ο := by
rw [Matrix.trace_mul_comm (U * Ο) (star U)]
rw [Matrix.mul_assoc]
rw [hU]
simp [Matrix.trace_mul_comm]
rw [cyclic, htr]
-- Οβ»ΒΉ Β· 1 + Οβ»Β² Β· 1 = 1
have : Ο_inv + Ο_inv_sq = 1 := phi_sum_one
push_cast
linarith
end JordanMatrixProof
|