Metamath Proof Explorer


Theorem cpmadumatpolylem2

Description: Lemma 2 for cpmadumatpoly . (Contributed by AV, 20-Nov-2019) (Revised by AV, 15-Dec-2019)

Ref Expression
Hypotheses cpmadumatpoly.a 𝐴 = ( 𝑁 Mat 𝑅 )
cpmadumatpoly.b 𝐵 = ( Base ‘ 𝐴 )
cpmadumatpoly.p 𝑃 = ( Poly1𝑅 )
cpmadumatpoly.y 𝑌 = ( 𝑁 Mat 𝑃 )
cpmadumatpoly.t 𝑇 = ( 𝑁 matToPolyMat 𝑅 )
cpmadumatpoly.r × = ( .r𝑌 )
cpmadumatpoly.m0 = ( -g𝑌 )
cpmadumatpoly.0 0 = ( 0g𝑌 )
cpmadumatpoly.g 𝐺 = ( 𝑛 ∈ ℕ0 ↦ if ( 𝑛 = 0 , ( 0 ( ( 𝑇𝑀 ) × ( 𝑇 ‘ ( 𝑏 ‘ 0 ) ) ) ) , if ( 𝑛 = ( 𝑠 + 1 ) , ( 𝑇 ‘ ( 𝑏𝑠 ) ) , if ( ( 𝑠 + 1 ) < 𝑛 , 0 , ( ( 𝑇 ‘ ( 𝑏 ‘ ( 𝑛 − 1 ) ) ) ( ( 𝑇𝑀 ) × ( 𝑇 ‘ ( 𝑏𝑛 ) ) ) ) ) ) ) )
cpmadumatpoly.s 𝑆 = ( 𝑁 ConstPolyMat 𝑅 )
cpmadumatpoly.m1 · = ( ·𝑠𝑌 )
cpmadumatpoly.1 1 = ( 1r𝑌 )
cpmadumatpoly.z 𝑍 = ( var1𝑅 )
cpmadumatpoly.d 𝐷 = ( ( 𝑍 · 1 ) ( 𝑇𝑀 ) )
cpmadumatpoly.j 𝐽 = ( 𝑁 maAdju 𝑃 )
cpmadumatpoly.w 𝑊 = ( Base ‘ 𝑌 )
cpmadumatpoly.q 𝑄 = ( Poly1𝐴 )
cpmadumatpoly.x 𝑋 = ( var1𝐴 )
cpmadumatpoly.m2 = ( ·𝑠𝑄 )
cpmadumatpoly.e = ( .g ‘ ( mulGrp ‘ 𝑄 ) )
cpmadumatpoly.u 𝑈 = ( 𝑁 cPolyMatToMat 𝑅 )
Assertion cpmadumatpolylem2 ( ( ( ( 𝑁 ∈ Fin ∧ 𝑅 ∈ CRing ∧ 𝑀𝐵 ) ∧ 𝑠 ∈ ℕ ) ∧ 𝑏 ∈ ( 𝐵m ( 0 ... 𝑠 ) ) ) → ( 𝑈𝐺 ) finSupp ( 0g𝐴 ) )

Proof

