Paper X · Lean source

MatrixWitnessLimits.lean

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 (1)

PaperX/MatrixWitnessLimits.lean105 lines

Original source pathcurrent_continuation/lean/PaperX/MatrixWitnessLimits.lean
Skip declarations and read code

Skip source text

1 import PaperX.RepresentationLimits
2 
3 /-! Compatible finite matrices reconstruct to actual integral matrices.  Matrix
4 equations are proved after reconstruction using separatedness, independently
5 of any invertibility condition. -/
6 set_option autoImplicit false
7 
8 namespace PaperX.MatrixWitnessLimits
9 open PaperX.RepresentationLimits
10 
11 variable {R : Type*} [CommRing R] (I : Ideal R)
12 variable {ι : Type*} [Fintype ι] [DecidableEq ι]
13 
14 /-- An actual compatible family of finite matrices, including precision zero. -/
15 structure MatrixFamily (R : Type*) [CommRing R] (I : Ideal R)
16     (ι : Type*) [Fintype ι] [DecidableEq ι] where
17   maps : ∀ k : ℕ, Matrix ι ι (R ⧸ I ^ k)
18   compatible : ∀ {j k : ℕ} (h : j ≤ k),
19     (maps k).map (Ideal.Quotient.factorPow I h) = maps j
20 
21 omit [Fintype ι] [DecidableEq ι] in
22 /-- Adjacent compatibility implies compatibility at every pair of precisions. -/
23 theorem matrix_compatible_of_succ
24     (a : ∀ k : ℕ, Matrix ι ι (R ⧸ I ^ k))
25     (ha : ∀ k, (a (k + 1)).map (Ideal.Quotient.factorPow I (Nat.le_succ k)) = a k)
26     {j k : ℕ} (h : j ≤ k) :
27     (a k).map (Ideal.Quotient.factorPow I h) = a j := by
28   ext i l
29   apply (Ideal.Quotient.eq_factor_of_eq_factor_succ
30     (fun _ _ h => Ideal.pow_le_pow_right h) (fun m => a m i l) ?_ h).symm
31   intro m
32   exact (congrArg (fun M => M i l) (ha m)).symm
33 
34 def matrix_family_of_succ
35     (a : ∀ k : ℕ, Matrix ι ι (R ⧸ I ^ k))
36     (ha : ∀ k, (a (k + 1)).map (Ideal.Quotient.factorPow I (Nat.le_succ k)) = a k) :
37     MatrixFamily R I ι where
38   maps := a
39   compatible := matrix_compatible_of_succ I a ha
40 
41 noncomputable def reconstructMatrix [IsAdicComplete I R]
42     (f : MatrixFamily R I ι) : Matrix ι ι R :=
43   fun i j => scalarLift I (fun k => f.maps k i j)
44     (fun h => congrArg (fun M => M i j) (f.compatible h))
45 
46 @[simp] theorem reconstructMatrix_reduces [IsAdicComplete I R]
47     (f : MatrixFamily R I ι) (k : ℕ) :
48     (reconstructMatrix I f).map (Ideal.Quotient.mk (I ^ k)) = f.maps k := by
49   ext i j
50   exact scalarLift_reduces I (fun k => f.maps k i j)
51     (fun h => congrArg (fun M => M i j) (f.compatible h)) k
52 
53 /-- The lifted matrix is uniquely determined by its finite reductions. -/
54 theorem reconstructMatrix_unique [IsAdicComplete I R]
55     (f : MatrixFamily R I ι) (P : Matrix ι ι R)
56     (hP : ∀ k, P.map (Ideal.Quotient.mk (I ^ k)) = f.maps k) :
57     P = reconstructMatrix I f := by
58   apply matrix_ext I
59   intro k
60   rw [reconstructMatrix_reduces, hP]
61 
62 /-- Products of reconstructed matrices satisfy every compatible finite product
63 identity.  Invertibility is not supplied as a premise. -/
64 theorem reconstructMatrix_mul_eq [IsAdicComplete I R]
65     (a b c d : MatrixFamily R I ι)
66     (h : ∀ k, a.maps k * b.maps k = c.maps k * d.maps k) :
67     reconstructMatrix I a * reconstructMatrix I b =
68       reconstructMatrix I c * reconstructMatrix I d := by
69   apply matrix_ext I
70   intro k
71   simp only [Matrix.map_mul, reconstructMatrix_reduces]
72   exact h k
73 
74 variable {G : Type*} [Group G]
75 
76 /-- Actual finite intertwining equations survive reconstruction. -/
77 theorem reconstructMatrix_intertwines [IsAdicComplete I R]
78     (f g : Family R I G ι) (P : MatrixFamily R I ι)
79     (h : ∀ k x, f.maps k x * P.maps k = P.maps k * g.maps k x) (x : G) :
80     reconstruct I f x * reconstructMatrix I P =
81       reconstructMatrix I P * reconstruct I g x := by
82   apply matrix_ext I
83   intro k
84   simp only [Matrix.map_mul, reconstructMatrix_reduces]
85   change (liftMatrix I f x).map _ * P.maps k =
86     P.maps k * (liftMatrix I g x).map _
87   rw [liftMatrix_reduces, liftMatrix_reduces]
88   exact h k x
89 
90 /-- Local comparison uses a specified group homomorphism and a fixed actual
91 integral comparison representation. -/
92 theorem reconstructMatrix_local_intertwines {H : Type*} [Group H]
93     [IsAdicComplete I R] (f : Family R I G ι) (τ : MatrixRep R H ι)
94     (φ : H →* G) (P : MatrixFamily R I ι)
95     (h : ∀ k x, f.maps k (φ x) * P.maps k = P.maps k * reduce I τ k x) (x : H) :
96     reconstruct I f (φ x) * reconstructMatrix I P = reconstructMatrix I P * τ x := by
97   apply matrix_ext I
98   intro k
99   simp only [Matrix.map_mul, reconstructMatrix_reduces]
100   change (liftMatrix I f (φ x)).map _ * P.maps k =
101     P.maps k * reduce I τ k x
102   rw [liftMatrix_reduces]
103   exact h k x
104 
105 end PaperX.MatrixWitnessLimits

Back to source controls

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: 349d85d26f5d1a83456b5863bcf714f41eca794775c32cb9b6fbb7e6a20e7ae0

Original source on GitHub

Back to Paper X: Universal Residual Seeds and Conditional Occupied-System Completion