Metamath Proof Explorer


Theorem chfacffsupp

Description: The "characteristic factor function" is finitely supported. (Contributed by AV, 20-Nov-2019) (Proof shortened by AV, 23-Dec-2019)

Ref Expression
Hypotheses chfacfisf.a ⊢ A = N Mat R
chfacfisf.b ⊢ B = Base A
chfacfisf.p ⊢ P = Poly 1 ⁡ R
chfacfisf.y ⊢ Y = N Mat P
chfacfisf.r ⊢ × ˙ = ⋅ Y
chfacfisf.s ⊢ - ˙ = - Y
chfacfisf.0 ⊢ 0 ˙ = 0 Y
chfacfisf.t ⊢ T = N matToPolyMat R
chfacfisf.g ⊢ G = n ∈ ℕ 0 ⟼ if n = 0 0 ˙ - ˙ T ⁡ M × ˙ T ⁡ b ⁡ 0 if n = s + 1 T ⁡ b ⁡ s if s + 1 < n 0 ˙ T ⁡ b ⁡ n − 1 - ˙ T ⁡ M × ˙ T ⁡ b ⁡ n
Assertion chfacffsupp ⊢ N ∈ Fin ∧ R ∈ CRing ∧ M ∈ B ∧ s ∈ ℕ ∧ b ∈ B 0 … s → finSupp 0 Y⁡ G

Proof