Step Hyp Ref Expression
1 cpmadumatpoly.a 𝐴 = ( 𝑁 Mat 𝑅 )
2 cpmadumatpoly.b 𝐵 = ( Base ‘ 𝐴 )
3 cpmadumatpoly.p 𝑃 = ( Poly1𝑅 )
4 cpmadumatpoly.y 𝑌 = ( 𝑁 Mat 𝑃 )
5 cpmadumatpoly.t 𝑇 = ( 𝑁 matToPolyMat 𝑅 )
6 cpmadumatpoly.r × = ( .r𝑌 )
7 cpmadumatpoly.m0 = ( -g𝑌 )
8 cpmadumatpoly.0 0 = ( 0g𝑌 )
9 cpmadumatpoly.g 𝐺 = ( 𝑛 ∈ ℕ0 ↦ if ( 𝑛 = 0 , ( 0 ( ( 𝑇𝑀 ) × ( 𝑇 ‘ ( 𝑏 ‘ 0 ) ) ) ) , if ( 𝑛 = ( 𝑠 + 1 ) , ( 𝑇 ‘ ( 𝑏𝑠 ) ) , if ( ( 𝑠 + 1 ) < 𝑛 , 0 , ( ( 𝑇 ‘ ( 𝑏 ‘ ( 𝑛 − 1 ) ) ) ( ( 𝑇𝑀 ) × ( 𝑇 ‘ ( 𝑏𝑛 ) ) ) ) ) ) ) )
10 cpmadumatpoly.s 𝑆 = ( 𝑁 ConstPolyMat 𝑅 )
11 cpmadumatpoly.m1 · = ( ·𝑠𝑌 )
12 cpmadumatpoly.1 1 = ( 1r𝑌 )
13 cpmadumatpoly.z 𝑍 = ( var1𝑅 )
14 cpmadumatpoly.d 𝐷 = ( ( 𝑍 · 1 ) ( 𝑇𝑀 ) )
15 cpmadumatpoly.j 𝐽 = ( 𝑁 maAdju 𝑃 )
16 cpmadumatpoly.w 𝑊 = ( Base ‘ 𝑌 )
17 cpmadumatpoly.q 𝑄 = ( Poly1𝐴 )
18 cpmadumatpoly.x 𝑋 = ( var1𝐴 )
19 cpmadumatpoly.m2 = ( ·𝑠𝑄 )
20 cpmadumatpoly.e = ( .g ‘ ( mulGrp ‘ 𝑄 ) )
21 cpmadumatpoly.u 𝑈 = ( 𝑁 cPolyMatToMat 𝑅 )
22 fvexd ( ( ( ( 𝑁 ∈ Fin ∧ 𝑅 ∈ CRing ∧ 𝑀𝐵 ) ∧ 𝑠 ∈ ℕ ) ∧ 𝑏 ∈ ( 𝐵m ( 0 ... 𝑠 ) ) ) → ( 0g𝐴 ) ∈ V )
23 crngring ( 𝑅 ∈ CRing → 𝑅 ∈ Ring )
24 23 anim2i ( ( 𝑁 ∈ Fin ∧ 𝑅 ∈ CRing ) → ( 𝑁 ∈ Fin ∧ 𝑅 ∈ Ring ) )
25 24 3adant3 ( ( 𝑁 ∈ Fin ∧ 𝑅 ∈ CRing ∧ 𝑀𝐵 ) → ( 𝑁 ∈ Fin ∧ 𝑅 ∈ Ring ) )
26 25 ad2antrr ( ( ( ( 𝑁 ∈ Fin ∧ 𝑅 ∈ CRing ∧ 𝑀𝐵 ) ∧ 𝑠 ∈ ℕ ) ∧ 𝑏 ∈ ( 𝐵m ( 0 ... 𝑠 ) ) ) → ( 𝑁 ∈ Fin ∧ 𝑅 ∈ Ring ) )
27 10 3 4 0elcpmat ( ( 𝑁 ∈ Fin ∧ 𝑅 ∈ Ring ) → ( 0g𝑌 ) ∈ 𝑆 )
28 26 27 syl ( ( ( ( 𝑁 ∈ Fin ∧ 𝑅 ∈ CRing ∧ 𝑀𝐵 ) ∧ 𝑠 ∈ ℕ ) ∧ 𝑏 ∈ ( 𝐵m ( 0 ... 𝑠 ) ) ) → ( 0g𝑌 ) ∈ 𝑆 )
29 1 2 3 4 6 7 8 5 9 10 chfacfisfcpmat ( ( ( 𝑁 ∈ Fin ∧ 𝑅 ∈ Ring ∧ 𝑀𝐵 ) ∧ ( 𝑠 ∈ ℕ ∧ 𝑏 ∈ ( 𝐵m ( 0 ... 𝑠 ) ) ) ) → 𝐺 : ℕ0𝑆 )
30 23 29 syl3anl2 ( ( ( 𝑁 ∈ Fin ∧ 𝑅 ∈ CRing ∧ 𝑀𝐵 ) ∧ ( 𝑠 ∈ ℕ ∧ 𝑏 ∈ ( 𝐵m ( 0 ... 𝑠 ) ) ) ) → 𝐺 : ℕ0𝑆 )
31 30 anassrs ( ( ( ( 𝑁 ∈ Fin ∧ 𝑅 ∈ CRing ∧ 𝑀𝐵 ) ∧ 𝑠 ∈ ℕ ) ∧ 𝑏 ∈ ( 𝐵m ( 0 ... 𝑠 ) ) ) → 𝐺 : ℕ0𝑆 )
32 1 2 10 21 cpm2mf ( ( 𝑁 ∈ Fin ∧ 𝑅 ∈ Ring ) → 𝑈 : 𝑆𝐵 )
33 26 32 syl ( ( ( ( 𝑁 ∈ Fin ∧ 𝑅 ∈ CRing ∧ 𝑀𝐵 ) ∧ 𝑠 ∈ ℕ ) ∧ 𝑏 ∈ ( 𝐵m ( 0 ... 𝑠 ) ) ) → 𝑈 : 𝑆𝐵 )
34 ssidd ( ( ( ( 𝑁 ∈ Fin ∧ 𝑅 ∈ CRing ∧ 𝑀𝐵 ) ∧ 𝑠 ∈ ℕ ) ∧ 𝑏 ∈ ( 𝐵m ( 0 ... 𝑠 ) ) ) → 𝑆𝑆 )
35 nn0ex 0 ∈ V
36 35 a1i ( ( ( ( 𝑁 ∈ Fin ∧ 𝑅 ∈ CRing ∧ 𝑀𝐵 ) ∧ 𝑠 ∈ ℕ ) ∧ 𝑏 ∈ ( 𝐵m ( 0 ... 𝑠 ) ) ) → ℕ0 ∈ V )
37 10 ovexi 𝑆 ∈ V
38 37 a1i ( ( ( ( 𝑁 ∈ Fin ∧ 𝑅 ∈ CRing ∧ 𝑀𝐵 ) ∧ 𝑠 ∈ ℕ ) ∧ 𝑏 ∈ ( 𝐵m ( 0 ... 𝑠 ) ) ) → 𝑆 ∈ V )
39 1 2 3 4 6 7 8 5 9 chfacffsupp ( ( ( 𝑁 ∈ Fin ∧ 𝑅 ∈ CRing ∧ 𝑀𝐵 ) ∧ ( 𝑠 ∈ ℕ ∧ 𝑏 ∈ ( 𝐵m ( 0 ... 𝑠 ) ) ) ) → 𝐺 finSupp ( 0g𝑌 ) )
40 39 anassrs ( ( ( ( 𝑁 ∈ Fin ∧ 𝑅 ∈ CRing ∧ 𝑀𝐵 ) ∧ 𝑠 ∈ ℕ ) ∧ 𝑏 ∈ ( 𝐵m ( 0 ... 𝑠 ) ) ) → 𝐺 finSupp ( 0g𝑌 ) )
41 eqid ( 0g𝐴 ) = ( 0g𝐴 )
42 eqid ( 0g𝑌 ) = ( 0g𝑌 )
43 1 21 3 4 41 42 m2cpminv0 ( ( 𝑁 ∈ Fin ∧ 𝑅 ∈ Ring ) → ( 𝑈 ‘ ( 0g𝑌 ) ) = ( 0g𝐴 ) )
44 23 43 sylan2 ( ( 𝑁 ∈ Fin ∧ 𝑅 ∈ CRing ) → ( 𝑈 ‘ ( 0g𝑌 ) ) = ( 0g𝐴 ) )
45 44 3adant3 ( ( 𝑁 ∈ Fin ∧ 𝑅 ∈ CRing ∧ 𝑀𝐵 ) → ( 𝑈 ‘ ( 0g𝑌 ) ) = ( 0g𝐴 ) )
46 45 ad2antrr ( ( ( ( 𝑁 ∈ Fin ∧ 𝑅 ∈ CRing ∧ 𝑀𝐵 ) ∧ 𝑠 ∈ ℕ ) ∧ 𝑏 ∈ ( 𝐵m ( 0 ... 𝑠 ) ) ) → ( 𝑈 ‘ ( 0g𝑌 ) ) = ( 0g𝐴 ) )
47 22 28 31 33 34 36 38 40 46 fsuppcor ( ( ( ( 𝑁 ∈ Fin ∧ 𝑅 ∈ CRing ∧ 𝑀𝐵 ) ∧ 𝑠 ∈ ℕ ) ∧ 𝑏 ∈ ( 𝐵m ( 0 ... 𝑠 ) ) ) → ( 𝑈𝐺 ) finSupp ( 0g𝐴 ) )