Step |
Hyp |
Ref |
Expression |
1 |
|
matmulcell.a |
|- A = ( N Mat R ) |
2 |
|
matmulcell.b |
|- B = ( Base ` A ) |
3 |
|
matmulcell.m |
|- .X. = ( .r ` A ) |
4 |
1 2
|
matrcl |
|- ( X e. B -> ( N e. Fin /\ R e. _V ) ) |
5 |
|
eqid |
|- ( R maMul <. N , N , N >. ) = ( R maMul <. N , N , N >. ) |
6 |
1 5
|
matmulr |
|- ( ( N e. Fin /\ R e. _V ) -> ( R maMul <. N , N , N >. ) = ( .r ` A ) ) |
7 |
3 6
|
eqtr4id |
|- ( ( N e. Fin /\ R e. _V ) -> .X. = ( R maMul <. N , N , N >. ) ) |
8 |
7
|
a1d |
|- ( ( N e. Fin /\ R e. _V ) -> ( R e. Ring -> .X. = ( R maMul <. N , N , N >. ) ) ) |
9 |
4 8
|
syl |
|- ( X e. B -> ( R e. Ring -> .X. = ( R maMul <. N , N , N >. ) ) ) |
10 |
9
|
adantr |
|- ( ( X e. B /\ Y e. B ) -> ( R e. Ring -> .X. = ( R maMul <. N , N , N >. ) ) ) |
11 |
10
|
impcom |
|- ( ( R e. Ring /\ ( X e. B /\ Y e. B ) ) -> .X. = ( R maMul <. N , N , N >. ) ) |
12 |
11
|
3adant3 |
|- ( ( R e. Ring /\ ( X e. B /\ Y e. B ) /\ ( I e. N /\ J e. N ) ) -> .X. = ( R maMul <. N , N , N >. ) ) |
13 |
12
|
oveqd |
|- ( ( R e. Ring /\ ( X e. B /\ Y e. B ) /\ ( I e. N /\ J e. N ) ) -> ( X .X. Y ) = ( X ( R maMul <. N , N , N >. ) Y ) ) |
14 |
13
|
oveqd |
|- ( ( R e. Ring /\ ( X e. B /\ Y e. B ) /\ ( I e. N /\ J e. N ) ) -> ( I ( X .X. Y ) J ) = ( I ( X ( R maMul <. N , N , N >. ) Y ) J ) ) |
15 |
|
eqid |
|- ( Base ` R ) = ( Base ` R ) |
16 |
|
eqid |
|- ( .r ` R ) = ( .r ` R ) |
17 |
|
simp1 |
|- ( ( R e. Ring /\ ( X e. B /\ Y e. B ) /\ ( I e. N /\ J e. N ) ) -> R e. Ring ) |
18 |
4
|
simpld |
|- ( X e. B -> N e. Fin ) |
19 |
18
|
adantr |
|- ( ( X e. B /\ Y e. B ) -> N e. Fin ) |
20 |
19
|
3ad2ant2 |
|- ( ( R e. Ring /\ ( X e. B /\ Y e. B ) /\ ( I e. N /\ J e. N ) ) -> N e. Fin ) |
21 |
1 15 2
|
matbas2i |
|- ( X e. B -> X e. ( ( Base ` R ) ^m ( N X. N ) ) ) |
22 |
21
|
adantr |
|- ( ( X e. B /\ Y e. B ) -> X e. ( ( Base ` R ) ^m ( N X. N ) ) ) |
23 |
22
|
3ad2ant2 |
|- ( ( R e. Ring /\ ( X e. B /\ Y e. B ) /\ ( I e. N /\ J e. N ) ) -> X e. ( ( Base ` R ) ^m ( N X. N ) ) ) |
24 |
1 15 2
|
matbas2i |
|- ( Y e. B -> Y e. ( ( Base ` R ) ^m ( N X. N ) ) ) |
25 |
24
|
adantl |
|- ( ( X e. B /\ Y e. B ) -> Y e. ( ( Base ` R ) ^m ( N X. N ) ) ) |
26 |
25
|
3ad2ant2 |
|- ( ( R e. Ring /\ ( X e. B /\ Y e. B ) /\ ( I e. N /\ J e. N ) ) -> Y e. ( ( Base ` R ) ^m ( N X. N ) ) ) |
27 |
|
simp3l |
|- ( ( R e. Ring /\ ( X e. B /\ Y e. B ) /\ ( I e. N /\ J e. N ) ) -> I e. N ) |
28 |
|
simp3r |
|- ( ( R e. Ring /\ ( X e. B /\ Y e. B ) /\ ( I e. N /\ J e. N ) ) -> J e. N ) |
29 |
5 15 16 17 20 20 20 23 26 27 28
|
mamufv |
|- ( ( R e. Ring /\ ( X e. B /\ Y e. B ) /\ ( I e. N /\ J e. N ) ) -> ( I ( X ( R maMul <. N , N , N >. ) Y ) J ) = ( R gsum ( j e. N |-> ( ( I X j ) ( .r ` R ) ( j Y J ) ) ) ) ) |
30 |
14 29
|
eqtrd |
|- ( ( R e. Ring /\ ( X e. B /\ Y e. B ) /\ ( I e. N /\ J e. N ) ) -> ( I ( X .X. Y ) J ) = ( R gsum ( j e. N |-> ( ( I X j ) ( .r ` R ) ( j Y J ) ) ) ) ) |