Metamath Proof Explorer


Theorem pmatcollpwscmatlem1

Description: Lemma 1 for pmatcollpwscmat . (Contributed by AV, 2-Nov-2019) (Revised by AV, 4-Dec-2019)

Ref Expression
Hypotheses pmatcollpwscmat.p
|- P = ( Poly1 ` R )
pmatcollpwscmat.c
|- C = ( N Mat P )
pmatcollpwscmat.b
|- B = ( Base ` C )
pmatcollpwscmat.m1
|- .* = ( .s ` C )
pmatcollpwscmat.e1
|- .^ = ( .g ` ( mulGrp ` P ) )
pmatcollpwscmat.x
|- X = ( var1 ` R )
pmatcollpwscmat.t
|- T = ( N matToPolyMat R )
pmatcollpwscmat.a
|- A = ( N Mat R )
pmatcollpwscmat.d
|- D = ( Base ` A )
pmatcollpwscmat.u
|- U = ( algSc ` P )
pmatcollpwscmat.k
|- K = ( Base ` R )
pmatcollpwscmat.e2
|- E = ( Base ` P )
pmatcollpwscmat.s
|- S = ( algSc ` P )
pmatcollpwscmat.1
|- .1. = ( 1r ` C )
pmatcollpwscmat.m2
|- M = ( Q .* .1. )
Assertion pmatcollpwscmatlem1
|- ( ( ( ( N e. Fin /\ R e. Ring ) /\ ( L e. NN0 /\ Q e. E ) ) /\ ( a e. N /\ b e. N ) ) -> ( ( ( coe1 ` ( a M b ) ) ` L ) ( .s ` P ) ( 0 ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) = if ( a = b , ( U ` ( ( coe1 ` Q ) ` L ) ) , ( 0g ` P ) ) )

Proof

Step Hyp Ref Expression
1 pmatcollpwscmat.p
 |-  P = ( Poly1 ` R )
2 pmatcollpwscmat.c
 |-  C = ( N Mat P )
3 pmatcollpwscmat.b
 |-  B = ( Base ` C )
4 pmatcollpwscmat.m1
 |-  .* = ( .s ` C )
5 pmatcollpwscmat.e1
 |-  .^ = ( .g ` ( mulGrp ` P ) )
6 pmatcollpwscmat.x
 |-  X = ( var1 ` R )
7 pmatcollpwscmat.t
 |-  T = ( N matToPolyMat R )
8 pmatcollpwscmat.a
 |-  A = ( N Mat R )
9 pmatcollpwscmat.d
 |-  D = ( Base ` A )
10 pmatcollpwscmat.u
 |-  U = ( algSc ` P )
11 pmatcollpwscmat.k
 |-  K = ( Base ` R )
12 pmatcollpwscmat.e2
 |-  E = ( Base ` P )
13 pmatcollpwscmat.s
 |-  S = ( algSc ` P )
14 pmatcollpwscmat.1
 |-  .1. = ( 1r ` C )
15 pmatcollpwscmat.m2
 |-  M = ( Q .* .1. )
16 15 oveqi
 |-  ( a M b ) = ( a ( Q .* .1. ) b )
17 1 ply1ring
 |-  ( R e. Ring -> P e. Ring )
18 17 anim2i
 |-  ( ( N e. Fin /\ R e. Ring ) -> ( N e. Fin /\ P e. Ring ) )
19 simpr
 |-  ( ( L e. NN0 /\ Q e. E ) -> Q e. E )
20 18 19 anim12i
 |-  ( ( ( N e. Fin /\ R e. Ring ) /\ ( L e. NN0 /\ Q e. E ) ) -> ( ( N e. Fin /\ P e. Ring ) /\ Q e. E ) )
21 df-3an
 |-  ( ( N e. Fin /\ P e. Ring /\ Q e. E ) <-> ( ( N e. Fin /\ P e. Ring ) /\ Q e. E ) )
22 20 21 sylibr
 |-  ( ( ( N e. Fin /\ R e. Ring ) /\ ( L e. NN0 /\ Q e. E ) ) -> ( N e. Fin /\ P e. Ring /\ Q e. E ) )
23 eqid
 |-  ( 0g ` P ) = ( 0g ` P )
24 2 12 23 14 4 scmatscmide
 |-  ( ( ( N e. Fin /\ P e. Ring /\ Q e. E ) /\ ( a e. N /\ b e. N ) ) -> ( a ( Q .* .1. ) b ) = if ( a = b , Q , ( 0g ` P ) ) )
25 22 24 sylan
 |-  ( ( ( ( N e. Fin /\ R e. Ring ) /\ ( L e. NN0 /\ Q e. E ) ) /\ ( a e. N /\ b e. N ) ) -> ( a ( Q .* .1. ) b ) = if ( a = b , Q , ( 0g ` P ) ) )
26 16 25 eqtrid
 |-  ( ( ( ( N e. Fin /\ R e. Ring ) /\ ( L e. NN0 /\ Q e. E ) ) /\ ( a e. N /\ b e. N ) ) -> ( a M b ) = if ( a = b , Q , ( 0g ` P ) ) )
27 26 fveq2d
 |-  ( ( ( ( N e. Fin /\ R e. Ring ) /\ ( L e. NN0 /\ Q e. E ) ) /\ ( a e. N /\ b e. N ) ) -> ( coe1 ` ( a M b ) ) = ( coe1 ` if ( a = b , Q , ( 0g ` P ) ) ) )
28 27 fveq1d
 |-  ( ( ( ( N e. Fin /\ R e. Ring ) /\ ( L e. NN0 /\ Q e. E ) ) /\ ( a e. N /\ b e. N ) ) -> ( ( coe1 ` ( a M b ) ) ` L ) = ( ( coe1 ` if ( a = b , Q , ( 0g ` P ) ) ) ` L ) )
29 fvif
 |-  ( coe1 ` if ( a = b , Q , ( 0g ` P ) ) ) = if ( a = b , ( coe1 ` Q ) , ( coe1 ` ( 0g ` P ) ) )
30 29 fveq1i
 |-  ( ( coe1 ` if ( a = b , Q , ( 0g ` P ) ) ) ` L ) = ( if ( a = b , ( coe1 ` Q ) , ( coe1 ` ( 0g ` P ) ) ) ` L )
31 iffv
 |-  ( if ( a = b , ( coe1 ` Q ) , ( coe1 ` ( 0g ` P ) ) ) ` L ) = if ( a = b , ( ( coe1 ` Q ) ` L ) , ( ( coe1 ` ( 0g ` P ) ) ` L ) )
32 30 31 eqtri
 |-  ( ( coe1 ` if ( a = b , Q , ( 0g ` P ) ) ) ` L ) = if ( a = b , ( ( coe1 ` Q ) ` L ) , ( ( coe1 ` ( 0g ` P ) ) ` L ) )
33 28 32 eqtrdi
 |-  ( ( ( ( N e. Fin /\ R e. Ring ) /\ ( L e. NN0 /\ Q e. E ) ) /\ ( a e. N /\ b e. N ) ) -> ( ( coe1 ` ( a M b ) ) ` L ) = if ( a = b , ( ( coe1 ` Q ) ` L ) , ( ( coe1 ` ( 0g ` P ) ) ` L ) ) )
34 33 oveq1d
 |-  ( ( ( ( N e. Fin /\ R e. Ring ) /\ ( L e. NN0 /\ Q e. E ) ) /\ ( a e. N /\ b e. N ) ) -> ( ( ( coe1 ` ( a M b ) ) ` L ) ( .s ` P ) ( 0 ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) = ( if ( a = b , ( ( coe1 ` Q ) ` L ) , ( ( coe1 ` ( 0g ` P ) ) ` L ) ) ( .s ` P ) ( 0 ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) )
35 ovif
 |-  ( if ( a = b , ( ( coe1 ` Q ) ` L ) , ( ( coe1 ` ( 0g ` P ) ) ` L ) ) ( .s ` P ) ( 0 ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) = if ( a = b , ( ( ( coe1 ` Q ) ` L ) ( .s ` P ) ( 0 ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) , ( ( ( coe1 ` ( 0g ` P ) ) ` L ) ( .s ` P ) ( 0 ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) )
36 eqid
 |-  ( 0g ` R ) = ( 0g ` R )
37 1 23 36 coe1z
 |-  ( R e. Ring -> ( coe1 ` ( 0g ` P ) ) = ( NN0 X. { ( 0g ` R ) } ) )
38 37 ad2antlr
 |-  ( ( ( N e. Fin /\ R e. Ring ) /\ ( L e. NN0 /\ Q e. E ) ) -> ( coe1 ` ( 0g ` P ) ) = ( NN0 X. { ( 0g ` R ) } ) )
39 38 fveq1d
 |-  ( ( ( N e. Fin /\ R e. Ring ) /\ ( L e. NN0 /\ Q e. E ) ) -> ( ( coe1 ` ( 0g ` P ) ) ` L ) = ( ( NN0 X. { ( 0g ` R ) } ) ` L ) )
40 fvexd
 |-  ( ( N e. Fin /\ R e. Ring ) -> ( 0g ` R ) e. _V )
41 simpl
 |-  ( ( L e. NN0 /\ Q e. E ) -> L e. NN0 )
42 40 41 anim12i
 |-  ( ( ( N e. Fin /\ R e. Ring ) /\ ( L e. NN0 /\ Q e. E ) ) -> ( ( 0g ` R ) e. _V /\ L e. NN0 ) )
43 fvconst2g
 |-  ( ( ( 0g ` R ) e. _V /\ L e. NN0 ) -> ( ( NN0 X. { ( 0g ` R ) } ) ` L ) = ( 0g ` R ) )
44 42 43 syl
 |-  ( ( ( N e. Fin /\ R e. Ring ) /\ ( L e. NN0 /\ Q e. E ) ) -> ( ( NN0 X. { ( 0g ` R ) } ) ` L ) = ( 0g ` R ) )
45 39 44 eqtrd
 |-  ( ( ( N e. Fin /\ R e. Ring ) /\ ( L e. NN0 /\ Q e. E ) ) -> ( ( coe1 ` ( 0g ` P ) ) ` L ) = ( 0g ` R ) )
46 45 oveq1d
 |-  ( ( ( N e. Fin /\ R e. Ring ) /\ ( L e. NN0 /\ Q e. E ) ) -> ( ( ( coe1 ` ( 0g ` P ) ) ` L ) ( .s ` P ) ( 0 ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) = ( ( 0g ` R ) ( .s ` P ) ( 0 ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) )
47 1 ply1lmod
 |-  ( R e. Ring -> P e. LMod )
48 47 ad2antlr
 |-  ( ( ( N e. Fin /\ R e. Ring ) /\ ( L e. NN0 /\ Q e. E ) ) -> P e. LMod )
49 eqid
 |-  ( mulGrp ` P ) = ( mulGrp ` P )
50 49 ringmgp
 |-  ( P e. Ring -> ( mulGrp ` P ) e. Mnd )
51 17 50 syl
 |-  ( R e. Ring -> ( mulGrp ` P ) e. Mnd )
52 0nn0
 |-  0 e. NN0
53 52 a1i
 |-  ( R e. Ring -> 0 e. NN0 )
54 eqid
 |-  ( var1 ` R ) = ( var1 ` R )
55 54 1 12 vr1cl
 |-  ( R e. Ring -> ( var1 ` R ) e. E )
56 49 12 mgpbas
 |-  E = ( Base ` ( mulGrp ` P ) )
57 eqid
 |-  ( .g ` ( mulGrp ` P ) ) = ( .g ` ( mulGrp ` P ) )
58 56 57 mulgnn0cl
 |-  ( ( ( mulGrp ` P ) e. Mnd /\ 0 e. NN0 /\ ( var1 ` R ) e. E ) -> ( 0 ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) e. E )
59 51 53 55 58 syl3anc
 |-  ( R e. Ring -> ( 0 ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) e. E )
60 59 ad2antlr
 |-  ( ( ( N e. Fin /\ R e. Ring ) /\ ( L e. NN0 /\ Q e. E ) ) -> ( 0 ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) e. E )
61 eqid
 |-  ( Scalar ` P ) = ( Scalar ` P )
62 eqid
 |-  ( .s ` P ) = ( .s ` P )
63 eqid
 |-  ( 0g ` ( Scalar ` P ) ) = ( 0g ` ( Scalar ` P ) )
64 12 61 62 63 23 lmod0vs
 |-  ( ( P e. LMod /\ ( 0 ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) e. E ) -> ( ( 0g ` ( Scalar ` P ) ) ( .s ` P ) ( 0 ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) = ( 0g ` P ) )
65 48 60 64 syl2anc
 |-  ( ( ( N e. Fin /\ R e. Ring ) /\ ( L e. NN0 /\ Q e. E ) ) -> ( ( 0g ` ( Scalar ` P ) ) ( .s ` P ) ( 0 ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) = ( 0g ` P ) )
66 1 ply1sca
 |-  ( R e. Ring -> R = ( Scalar ` P ) )
67 66 adantl
 |-  ( ( N e. Fin /\ R e. Ring ) -> R = ( Scalar ` P ) )
68 67 fveq2d
 |-  ( ( N e. Fin /\ R e. Ring ) -> ( 0g ` R ) = ( 0g ` ( Scalar ` P ) ) )
69 68 oveq1d
 |-  ( ( N e. Fin /\ R e. Ring ) -> ( ( 0g ` R ) ( .s ` P ) ( 0 ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) = ( ( 0g ` ( Scalar ` P ) ) ( .s ` P ) ( 0 ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) )
70 69 eqeq1d
 |-  ( ( N e. Fin /\ R e. Ring ) -> ( ( ( 0g ` R ) ( .s ` P ) ( 0 ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) = ( 0g ` P ) <-> ( ( 0g ` ( Scalar ` P ) ) ( .s ` P ) ( 0 ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) = ( 0g ` P ) ) )
71 70 adantr
 |-  ( ( ( N e. Fin /\ R e. Ring ) /\ ( L e. NN0 /\ Q e. E ) ) -> ( ( ( 0g ` R ) ( .s ` P ) ( 0 ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) = ( 0g ` P ) <-> ( ( 0g ` ( Scalar ` P ) ) ( .s ` P ) ( 0 ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) = ( 0g ` P ) ) )
72 65 71 mpbird
 |-  ( ( ( N e. Fin /\ R e. Ring ) /\ ( L e. NN0 /\ Q e. E ) ) -> ( ( 0g ` R ) ( .s ` P ) ( 0 ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) = ( 0g ` P ) )
73 46 72 eqtrd
 |-  ( ( ( N e. Fin /\ R e. Ring ) /\ ( L e. NN0 /\ Q e. E ) ) -> ( ( ( coe1 ` ( 0g ` P ) ) ` L ) ( .s ` P ) ( 0 ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) = ( 0g ` P ) )
74 73 ifeq2d
 |-  ( ( ( N e. Fin /\ R e. Ring ) /\ ( L e. NN0 /\ Q e. E ) ) -> if ( a = b , ( ( ( coe1 ` Q ) ` L ) ( .s ` P ) ( 0 ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) , ( ( ( coe1 ` ( 0g ` P ) ) ` L ) ( .s ` P ) ( 0 ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) ) = if ( a = b , ( ( ( coe1 ` Q ) ` L ) ( .s ` P ) ( 0 ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) , ( 0g ` P ) ) )
75 74 adantr
 |-  ( ( ( ( N e. Fin /\ R e. Ring ) /\ ( L e. NN0 /\ Q e. E ) ) /\ ( a e. N /\ b e. N ) ) -> if ( a = b , ( ( ( coe1 ` Q ) ` L ) ( .s ` P ) ( 0 ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) , ( ( ( coe1 ` ( 0g ` P ) ) ` L ) ( .s ` P ) ( 0 ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) ) = if ( a = b , ( ( ( coe1 ` Q ) ` L ) ( .s ` P ) ( 0 ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) , ( 0g ` P ) ) )
76 35 75 eqtrid
 |-  ( ( ( ( N e. Fin /\ R e. Ring ) /\ ( L e. NN0 /\ Q e. E ) ) /\ ( a e. N /\ b e. N ) ) -> ( if ( a = b , ( ( coe1 ` Q ) ` L ) , ( ( coe1 ` ( 0g ` P ) ) ` L ) ) ( .s ` P ) ( 0 ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) = if ( a = b , ( ( ( coe1 ` Q ) ` L ) ( .s ` P ) ( 0 ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) , ( 0g ` P ) ) )
77 simpr
 |-  ( ( ( N e. Fin /\ R e. Ring ) /\ ( L e. NN0 /\ Q e. E ) ) -> ( L e. NN0 /\ Q e. E ) )
78 77 ancomd
 |-  ( ( ( N e. Fin /\ R e. Ring ) /\ ( L e. NN0 /\ Q e. E ) ) -> ( Q e. E /\ L e. NN0 ) )
79 eqid
 |-  ( coe1 ` Q ) = ( coe1 ` Q )
80 79 12 1 11 coe1fvalcl
 |-  ( ( Q e. E /\ L e. NN0 ) -> ( ( coe1 ` Q ) ` L ) e. K )
81 78 80 syl
 |-  ( ( ( N e. Fin /\ R e. Ring ) /\ ( L e. NN0 /\ Q e. E ) ) -> ( ( coe1 ` Q ) ` L ) e. K )
82 66 eqcomd
 |-  ( R e. Ring -> ( Scalar ` P ) = R )
83 82 adantl
 |-  ( ( N e. Fin /\ R e. Ring ) -> ( Scalar ` P ) = R )
84 83 fveq2d
 |-  ( ( N e. Fin /\ R e. Ring ) -> ( Base ` ( Scalar ` P ) ) = ( Base ` R ) )
85 84 11 eqtr4di
 |-  ( ( N e. Fin /\ R e. Ring ) -> ( Base ` ( Scalar ` P ) ) = K )
86 85 eleq2d
 |-  ( ( N e. Fin /\ R e. Ring ) -> ( ( ( coe1 ` Q ) ` L ) e. ( Base ` ( Scalar ` P ) ) <-> ( ( coe1 ` Q ) ` L ) e. K ) )
87 86 adantr
 |-  ( ( ( N e. Fin /\ R e. Ring ) /\ ( L e. NN0 /\ Q e. E ) ) -> ( ( ( coe1 ` Q ) ` L ) e. ( Base ` ( Scalar ` P ) ) <-> ( ( coe1 ` Q ) ` L ) e. K ) )
88 81 87 mpbird
 |-  ( ( ( N e. Fin /\ R e. Ring ) /\ ( L e. NN0 /\ Q e. E ) ) -> ( ( coe1 ` Q ) ` L ) e. ( Base ` ( Scalar ` P ) ) )
89 eqid
 |-  ( Base ` ( Scalar ` P ) ) = ( Base ` ( Scalar ` P ) )
90 eqid
 |-  ( 1r ` P ) = ( 1r ` P )
91 10 61 89 62 90 asclval
 |-  ( ( ( coe1 ` Q ) ` L ) e. ( Base ` ( Scalar ` P ) ) -> ( U ` ( ( coe1 ` Q ) ` L ) ) = ( ( ( coe1 ` Q ) ` L ) ( .s ` P ) ( 1r ` P ) ) )
92 88 91 syl
 |-  ( ( ( N e. Fin /\ R e. Ring ) /\ ( L e. NN0 /\ Q e. E ) ) -> ( U ` ( ( coe1 ` Q ) ` L ) ) = ( ( ( coe1 ` Q ) ` L ) ( .s ` P ) ( 1r ` P ) ) )
93 1 54 49 57 ply1idvr1
 |-  ( R e. Ring -> ( 0 ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) = ( 1r ` P ) )
94 93 eqcomd
 |-  ( R e. Ring -> ( 1r ` P ) = ( 0 ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) )
95 94 ad2antlr
 |-  ( ( ( N e. Fin /\ R e. Ring ) /\ ( L e. NN0 /\ Q e. E ) ) -> ( 1r ` P ) = ( 0 ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) )
96 95 oveq2d
 |-  ( ( ( N e. Fin /\ R e. Ring ) /\ ( L e. NN0 /\ Q e. E ) ) -> ( ( ( coe1 ` Q ) ` L ) ( .s ` P ) ( 1r ` P ) ) = ( ( ( coe1 ` Q ) ` L ) ( .s ` P ) ( 0 ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) )
97 92 96 eqtr2d
 |-  ( ( ( N e. Fin /\ R e. Ring ) /\ ( L e. NN0 /\ Q e. E ) ) -> ( ( ( coe1 ` Q ) ` L ) ( .s ` P ) ( 0 ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) = ( U ` ( ( coe1 ` Q ) ` L ) ) )
98 97 ifeq1d
 |-  ( ( ( N e. Fin /\ R e. Ring ) /\ ( L e. NN0 /\ Q e. E ) ) -> if ( a = b , ( ( ( coe1 ` Q ) ` L ) ( .s ` P ) ( 0 ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) , ( 0g ` P ) ) = if ( a = b , ( U ` ( ( coe1 ` Q ) ` L ) ) , ( 0g ` P ) ) )
99 98 adantr
 |-  ( ( ( ( N e. Fin /\ R e. Ring ) /\ ( L e. NN0 /\ Q e. E ) ) /\ ( a e. N /\ b e. N ) ) -> if ( a = b , ( ( ( coe1 ` Q ) ` L ) ( .s ` P ) ( 0 ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) , ( 0g ` P ) ) = if ( a = b , ( U ` ( ( coe1 ` Q ) ` L ) ) , ( 0g ` P ) ) )
100 34 76 99 3eqtrd
 |-  ( ( ( ( N e. Fin /\ R e. Ring ) /\ ( L e. NN0 /\ Q e. E ) ) /\ ( a e. N /\ b e. N ) ) -> ( ( ( coe1 ` ( a M b ) ) ` L ) ( .s ` P ) ( 0 ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) = if ( a = b , ( U ` ( ( coe1 ` Q ) ` L ) ) , ( 0g ` P ) ) )