Paper VIII · Lean source
SchurSupport.lean
Inherited / related evidence Coverage and evidence
The edition relies on earlier or related formal evidence. That evidence is not a fresh full-edition replay.
This viewer reads the retained source; it does not run Lean or assign new claim mappings.
Local imports (3)
SchurSupport.lean92 lines
Original source path
source/complete/Paper_VIII_Complete_v0.6.0_With_Visual_Appendix/original_snapshot/formalization/SchurSupport.leanSkip declarations and read code
1 module
2 public import InverseSupport
3 import all InverseSupport
4 import all PacketIR
5 import all QuantumPacketCore
6 public import Mathlib.Tactic
7
8 /-!
9 Author: Komorebi P. Paper VIII item 6.8.
10 Actual rectangular coupling matrices and arbitrary packet projectors on both
11 retained and hidden spaces. The hidden inverse is Mathlib's matrix inverse.
12 A length-zero hidden path is allowed (enter and exit through the same packet).
13 -/
14 public section
15 set_option autoImplicit false
16 namespace KomorebiPaperVIII
17 open scoped BigOperators Classical
18 open KomorebiPaperVII
19 variable {K X Y I J : Type*} [Field K]
20 variable [Fintype X] [DecidableEq X] [Fintype Y] [DecidableEq Y]
21 variable [Fintype I] [DecidableEq I] [Fintype J] [DecidableEq J]
22 variable (P : PacketFamily (Matrix X X K) I) (Q : PacketFamily (Matrix Y Y K) J)
23
24 /-- The correction is expanded through all actual hidden packet inverse blocks. -/
25 theorem schur_correction_expansion (B : Matrix X Y K) (Hinv : Matrix Y Y K)
26 (C : Matrix Y X K) (b a : I) :
27 P.block (B*Hinv*C) b a =
28 ∑ j, ∑ k, (P.proj b*B) * Q.block Hinv j k * (C*P.proj a) := by
29 conv_lhs => rw [←Q.reconstruct Hinv]
30 simp only [PacketFamily.block,Matrix.mul_sum,Matrix.sum_mul,Matrix.mul_assoc]
31
32 /-- A nonzero correction has an actual nonzero entrance, inverse block, and exit. -/
33 theorem schur_correction_support (B : Matrix X Y K) (H : Matrix Y Y K)
34 (C : Matrix Y X K) (hH : IsUnit H.det) (b a : I)
35 (h : P.block (B*H⁻¹*C) b a ≠ 0) :
36 ∃ j k, P.proj b*B*Q.proj j ≠ 0 ∧ Reachable Q H j k ∧
37 Q.proj k*C*P.proj a ≠ 0 := by
38 rw [schur_correction_expansion P Q] at h
39 obtain ⟨j,_,hj⟩ := Finset.exists_ne_zero_of_sum_ne_zero h
40 obtain ⟨k,_,hk⟩ := Finset.exists_ne_zero_of_sum_ne_zero hj
41 have hinv : Q.block H⁻¹ j k ≠ 0 := by
42 intro hz
43 apply hk
44 rw [hz,Matrix.mul_zero,Matrix.zero_mul]
45 have he : (P.proj b*B)*Q.block H⁻¹ j k*(C*P.proj a) =
46 (P.proj b*B*Q.proj j)*H⁻¹*(Q.proj k*C*P.proj a) := by
47 simp only [PacketFamily.block,Matrix.mul_assoc]
48 refine ⟨j,k,?_,matrix_inverse_support Q H hH j k hinv,?_⟩
49 · intro hz
50 apply hk
51 rw [he,hz,Matrix.zero_mul,Matrix.zero_mul]
52 · intro hz
53 apply hk
54 rw [he,hz,Matrix.mul_zero]
55
56 /-- Item 6.8: the actual Schur support lies in direct edges or hidden walks. -/
57 theorem schur_support_inclusion (A : Matrix X X K) (B : Matrix X Y K)
58 (H : Matrix Y Y K) (C : Matrix Y X K) (hH : IsUnit H.det) (b a : I)
59 (h : P.block (A-B*H⁻¹*C) b a ≠ 0) :
60 P.block A b a ≠ 0 ∨
61 ∃ j k, P.proj b*B*Q.proj j ≠ 0 ∧ Reachable Q H j k ∧
62 Q.proj k*C*P.proj a ≠ 0 := by
63 by_cases ha : P.block A b a ≠ 0
64 · exact Or.inl ha
65 · right
66 apply schur_correction_support P Q B H C hH b a
67 intro hc
68 apply h
69 have hz : P.block A b a = 0 := not_ne_iff.mp ha
70 change P.proj b*(A-B*H⁻¹*C)*P.proj a = 0
71 rw [Matrix.mul_sub,Matrix.sub_mul]
72 change P.block A b a - P.block (B*H⁻¹*C) b a = 0
73 rw [hz,hc,sub_self]
74
75 /-- No permitted route certifies a zero retained Schur block. -/
76 theorem schur_zero_of_no_route (A : Matrix X X K) (B : Matrix X Y K)
77 (H : Matrix Y Y K) (C : Matrix Y X K) (hH : IsUnit H.det) (b a : I)
78 (ha : P.block A b a = 0)
79 (hr : ∀ j k, P.proj b*B*Q.proj j ≠ 0 → Q.proj k*C*P.proj a ≠ 0 →
80 ¬ Reachable Q H j k) : P.block (A-B*H⁻¹*C) b a = 0 := by
81 by_contra hn
82 obtain h | ⟨j,k,hj,hp,hk⟩ := schur_support_inclusion P Q A B H C hH b a hn
83 · exact h ha
84 · exact hr j k hj hk hp
85
86 end KomorebiPaperVIII
87
88 -- FIFTH BLOCK AXIOM AUDIT
89 #print axioms KomorebiPaperVIII.schur_correction_expansion
90 #print axioms KomorebiPaperVIII.schur_correction_support
91 #print axioms KomorebiPaperVIII.schur_support_inclusion
92 #print axioms KomorebiPaperVIII.schur_zero_of_no_route
Original file and source record
This copy matches the recorded source file. Its publication here does not change the work’s review status.
SHA-256: 36b368041215ef6857fb3d5809525c1f78436601ff1897e04de9ff1992acfceb
Back to Paper VIII: Packet Operator Algorithms, Exact Compilation, and GPU Realization