Paper I · Lean source
PacketUniversal.lean
2 claims linked to this Lean module
- Universal mapping property of finite packet coordinates · Read statement beside this module
- Blockwise intertwining equations · Read statement beside this module
These links follow the claim index. They do not extend the recorded proof or Lean coverage.
Declared contract recorded Coverage and evidence
The cited release explicitly reports completion of its registered formal contract, under its exact hypotheses.
This viewer reads the retained source; it does not run Lean or assign new claim mappings.
Local imports (2)
PaperIRelease/PacketUniversal.lean104 lines
Original source path
formal/current/PaperIRelease/PacketUniversal.leanSkip declarations and read code
1 import KomorebiVerification.ExactCoordinates
2 import KomorebiVerification.PaperIBlockCompletion
3
4 set_option autoImplicit false
5 noncomputable section
6 namespace Komorebi.PaperIRelease.PacketUniversal
7 open Komorebi.Foundation Komorebi.Foundation.LinearProjectorFamily
8 universe u v w x y
9 variable {R : Type u} [CommSemiring R]
10 variable {M : Type v} [AddCommMonoid M] [Module R M]
11 variable {N : Type w} [AddCommMonoid N] [Module R N]
12 variable {ι : Type x} [Fintype ι]
13 variable (P : LinearProjectorFamily R M ι)
14
15 /-- Projection with its actual range as codomain. -/
16 def packetProjection (i : ι) : M →ₗ[R] (P.proj i).range := (P.proj i).rangeRestrict
17
18 /-- Extend linear maps out of every packet by the finite sum. -/
19 def assembleOut (f : (i : ι) → (P.proj i).range →ₗ[R] N) : M →ₗ[R] N :=
20 ∑ i, (f i).comp (packetProjection P i)
21
22 @[simp] theorem assembleOut_packet (f : (i : ι) → (P.proj i).range →ₗ[R] N)
23 (i : ι) (m : (P.proj i).range) : assembleOut P f m = f i m := by
24 classical
25 rw [assembleOut, LinearMap.sum_apply, Finset.sum_eq_single i]
26 · change f i (packetProjection P i m) = f i m
27 congr 1
28 apply Subtype.ext
29 obtain ⟨x, hx⟩ := m.property
30 change P.proj i m = m
31 rw [← hx]
32 exact P.idempotent i x
33 · intro j _ hji
34 change f j (packetProjection P j m) = 0
35 have hz : packetProjection P j m = 0 := by
36 apply Subtype.ext
37 obtain ⟨x, hx⟩ := m.property
38 change P.proj j m = 0
39 rw [← hx]
40 exact P.orthogonal hji x
41 rw [hz, map_zero]
42 · simp
43
44 /-- Existence and uniqueness of extension from the actual packet inclusions. -/
45 theorem unique_packet_extension (f : (i : ι) → (P.proj i).range →ₗ[R] N) :
46 ∃! g : M →ₗ[R] N, ∀ (i : ι) (m : (P.proj i).range), g (m : M) = f i m := by
47 refine ⟨assembleOut P f, assembleOut_packet P f, ?_⟩
48 intro g hg
49 ext m
50 rw [← P.complete m, map_sum, map_sum]
51 apply Finset.sum_congr rfl
52 intro i _
53 exact (hg i ⟨P.proj i m, ⟨m, rfl⟩⟩).trans
54 (assembleOut_packet P f i ⟨P.proj i m, ⟨m, rfl⟩⟩).symm
55
56 /-- Assemble linear maps into the packets using actual synthesis. -/
57 def assembleIn (f : (i : ι) → N →ₗ[R] (P.proj i).range) : N →ₗ[R] M :=
58 P.rangeSynthesis.comp (LinearMap.pi f)
59
60 @[simp] theorem packet_assembleIn (f : (i : ι) → N →ₗ[R] (P.proj i).range)
61 (i : ι) (n : N) : packetProjection P i (assembleIn P f n) = f i n := by
62 exact congrFun (P.rangeAnalysis_rangeSynthesis (fun j => f j n)) i
63
64 /-- Existence and uniqueness of assembly into actual packet ranges. -/
65 theorem unique_packet_lift (f : (i : ι) → N →ₗ[R] (P.proj i).range) :
66 ∃! g : N →ₗ[R] M, ∀ i n, packetProjection P i (g n) = f i n := by
67 refine ⟨assembleIn P f, packet_assembleIn P f, ?_⟩
68 intro g hg
69 ext n
70 apply P.exactPacketCoordinates.injective
71 funext i
72 exact (hg i n).trans (packet_assembleIn P f i n).symm
73
74 /-- A linear map is determined by all its transfer blocks. -/
75 theorem transferBlock_ext {κ : Type y} [Fintype κ]
76 (Q : LinearProjectorFamily R N κ) (U V : M →ₗ[R] N)
77 (h : ∀ j i, transferBlock P Q U j i = transferBlock P Q V j i) : U = V := by
78 rw [← transferBlock_reconstruction_linearMap P Q U,
79 ← transferBlock_reconstruction_linearMap P Q V]
80 apply Finset.sum_congr rfl
81 intro j _
82 apply Finset.sum_congr rfl
83 intro i _
84 exact h j i
85
86 /-- The full blockwise intertwining equivalence, with distinct source and target packets. -/
87 theorem block_intertwining_iff {κ : Type y} [Fintype κ]
88 (Q : LinearProjectorFamily R N κ) (T : Module.End R M)
89 (S : Module.End R N) (U : M →ₗ[R] N) :
90 U.comp T = S.comp U ↔ ∀ j i,
91 (∑ b, (transferBlock P Q U j b).comp (transferBlock P P T b i)) =
92 ∑ d, (transferBlock Q Q S j d).comp (transferBlock P Q U d i) := by
93 constructor
94 · intro h j i
95 rw [← transferBlock_comp_linearMap P P Q T U,
96 ← transferBlock_comp_linearMap P Q Q U S, h]
97 · intro h
98 apply transferBlock_ext P Q
99 intro j i
100 rw [transferBlock_comp_linearMap P P Q T U,
101 transferBlock_comp_linearMap P Q Q U S]
102 exact h j i
103
104 end Komorebi.PaperIRelease.PacketUniversal
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: 09f545b9d46cde8e9486ec174772ae6b0ad45804eb392310161eece860c1e928
Back to Paper I: Typed Operator Systems, Seed Rank, and Exact Packet Coordinates