Metamath Proof Explorer


Theorem mamuvs2

Description: Matrix multiplication distributes over scalar multiplication on the left. (Contributed by Stefan O'Rear, 5-Sep-2015) (Proof shortened by AV, 22-Jul-2019)

Ref Expression
Hypotheses mamuvs2.r
|- ( ph -> R e. CRing )
mamuvs2.b
|- B = ( Base ` R )
mamuvs2.t
|- .x. = ( .r ` R )
mamuvs2.f
|- F = ( R maMul <. M , N , O >. )
mamuvs2.m
|- ( ph -> M e. Fin )
mamuvs2.n
|- ( ph -> N e. Fin )
mamuvs2.o
|- ( ph -> O e. Fin )
mamuvs2.x
|- ( ph -> X e. ( B ^m ( M X. N ) ) )
mamuvs2.y
|- ( ph -> Y e. B )
mamuvs2.z
|- ( ph -> Z e. ( B ^m ( N X. O ) ) )
Assertion mamuvs2
|- ( ph -> ( X F ( ( ( N X. O ) X. { Y } ) oF .x. Z ) ) = ( ( ( M X. O ) X. { Y } ) oF .x. ( X F Z ) ) )

Proof

Step Hyp Ref Expression
1 mamuvs2.r
 |-  ( ph -> R e. CRing )
2 mamuvs2.b
 |-  B = ( Base ` R )
3 mamuvs2.t
 |-  .x. = ( .r ` R )
4 mamuvs2.f
 |-  F = ( R maMul <. M , N , O >. )
5 mamuvs2.m
 |-  ( ph -> M e. Fin )
6 mamuvs2.n
 |-  ( ph -> N e. Fin )
7 mamuvs2.o
 |-  ( ph -> O e. Fin )
8 mamuvs2.x
 |-  ( ph -> X e. ( B ^m ( M X. N ) ) )
9 mamuvs2.y
 |-  ( ph -> Y e. B )
10 mamuvs2.z
 |-  ( ph -> Z e. ( B ^m ( N X. O ) ) )
11 df-ov
 |-  ( j ( ( ( N X. O ) X. { Y } ) oF .x. Z ) k ) = ( ( ( ( N X. O ) X. { Y } ) oF .x. Z ) ` <. j , k >. )
12 simpr
 |-  ( ( ( ph /\ ( i e. M /\ k e. O ) ) /\ j e. N ) -> j e. N )
13 simplrr
 |-  ( ( ( ph /\ ( i e. M /\ k e. O ) ) /\ j e. N ) -> k e. O )
14 opelxpi
 |-  ( ( j e. N /\ k e. O ) -> <. j , k >. e. ( N X. O ) )
15 12 13 14 syl2anc
 |-  ( ( ( ph /\ ( i e. M /\ k e. O ) ) /\ j e. N ) -> <. j , k >. e. ( N X. O ) )
16 xpfi
 |-  ( ( N e. Fin /\ O e. Fin ) -> ( N X. O ) e. Fin )
17 6 7 16 syl2anc
 |-  ( ph -> ( N X. O ) e. Fin )
18 17 ad2antrr
 |-  ( ( ( ph /\ ( i e. M /\ k e. O ) ) /\ j e. N ) -> ( N X. O ) e. Fin )
19 9 ad2antrr
 |-  ( ( ( ph /\ ( i e. M /\ k e. O ) ) /\ j e. N ) -> Y e. B )
20 elmapi
 |-  ( Z e. ( B ^m ( N X. O ) ) -> Z : ( N X. O ) --> B )
21 ffn
 |-  ( Z : ( N X. O ) --> B -> Z Fn ( N X. O ) )
22 10 20 21 3syl
 |-  ( ph -> Z Fn ( N X. O ) )
23 22 ad2antrr
 |-  ( ( ( ph /\ ( i e. M /\ k e. O ) ) /\ j e. N ) -> Z Fn ( N X. O ) )
24 df-ov
 |-  ( j Z k ) = ( Z ` <. j , k >. )
25 24 eqcomi
 |-  ( Z ` <. j , k >. ) = ( j Z k )
26 25 a1i
 |-  ( ( ( ( ph /\ ( i e. M /\ k e. O ) ) /\ j e. N ) /\ <. j , k >. e. ( N X. O ) ) -> ( Z ` <. j , k >. ) = ( j Z k ) )