Step Hyp Ref Expression
1 chfacfisf.a ⊢ A = N Mat R
2 chfacfisf.b ⊢ B = Base A
3 chfacfisf.p ⊢ P = Poly 1 ⁡ R
4 chfacfisf.y ⊢ Y = N Mat P
5 chfacfisf.r ⊢ × ˙ = ⋅ Y
6 chfacfisf.s ⊢ - ˙ = - Y
7 chfacfisf.0 ⊢ 0 ˙ = 0 Y
8 chfacfisf.t ⊢ T = N matToPolyMat R
9 chfacfisf.g ⊢ G = n ∈ ℕ 0 ⟼ if n = 0 0 ˙ - ˙ T ⁡ M × ˙ T ⁡ b ⁡ 0 if n = s + 1 T ⁡ b ⁡ s if s + 1 < n 0 ˙ T ⁡ b ⁡ n − 1 - ˙ T ⁡ M × ˙ T ⁡ b ⁡ n
10 fvexd ⊢ N ∈ Fin ∧ R ∈ CRing ∧ M ∈ B ∧ s ∈ ℕ ∧ b ∈ B 0 … s → 0 Y ∈ V
11 ovex ⊢ 0 ˙ - ˙ T ⁡ M × ˙ T ⁡ b ⁡ 0 ∈ V
12 fvex ⊢ T ⁡ b ⁡ s ∈ V
13 7 fvexi ⊢ 0 ˙ ∈ V
14 ovex ⊢ T ⁡ b ⁡ n − 1 - ˙ T ⁡ M × ˙ T ⁡ b ⁡ n ∈ V
15 13 14 ifex ⊢ if s + 1 < n 0 ˙ T ⁡ b ⁡ n − 1 - ˙ T ⁡ M × ˙ T ⁡ b ⁡ n ∈ V
16 12 15 ifex ⊢ if n = s + 1 T ⁡ b ⁡ s if s + 1 < n 0 ˙ T ⁡ b ⁡ n − 1 - ˙ T ⁡ M × ˙ T ⁡ b ⁡ n ∈ V
17 11 16 ifex ⊢ if n = 0 0 ˙ - ˙ T ⁡ M × ˙ T ⁡ b ⁡ 0 if n = s + 1 T ⁡ b ⁡ s if s + 1 < n 0 ˙ T ⁡ b ⁡ n − 1 - ˙ T ⁡ M × ˙ T ⁡ b ⁡ n ∈ V
18 17 a1i ⊢ N ∈ Fin ∧ R ∈ CRing ∧ M ∈ B ∧ s ∈ ℕ ∧ b ∈ B 0 … s ∧ n ∈ ℕ 0 → if n = 0 0 ˙ - ˙ T ⁡ M × ˙ T ⁡ b ⁡ 0 if n = s + 1 T ⁡ b ⁡ s if s + 1 < n 0 ˙ T ⁡ b ⁡ n − 1 - ˙ T ⁡ M × ˙ T ⁡ b ⁡ n ∈ V
19 nnnn0 ⊢ s ∈ ℕ → s ∈ ℕ 0
20 peano2nn0 ⊢ s ∈ ℕ 0 → s + 1 ∈ ℕ 0
21 19 20 syl ⊢ s ∈ ℕ → s + 1 ∈ ℕ 0
22 21 ad2antrl ⊢ N ∈ Fin ∧ R ∈ CRing ∧ M ∈ B ∧ s ∈ ℕ ∧ b ∈ B 0 … s → s + 1 ∈ ℕ 0
23 simplr ⊢ N ∈ Fin ∧ R ∈ CRing ∧ M ∈ B ∧ s ∈ ℕ ∧ b ∈ B 0 … s ∧ k ∈ ℕ 0 ∧ s + 1 < k → k ∈ ℕ 0
24 0red ⊢ N ∈ Fin ∧ R ∈ CRing ∧ M ∈ B ∧ s ∈ ℕ ∧ b ∈ B 0 … s ∧ k ∈ ℕ 0 ∧ s + 1 < k → 0 ∈ ℝ
25 nnre ⊢ s ∈ ℕ → s ∈ ℝ
26 peano2re ⊢ s ∈ ℝ → s + 1 ∈ ℝ
27 25 26 syl ⊢ s ∈ ℕ → s + 1 ∈ ℝ
28 27 adantr ⊢ s ∈ ℕ ∧ b ∈ B 0 … s → s + 1 ∈ ℝ
29 28 ad3antlr ⊢ N ∈ Fin ∧ R ∈ CRing ∧ M ∈ B ∧ s ∈ ℕ ∧ b ∈ B 0 … s ∧ k ∈ ℕ 0 ∧ s + 1 < k → s + 1 ∈ ℝ
30 nn0re ⊢ k ∈ ℕ 0 → k ∈ ℝ
31 30 ad2antlr ⊢ N ∈ Fin ∧ R ∈ CRing ∧ M ∈ B ∧ s ∈ ℕ ∧ b ∈ B 0 … s ∧ k ∈ ℕ 0 ∧ s + 1 < k → k ∈ ℝ
32 19 adantr ⊢ s ∈ ℕ ∧ b ∈ B 0 … s → s ∈ ℕ 0
33 32 ad2antlr ⊢ N ∈ Fin ∧ R ∈ CRing ∧ M ∈ B ∧ s ∈ ℕ ∧ b ∈ B 0 … s ∧ k ∈ ℕ 0 → s ∈ ℕ 0
34 nn0p1gt0 ⊢ s ∈ ℕ 0 → 0 < s + 1
35 33 34 syl ⊢ N ∈ Fin ∧ R ∈ CRing ∧ M ∈ B ∧ s ∈ ℕ ∧ b ∈ B 0 … s ∧ k ∈ ℕ 0 → 0 < s + 1
36 35 adantr ⊢ N ∈ Fin ∧ R ∈ CRing ∧ M ∈ B ∧ s ∈ ℕ ∧ b ∈ B 0 … s ∧ k ∈ ℕ 0 ∧ s + 1 < k → 0 < s + 1
37 simpr ⊢ N ∈ Fin ∧ R ∈ CRing ∧ M ∈ B ∧ s ∈ ℕ ∧ b ∈ B 0 … s ∧ k ∈ ℕ 0 ∧ s + 1 < k → s + 1 < k
38 24 29 31 36 37 lttrd ⊢ N ∈ Fin ∧ R ∈ CRing ∧ M ∈ B ∧ s ∈ ℕ ∧ b ∈ B 0 … s ∧ k ∈ ℕ 0 ∧ s + 1 < k → 0 < k
39 38 gt0ne0d ⊢ N ∈ Fin ∧ R ∈ CRing ∧ M ∈ B ∧ s ∈ ℕ ∧ b ∈ B 0 … s ∧ k ∈ ℕ 0 ∧ s + 1 < k → k ≠ 0
40 39 neneqd ⊢ N ∈ Fin ∧ R ∈ CRing ∧ M ∈ B ∧ s ∈ ℕ ∧ b ∈ B 0 … s ∧ k ∈ ℕ 0 ∧ s + 1 < k → ¬ k = 0
41 40 adantr ⊢ N ∈ Fin ∧ R ∈ CRing ∧ M ∈ B ∧ s ∈ ℕ ∧ b ∈ B 0 … s ∧ k ∈ ℕ 0 ∧ s + 1 < k ∧ n = k → ¬ k = 0
42 eqeq1 ⊢ n = k → n = 0 ↔ k = 0
43 42 notbid ⊢ n = k → ¬ n = 0 ↔ ¬ k = 0
44 43 adantl ⊢ N ∈ Fin ∧ R ∈ CRing ∧ M ∈ B ∧ s ∈ ℕ ∧ b ∈ B 0 … s ∧ k ∈ ℕ 0 ∧ s + 1 < k ∧ n = k → ¬ n = 0 ↔ ¬ k = 0
45 41 44 mpbird ⊢ N ∈ Fin ∧ R ∈ CRing ∧ M ∈ B ∧ s ∈ ℕ ∧ b ∈ B 0 … s ∧ k ∈ ℕ 0 ∧ s + 1 < k ∧ n = k → ¬ n = 0
46 45 iffalsed ⊢ N ∈ Fin ∧ R ∈ CRing ∧ M ∈ B ∧ s ∈ ℕ ∧ b ∈ B 0 … s ∧ k ∈ ℕ 0 ∧ s + 1 < k ∧ n = k → if n = 0 0 ˙ - ˙ T ⁡ M × ˙ T ⁡ b ⁡ 0 if n = s + 1 T ⁡ b ⁡ s if s + 1 < n 0 ˙ T ⁡ b ⁡ n − 1 - ˙ T ⁡ M × ˙ T ⁡ b ⁡ n = if n = s + 1 T ⁡ b ⁡ s if s + 1 < n 0 ˙ T ⁡ b ⁡ n − 1 - ˙ T ⁡ M × ˙ T ⁡ b ⁡ n
47 28 ad2antlr ⊢ N ∈ Fin ∧ R ∈ CRing ∧ M ∈ B ∧ s ∈ ℕ ∧ b ∈ B 0 … s ∧ k ∈ ℕ 0 → s + 1 ∈ ℝ
48 ltne ⊢ s + 1 ∈ ℝ ∧ s + 1 < k → k ≠ s + 1
49 47 48 sylan ⊢ N ∈ Fin ∧ R ∈ CRing ∧ M ∈ B ∧ s ∈ ℕ ∧ b ∈ B 0 … s ∧ k ∈ ℕ 0 ∧ s + 1 < k → k ≠ s + 1
50 49 neneqd ⊢ N ∈ Fin ∧ R ∈ CRing ∧ M ∈ B ∧ s ∈ ℕ ∧ b ∈ B 0 … s ∧ k ∈ ℕ 0 ∧ s + 1 < k → ¬ k = s + 1
51 50 adantr ⊢ N ∈ Fin ∧ R ∈ CRing ∧ M ∈ B ∧ s ∈ ℕ ∧ b ∈ B 0 … s ∧ k ∈ ℕ 0 ∧ s + 1 < k ∧ n = k → ¬ k = s + 1
52 eqeq1 ⊢ n = k → n = s + 1 ↔ k = s + 1
53 52 notbid ⊢ n = k → ¬ n = s + 1 ↔ ¬ k = s + 1
54 53 adantl ⊢ N ∈ Fin ∧ R ∈ CRing ∧ M ∈ B ∧ s ∈ ℕ ∧ b ∈ B 0 … s ∧ k ∈ ℕ 0 ∧ s + 1 < k ∧ n = k → ¬ n = s + 1 ↔ ¬ k = s + 1
55 51 54 mpbird ⊢ N ∈ Fin ∧ R ∈ CRing ∧ M ∈ B ∧ s ∈ ℕ ∧ b ∈ B 0 … s ∧ k ∈ ℕ 0 ∧ s + 1 < k ∧ n = k → ¬ n = s + 1
56 55 iffalsed ⊢ N ∈ Fin ∧ R ∈ CRing ∧ M ∈ B ∧ s ∈ ℕ ∧ b ∈ B 0 … s ∧ k ∈ ℕ 0 ∧ s + 1 < k ∧ n = k → if n = s + 1 T ⁡ b ⁡ s if s + 1 < n 0 ˙ T ⁡ b ⁡ n − 1 - ˙ T ⁡ M × ˙ T ⁡ b ⁡ n = if s + 1 < n 0 ˙ T ⁡ b ⁡ n − 1 - ˙ T ⁡ M × ˙ T ⁡ b ⁡ n
57 simplr ⊢ N ∈ Fin ∧ R ∈ CRing ∧ M ∈ B ∧ s ∈ ℕ ∧ b ∈ B 0 … s ∧ k ∈ ℕ 0 ∧ s + 1 < k ∧ n = k → s + 1 < k
58 breq2 ⊢ n = k → s + 1 < n ↔ s + 1 < k
59 58 adantl ⊢ N ∈ Fin ∧ R ∈ CRing ∧ M ∈ B ∧ s ∈ ℕ ∧ b ∈ B 0 … s ∧ k ∈ ℕ 0 ∧ s + 1 < k ∧ n = k → s + 1 < n ↔ s + 1 < k
60 57 59 mpbird ⊢ N ∈ Fin ∧ R ∈ CRing ∧ M ∈ B ∧ s ∈ ℕ ∧ b ∈ B 0 … s ∧ k ∈ ℕ 0 ∧ s + 1 < k ∧ n = k → s + 1 < n
61 60 iftrued ⊢ N ∈ Fin ∧ R ∈ CRing ∧ M ∈ B ∧ s ∈ ℕ ∧ b ∈ B 0 … s ∧ k ∈ ℕ 0 ∧ s + 1 < k ∧ n = k → if s + 1 < n 0 ˙ T ⁡ b ⁡ n − 1 - ˙ T ⁡ M × ˙ T ⁡ b ⁡ n = 0 ˙
62 61 7 eqtrdi ⊢ N ∈ Fin ∧ R ∈ CRing ∧ M ∈ B ∧ s ∈ ℕ ∧ b ∈ B 0 … s ∧ k ∈ ℕ 0 ∧ s + 1 < k ∧ n = k → if s + 1 < n 0 ˙ T ⁡ b ⁡ n − 1 - ˙ T ⁡ M × ˙ T ⁡ b ⁡ n = 0 Y
63 46 56 62 3eqtrd ⊢ N ∈ Fin ∧ R ∈ CRing ∧ M ∈ B ∧ s ∈ ℕ ∧ b ∈ B 0 … s ∧ k ∈ ℕ 0 ∧ s + 1 < k ∧ n = k → if n = 0 0 ˙ - ˙ T ⁡ M × ˙ T ⁡ b ⁡ 0 if n = s + 1 T ⁡ b ⁡ s if s + 1 < n 0 ˙ T ⁡ b ⁡ n − 1 - ˙ T ⁡ M × ˙ T ⁡ b ⁡ n = 0 Y
64 23 63 csbied ⊢ N ∈ Fin ∧ R ∈ CRing ∧ M ∈ B ∧ s ∈ ℕ ∧ b ∈ B 0 … s ∧ k ∈ ℕ 0 ∧ s + 1 < k → ⦋ k / n⦌ if n = 0 0 ˙ - ˙ T ⁡ M × ˙ T ⁡ b ⁡ 0 if n = s + 1 T ⁡ b ⁡ s if s + 1 < n 0 ˙ T ⁡ b ⁡ n − 1 - ˙ T ⁡ M × ˙ T ⁡ b ⁡ n = 0 Y
65 64 ex ⊢ N ∈ Fin ∧ R ∈ CRing ∧ M ∈ B ∧ s ∈ ℕ ∧ b ∈ B 0 … s ∧ k ∈ ℕ 0 → s + 1 < k → ⦋ k / n⦌ if n = 0 0 ˙ - ˙ T ⁡ M × ˙ T ⁡ b ⁡ 0 if n = s + 1 T ⁡ b ⁡ s if s + 1 < n 0 ˙ T ⁡ b ⁡ n − 1 - ˙ T ⁡ M × ˙ T ⁡ b ⁡ n = 0 Y
66 65 ralrimiva ⊢ N ∈ Fin ∧ R ∈ CRing ∧ M ∈ B ∧ s ∈ ℕ ∧ b ∈ B 0 … s → ∀ k ∈ ℕ 0 s + 1 < k → ⦋ k / n⦌ if n = 0 0 ˙ - ˙ T ⁡ M × ˙ T ⁡ b ⁡ 0 if n = s + 1 T ⁡ b ⁡ s if s + 1 < n 0 ˙ T ⁡ b ⁡ n − 1 - ˙ T ⁡ M × ˙ T ⁡ b ⁡ n = 0 Y
67 breq1 ⊢ l = s + 1 → l < k ↔ s + 1 < k
68 67 rspceaimv ⊢ s + 1 ∈ ℕ 0 ∧ ∀ k ∈ ℕ 0 s + 1 < k → ⦋ k / n⦌ if n = 0 0 ˙ - ˙ T ⁡ M × ˙ T ⁡ b ⁡ 0 if n = s + 1 T ⁡ b ⁡ s if s + 1 < n 0 ˙ T ⁡ b ⁡ n − 1 - ˙ T ⁡ M × ˙ T ⁡ b ⁡ n = 0 Y → ∃ l ∈ ℕ 0 ∀ k ∈ ℕ 0 l < k → ⦋ k / n⦌ if n = 0 0 ˙ - ˙ T ⁡ M × ˙ T ⁡ b ⁡ 0 if n = s + 1 T ⁡ b ⁡ s if s + 1 < n 0 ˙ T ⁡ b ⁡ n − 1 - ˙ T ⁡ M × ˙ T ⁡ b ⁡ n = 0 Y
69 22 66 68 syl2anc ⊢ N ∈ Fin ∧ R ∈ CRing ∧ M ∈ B ∧ s ∈ ℕ ∧ b ∈ B 0 … s → ∃ l ∈ ℕ 0 ∀ k ∈ ℕ 0 l < k → ⦋ k / n⦌ if n = 0 0 ˙ - ˙ T ⁡ M × ˙ T ⁡ b ⁡ 0 if n = s + 1 T ⁡ b ⁡ s if s + 1 < n 0 ˙ T ⁡ b ⁡ n − 1 - ˙ T ⁡ M × ˙ T ⁡ b ⁡ n = 0 Y
70 10 18 69 mptnn0fsupp ⊢ N ∈ Fin ∧ R ∈ CRing ∧ M ∈ B ∧ s ∈ ℕ ∧ b ∈ B 0 … s → finSupp 0 Y⁡ n ∈ ℕ 0 ⟼ if n = 0 0 ˙ - ˙ T ⁡ M × ˙ T ⁡ b ⁡ 0 if n = s + 1 T ⁡ b ⁡ s if s + 1 < n 0 ˙ T ⁡ b ⁡ n − 1 - ˙ T ⁡ M × ˙ T ⁡ b ⁡ n
71 9 70 eqbrtrid ⊢ N ∈ Fin ∧ R ∈ CRing ∧ M ∈ B ∧ s ∈ ℕ ∧ b ∈ B 0 … s → finSupp 0 Y⁡ G