27 18 19 23 26 ofc1
 |-  ( ( ( ( ph /\ ( i e. M /\ k e. O ) ) /\ j e. N ) /\ <. j , k >. e. ( N X. O ) ) -> ( ( ( ( N X. O ) X. { Y } ) oF .x. Z ) ` <. j , k >. ) = ( Y .x. ( j Z k ) ) )
28 15 27 mpdan
 |-  ( ( ( ph /\ ( i e. M /\ k e. O ) ) /\ j e. N ) -> ( ( ( ( N X. O ) X. { Y } ) oF .x. Z ) ` <. j , k >. ) = ( Y .x. ( j Z k ) ) )
29 11 28 eqtrid
 |-  ( ( ( ph /\ ( i e. M /\ k e. O ) ) /\ j e. N ) -> ( j ( ( ( N X. O ) X. { Y } ) oF .x. Z ) k ) = ( Y .x. ( j Z k ) ) )
30 29 oveq2d
 |-  ( ( ( ph /\ ( i e. M /\ k e. O ) ) /\ j e. N ) -> ( ( i X j ) .x. ( j ( ( ( N X. O ) X. { Y } ) oF .x. Z ) k ) ) = ( ( i X j ) .x. ( Y .x. ( j Z k ) ) ) )
31 eqid
 |-  ( mulGrp ` R ) = ( mulGrp ` R )
32 31 crngmgp
 |-  ( R e. CRing -> ( mulGrp ` R ) e. CMnd )
33 1 32 syl
 |-  ( ph -> ( mulGrp ` R ) e. CMnd )
34 33 ad2antrr
 |-  ( ( ( ph /\ ( i e. M /\ k e. O ) ) /\ j e. N ) -> ( mulGrp ` R ) e. CMnd )
35 elmapi
 |-  ( X e. ( B ^m ( M X. N ) ) -> X : ( M X. N ) --> B )
36 8 35 syl
 |-  ( ph -> X : ( M X. N ) --> B )
37 36 ad2antrr
 |-  ( ( ( ph /\ ( i e. M /\ k e. O ) ) /\ j e. N ) -> X : ( M X. N ) --> B )
38 simplrl
 |-  ( ( ( ph /\ ( i e. M /\ k e. O ) ) /\ j e. N ) -> i e. M )
39 37 38 12 fovcdmd
 |-  ( ( ( ph /\ ( i e. M /\ k e. O ) ) /\ j e. N ) -> ( i X j ) e. B )
40 10 20 syl
 |-  ( ph -> Z : ( N X. O ) --> B )
41 40 ad2antrr
 |-  ( ( ( ph /\ ( i e. M /\ k e. O ) ) /\ j e. N ) -> Z : ( N X. O ) --> B )
42 41 12 13 fovcdmd
 |-  ( ( ( ph /\ ( i e. M /\ k e. O ) ) /\ j e. N ) -> ( j Z k ) e. B )
43 31 2 mgpbas
 |-  B = ( Base ` ( mulGrp ` R ) )
44 31 3 mgpplusg
 |-  .x. = ( +g ` ( mulGrp ` R ) )
45 43 44 cmn12
 |-  ( ( ( mulGrp ` R ) e. CMnd /\ ( ( i X j ) e. B /\ Y e. B /\ ( j Z k ) e. B ) ) -> ( ( i X j ) .x. ( Y .x. ( j Z k ) ) ) = ( Y .x. ( ( i X j ) .x. ( j Z k ) ) ) )
46 34 39 19 42 45 syl13anc
 |-  ( ( ( ph /\ ( i e. M /\ k e. O ) ) /\ j e. N ) -> ( ( i X j ) .x. ( Y .x. ( j Z k ) ) ) = ( Y .x. ( ( i X j ) .x. ( j Z k ) ) ) )
47 30 46 eqtrd
 |-  ( ( ( ph /\ ( i e. M /\ k e. O ) ) /\ j e. N ) -> ( ( i X j ) .x. ( j ( ( ( N X. O ) X. { Y } ) oF .x. Z ) k ) ) = ( Y .x. ( ( i X j ) .x. ( j Z k ) ) ) )
48 47 mpteq2dva
 |-  ( ( ph /\ ( i e. M /\ k e. O ) ) -> ( j e. N |-> ( ( i X j ) .x. ( j ( ( ( N X. O ) X. { Y } ) oF .x. Z ) k ) ) ) = ( j e. N |-> ( Y .x. ( ( i X j ) .x. ( j Z k ) ) ) ) )
49 48 oveq2d
 |-  ( ( ph /\ ( i e. M /\ k e. O ) ) -> ( R gsum ( j e. N |-> ( ( i X j ) .x. ( j ( ( ( N X. O ) X. { Y } ) oF .x. Z ) k ) ) ) ) = ( R gsum ( j e. N |-> ( Y .x. ( ( i X j ) .x. ( j Z k ) ) ) ) ) )
50 eqid
 |-  ( 0g ` R ) = ( 0g ` R )
51 crngring
 |-  ( R e. CRing -> R e. Ring )
52 1 51 syl
 |-  ( ph -> R e. Ring )
53 52 adantr
 |-  ( ( ph /\ ( i e. M /\ k e. O ) ) -> R e. Ring )
54 6 adantr
 |-  ( ( ph /\ ( i e. M /\ k e. O ) ) -> N e. Fin )
55 9 adantr
 |-  ( ( ph /\ ( i e. M /\ k e. O ) ) -> Y e. B )
56 52 ad2antrr
 |-  ( ( ( ph /\ ( i e. M /\ k e. O ) ) /\ j e. N ) -> R e. Ring )
57 2 3 56 39 42 ringcld
 |-  ( ( ( ph /\ ( i e. M /\ k e. O ) ) /\ j e. N ) -> ( ( i X j ) .x. ( j Z k ) ) e. B )
58 eqid
 |-  ( j e. N |-> ( ( i X j ) .x. ( j Z k ) ) ) = ( j e. N |-> ( ( i X j ) .x. ( j Z k ) ) )
59 ovexd
 |-  ( ( ( ph /\ ( i e. M /\ k e. O ) ) /\ j e. N ) -> ( ( i X j ) .x. ( j Z k ) ) e. _V )
60 fvexd
 |-  ( ( ph /\ ( i e. M /\ k e. O ) ) -> ( 0g ` R ) e. _V )
61 58 54 59 60 fsuppmptdm
 |-  ( ( ph /\ ( i e. M /\ k e. O ) ) -> ( j e. N |-> ( ( i X j ) .x. ( j Z k ) ) ) finSupp ( 0g ` R ) )
62 2 50 3 53 54 55 57 61 gsummulc2
 |-  ( ( ph /\ ( i e. M /\ k e. O ) ) -> ( R gsum ( j e. N |-> ( Y .x. ( ( i X j ) .x. ( j Z k ) ) ) ) ) = ( Y .x. ( R gsum ( j e. N |-> ( ( i X j ) .x. ( j Z k ) ) ) ) ) )
63 49 62 eqtrd
 |-  ( ( ph /\ ( i e. M /\ k e. O ) ) -> ( R gsum ( j e. N |-> ( ( i X j ) .x. ( j ( ( ( N X. O ) X. { Y } ) oF .x. Z ) k ) ) ) ) = ( Y .x. ( R gsum ( j e. N |-> ( ( i X j ) .x. ( j Z k ) ) ) ) ) )
64 1 adantr
 |-  ( ( ph /\ ( i e. M /\ k e. O ) ) -> R e. CRing )
65 5 adantr
 |-  ( ( ph /\ ( i e. M /\ k e. O ) ) -> M e. Fin )
66 7 adantr
 |-  ( ( ph /\ ( i e. M /\ k e. O ) ) -> O e. Fin )
67 8 adantr
 |-  ( ( ph /\ ( i e. M /\ k e. O ) ) -> X e. ( B ^m ( M X. N ) ) )
68 fconst6g
 |-  ( Y e. B -> ( ( N X. O ) X. { Y } ) : ( N X. O ) --> B )
69 9 68 syl
 |-  ( ph -> ( ( N X. O ) X. { Y } ) : ( N X. O ) --> B )
70 2 fvexi
 |-  B e. _V
71 elmapg
 |-  ( ( B e. _V /\ ( N X. O ) e. Fin ) -> ( ( ( N X. O ) X. { Y } ) e. ( B ^m ( N X. O ) ) <-> ( ( N X. O ) X. { Y } ) : ( N X. O ) --> B ) )
72 70 17 71 sylancr
 |-  ( ph -> ( ( ( N X. O ) X. { Y } ) e. ( B ^m ( N X. O ) ) <-> ( ( N X. O ) X. { Y } ) : ( N X. O ) --> B ) )
73 69 72 mpbird
 |-  ( ph -> ( ( N X. O ) X. { Y } ) e. ( B ^m ( N X. O ) ) )
74 2 3 ringvcl
 |-  ( ( R e. Ring /\ ( ( N X. O ) X. { Y } ) e. ( B ^m ( N X. O ) ) /\ Z e. ( B ^m ( N X. O ) ) ) -> ( ( ( N X. O ) X. { Y } ) oF .x. Z ) e. ( B ^m ( N X. O ) ) )
75 52 73 10 74 syl3anc
 |-  ( ph -> ( ( ( N X. O ) X. { Y } ) oF .x. Z ) e. ( B ^m ( N X. O ) ) )
76 75 adantr
 |-  ( ( ph /\ ( i e. M /\ k e. O ) ) -> ( ( ( N X. O ) X. { Y } ) oF .x. Z ) e. ( B ^m ( N X. O ) ) )
77 simprl
 |-  ( ( ph /\ ( i e. M /\ k e. O ) ) -> i e. M )
78 simprr
 |-  ( ( ph /\ ( i e. M /\ k e. O ) ) -> k e. O )
79 4 2 3 64 65 54 66 67 76 77 78 mamufv
 |-  ( ( ph /\ ( i e. M /\ k e. O ) ) -> ( i ( X F ( ( ( N X. O ) X. { Y } ) oF .x. Z ) ) k ) = ( R gsum ( j e. N |-> ( ( i X j ) .x. ( j ( ( ( N X. O ) X. { Y } ) oF .x. Z ) k ) ) ) ) )
80 df-ov
 |-  ( i ( ( ( M X. O ) X. { Y } ) oF .x. ( X F Z ) ) k ) = ( ( ( ( M X. O ) X. { Y } ) oF .x. ( X F Z ) ) ` <. i , k >. )
81 opelxpi
 |-  ( ( i e. M /\ k e. O ) -> <. i , k >. e. ( M X. O ) )
82 81 adantl
 |-  ( ( ph /\ ( i e. M /\ k e. O ) ) -> <. i , k >. e. ( M X. O ) )
83 xpfi
 |-  ( ( M e. Fin /\ O e. Fin ) -> ( M X. O ) e. Fin )
84 5 7 83 syl2anc
 |-  ( ph -> ( M X. O ) e. Fin )
85 84 adantr
 |-  ( ( ph /\ ( i e. M /\ k e. O ) ) -> ( M X. O ) e. Fin )
86 2 52 4 5 6 7 8 10 mamucl
 |-  ( ph -> ( X F Z ) e. ( B ^m ( M X. O ) ) )
87 elmapi
 |-  ( ( X F Z ) e. ( B ^m ( M X. O ) ) -> ( X F Z ) : ( M X. O ) --> B )
88 ffn
 |-  ( ( X F Z ) : ( M X. O ) --> B -> ( X F Z ) Fn ( M X. O ) )
89 86 87 88 3syl
 |-  ( ph -> ( X F Z ) Fn ( M X. O ) )
90 89 adantr
 |-  ( ( ph /\ ( i e. M /\ k e. O ) ) -> ( X F Z ) Fn ( M X. O ) )
91 df-ov
 |-  ( i ( X F Z ) k ) = ( ( X F Z ) ` <. i , k >. )
92 10 adantr
 |-  ( ( ph /\ ( i e. M /\ k e. O ) ) -> Z e. ( B ^m ( N X. O ) ) )
93 4 2 3 64 65 54 66 67 92 77 78 mamufv
 |-  ( ( ph /\ ( i e. M /\ k e. O ) ) -> ( i ( X F Z ) k ) = ( R gsum ( j e. N |-> ( ( i X j ) .x. ( j Z k ) ) ) ) )
94 91 93 eqtr3id
 |-  ( ( ph /\ ( i e. M /\ k e. O ) ) -> ( ( X F Z ) ` <. i , k >. ) = ( R gsum ( j e. N |-> ( ( i X j ) .x. ( j Z k ) ) ) ) )
95 94 adantr
 |-  ( ( ( ph /\ ( i e. M /\ k e. O ) ) /\ <. i , k >. e. ( M X. O ) ) -> ( ( X F Z ) ` <. i , k >. ) = ( R gsum ( j e. N |-> ( ( i X j ) .x. ( j Z k ) ) ) ) )
96 85 55 90 95 ofc1
 |-  ( ( ( ph /\ ( i e. M /\ k e. O ) ) /\ <. i , k >. e. ( M X. O ) ) -> ( ( ( ( M X. O ) X. { Y } ) oF .x. ( X F Z ) ) ` <. i , k >. ) = ( Y .x. ( R gsum ( j e. N |-> ( ( i X j ) .x. ( j Z k ) ) ) ) ) )
97 82 96 mpdan
 |-  ( ( ph /\ ( i e. M /\ k e. O ) ) -> ( ( ( ( M X. O ) X. { Y } ) oF .x. ( X F Z ) ) ` <. i , k >. ) = ( Y .x. ( R gsum ( j e. N |-> ( ( i X j ) .x. ( j Z k ) ) ) ) ) )
98 80 97 eqtrid
 |-  ( ( ph /\ ( i e. M /\ k e. O ) ) -> ( i ( ( ( M X. O ) X. { Y } ) oF .x. ( X F Z ) ) k ) = ( Y .x. ( R gsum ( j e. N |-> ( ( i X j ) .x. ( j Z k ) ) ) ) ) )
99 63 79 98 3eqtr4d
 |-  ( ( ph /\ ( i e. M /\ k e. O ) ) -> ( i ( X F ( ( ( N X. O ) X. { Y } ) oF .x. Z ) ) k ) = ( i ( ( ( M X. O ) X. { Y } ) oF .x. ( X F Z ) ) k ) )
100 99 ralrimivva
 |-  ( ph -> A. i e. M A. k e. O ( i ( X F ( ( ( N X. O ) X. { Y } ) oF .x. Z ) ) k ) = ( i ( ( ( M X. O ) X. { Y } ) oF .x. ( X F Z ) ) k ) )
101 2 52 4 5 6 7 8 75 mamucl
 |-  ( ph -> ( X F ( ( ( N X. O ) X. { Y } ) oF .x. Z ) ) e. ( B ^m ( M X. O ) ) )
102 elmapi
 |-  ( ( X F ( ( ( N X. O ) X. { Y } ) oF .x. Z ) ) e. ( B ^m ( M X. O ) ) -> ( X F ( ( ( N X. O ) X. { Y } ) oF .x. Z ) ) : ( M X. O ) --> B )
103 ffn
 |-  ( ( X F ( ( ( N X. O ) X. { Y } ) oF .x. Z ) ) : ( M X. O ) --> B -> ( X F ( ( ( N X. O ) X. { Y } ) oF .x. Z ) ) Fn ( M X. O ) )
104 101 102 103 3syl
 |-  ( ph -> ( X F ( ( ( N X. O ) X. { Y } ) oF .x. Z ) ) Fn ( M X. O ) )
105 fconst6g
 |-  ( Y e. B -> ( ( M X. O ) X. { Y } ) : ( M X. O ) --> B )
106 9 105 syl
 |-  ( ph -> ( ( M X. O ) X. { Y } ) : ( M X. O ) --> B )
107 elmapg
 |-  ( ( B e. _V /\ ( M X. O ) e. Fin ) -> ( ( ( M X. O ) X. { Y } ) e. ( B ^m ( M X. O ) ) <-> ( ( M X. O ) X. { Y } ) : ( M X. O ) --> B ) )
108 70 84 107 sylancr
 |-  ( ph -> ( ( ( M X. O ) X. { Y } ) e. ( B ^m ( M X. O ) ) <-> ( ( M X. O ) X. { Y } ) : ( M X. O ) --> B ) )
109 106 108 mpbird
 |-  ( ph -> ( ( M X. O ) X. { Y } ) e. ( B ^m ( M X. O ) ) )
110 2 3 ringvcl
 |-  ( ( R e. Ring /\ ( ( M X. O ) X. { Y } ) e. ( B ^m ( M X. O ) ) /\ ( X F Z ) e. ( B ^m ( M X. O ) ) ) -> ( ( ( M X. O ) X. { Y } ) oF .x. ( X F Z ) ) e. ( B ^m ( M X. O ) ) )
111 52 109 86 110 syl3anc
 |-  ( ph -> ( ( ( M X. O ) X. { Y } ) oF .x. ( X F Z ) ) e. ( B ^m ( M X. O ) ) )
112 elmapi
 |-  ( ( ( ( M X. O ) X. { Y } ) oF .x. ( X F Z ) ) e. ( B ^m ( M X. O ) ) -> ( ( ( M X. O ) X. { Y } ) oF .x. ( X F Z ) ) : ( M X. O ) --> B )
113 ffn
 |-  ( ( ( ( M X. O ) X. { Y } ) oF .x. ( X F Z ) ) : ( M X. O ) --> B -> ( ( ( M X. O ) X. { Y } ) oF .x. ( X F Z ) ) Fn ( M X. O ) )
114 111 112 113 3syl
 |-  ( ph -> ( ( ( M X. O ) X. { Y } ) oF .x. ( X F Z ) ) Fn ( M X. O ) )
115 eqfnov2
 |-  ( ( ( X F ( ( ( N X. O ) X. { Y } ) oF .x. Z ) ) Fn ( M X. O ) /\ ( ( ( M X. O ) X. { Y } ) oF .x. ( X F Z ) ) Fn ( M X. O ) ) -> ( ( X F ( ( ( N X. O ) X. { Y } ) oF .x. Z ) ) = ( ( ( M X. O ) X. { Y } ) oF .x. ( X F Z ) ) <-> A. i e. M A. k e. O ( i ( X F ( ( ( N X. O ) X. { Y } ) oF .x. Z ) ) k ) = ( i ( ( ( M X. O ) X. { Y } ) oF .x. ( X F Z ) ) k ) ) )
116 104 114 115 syl2anc
 |-  ( ph -> ( ( X F ( ( ( N X. O ) X. { Y } ) oF .x. Z ) ) = ( ( ( M X. O ) X. { Y } ) oF .x. ( X F Z ) ) <-> A. i e. M A. k e. O ( i ( X F ( ( ( N X. O ) X. { Y } ) oF .x. Z ) ) k ) = ( i ( ( ( M X. O ) X. { Y } ) oF .x. ( X F Z ) ) k ) ) )
117 100 116 mpbird
 |-  ( ph -> ( X F ( ( ( N X. O ) X. { Y } ) oF .x. Z ) ) = ( ( ( M X. O ) X. { Y } ) oF .x. ( X F Z ) ) )