Metamath Proof Explorer


Theorem mpomatmul

Description: Multiplication of two N x N matrices given in maps-to notation. (Contributed by AV, 29-Oct-2019)

Ref Expression
Hypotheses mpomatmul.a โŠข ๐ด = ( ๐‘ Mat ๐‘… )
mpomatmul.b โŠข ๐ต = ( Base โ€˜ ๐‘… )
mpomatmul.m โŠข ร— = ( .r โ€˜ ๐ด )
mpomatmul.t โŠข ยท = ( .r โ€˜ ๐‘… )
mpomatmul.r โŠข ( ๐œ‘ โ†’ ๐‘… โˆˆ ๐‘‰ )
mpomatmul.n โŠข ( ๐œ‘ โ†’ ๐‘ โˆˆ Fin )
mpomatmul.x โŠข ๐‘‹ = ( ๐‘– โˆˆ ๐‘ , ๐‘— โˆˆ ๐‘ โ†ฆ ๐ถ )
mpomatmul.y โŠข ๐‘Œ = ( ๐‘– โˆˆ ๐‘ , ๐‘— โˆˆ ๐‘ โ†ฆ ๐ธ )
mpomatmul.c โŠข ( ( ๐œ‘ โˆง ๐‘– โˆˆ ๐‘ โˆง ๐‘— โˆˆ ๐‘ ) โ†’ ๐ถ โˆˆ ๐ต )
mpomatmul.e โŠข ( ( ๐œ‘ โˆง ๐‘– โˆˆ ๐‘ โˆง ๐‘— โˆˆ ๐‘ ) โ†’ ๐ธ โˆˆ ๐ต )
mpomatmul.d โŠข ( ( ๐œ‘ โˆง ( ๐‘˜ = ๐‘– โˆง ๐‘š = ๐‘— ) ) โ†’ ๐ท = ๐ถ )
mpomatmul.f โŠข ( ( ๐œ‘ โˆง ( ๐‘š = ๐‘– โˆง ๐‘™ = ๐‘— ) ) โ†’ ๐น = ๐ธ )
mpomatmul.1 โŠข ( ( ๐œ‘ โˆง ๐‘˜ โˆˆ ๐‘ โˆง ๐‘š โˆˆ ๐‘ ) โ†’ ๐ท โˆˆ ๐‘ˆ )
mpomatmul.2 โŠข ( ( ๐œ‘ โˆง ๐‘š โˆˆ ๐‘ โˆง ๐‘™ โˆˆ ๐‘ ) โ†’ ๐น โˆˆ ๐‘Š )
Assertion mpomatmul ( ๐œ‘ โ†’ ( ๐‘‹ ร— ๐‘Œ ) = ( ๐‘˜ โˆˆ ๐‘ , ๐‘™ โˆˆ ๐‘ โ†ฆ ( ๐‘… ฮฃg ( ๐‘š โˆˆ ๐‘ โ†ฆ ( ๐ท ยท ๐น ) ) ) ) )

Proof

Step Hyp Ref Expression
1 mpomatmul.a โŠข ๐ด = ( ๐‘ Mat ๐‘… )
2 mpomatmul.b โŠข ๐ต = ( Base โ€˜ ๐‘… )
3 mpomatmul.m โŠข ร— = ( .r โ€˜ ๐ด )
4 mpomatmul.t โŠข ยท = ( .r โ€˜ ๐‘… )
5 mpomatmul.r โŠข ( ๐œ‘ โ†’ ๐‘… โˆˆ ๐‘‰ )
6 mpomatmul.n โŠข ( ๐œ‘ โ†’ ๐‘ โˆˆ Fin )
7 mpomatmul.x โŠข ๐‘‹ = ( ๐‘– โˆˆ ๐‘ , ๐‘— โˆˆ ๐‘ โ†ฆ ๐ถ )
8 mpomatmul.y โŠข ๐‘Œ = ( ๐‘– โˆˆ ๐‘ , ๐‘— โˆˆ ๐‘ โ†ฆ ๐ธ )
9 mpomatmul.c โŠข ( ( ๐œ‘ โˆง ๐‘– โˆˆ ๐‘ โˆง ๐‘— โˆˆ ๐‘ ) โ†’ ๐ถ โˆˆ ๐ต )
10 mpomatmul.e โŠข ( ( ๐œ‘ โˆง ๐‘– โˆˆ ๐‘ โˆง ๐‘— โˆˆ ๐‘ ) โ†’ ๐ธ โˆˆ ๐ต )
11 mpomatmul.d โŠข ( ( ๐œ‘ โˆง ( ๐‘˜ = ๐‘– โˆง ๐‘š = ๐‘— ) ) โ†’ ๐ท = ๐ถ )
12 mpomatmul.f โŠข ( ( ๐œ‘ โˆง ( ๐‘š = ๐‘– โˆง ๐‘™ = ๐‘— ) ) โ†’ ๐น = ๐ธ )
13 mpomatmul.1 โŠข ( ( ๐œ‘ โˆง ๐‘˜ โˆˆ ๐‘ โˆง ๐‘š โˆˆ ๐‘ ) โ†’ ๐ท โˆˆ ๐‘ˆ )
14 mpomatmul.2 โŠข ( ( ๐œ‘ โˆง ๐‘š โˆˆ ๐‘ โˆง ๐‘™ โˆˆ ๐‘ ) โ†’ ๐น โˆˆ ๐‘Š )
15 eqid โŠข ( ๐‘… maMul โŸจ ๐‘ , ๐‘ , ๐‘ โŸฉ ) = ( ๐‘… maMul โŸจ ๐‘ , ๐‘ , ๐‘ โŸฉ )
16 1 15 matmulr โŠข ( ( ๐‘ โˆˆ Fin โˆง ๐‘… โˆˆ ๐‘‰ ) โ†’ ( ๐‘… maMul โŸจ ๐‘ , ๐‘ , ๐‘ โŸฉ ) = ( .r โ€˜ ๐ด ) )
17 16 3 eqtr4di โŠข ( ( ๐‘ โˆˆ Fin โˆง ๐‘… โˆˆ ๐‘‰ ) โ†’ ( ๐‘… maMul โŸจ ๐‘ , ๐‘ , ๐‘ โŸฉ ) = ร— )
18 17 oveqd โŠข ( ( ๐‘ โˆˆ Fin โˆง ๐‘… โˆˆ ๐‘‰ ) โ†’ ( ๐‘‹ ( ๐‘… maMul โŸจ ๐‘ , ๐‘ , ๐‘ โŸฉ ) ๐‘Œ ) = ( ๐‘‹ ร— ๐‘Œ ) )
19 18 eqcomd โŠข ( ( ๐‘ โˆˆ Fin โˆง ๐‘… โˆˆ ๐‘‰ ) โ†’ ( ๐‘‹ ร— ๐‘Œ ) = ( ๐‘‹ ( ๐‘… maMul โŸจ ๐‘ , ๐‘ , ๐‘ โŸฉ ) ๐‘Œ ) )
20 6 5 19 syl2anc โŠข ( ๐œ‘ โ†’ ( ๐‘‹ ร— ๐‘Œ ) = ( ๐‘‹ ( ๐‘… maMul โŸจ ๐‘ , ๐‘ , ๐‘ โŸฉ ) ๐‘Œ ) )
21 eqid โŠข ( Base โ€˜ ๐‘… ) = ( Base โ€˜ ๐‘… )
22 eqid โŠข ( Base โ€˜ ๐ด ) = ( Base โ€˜ ๐ด )
23 9 2 eleqtrdi โŠข ( ( ๐œ‘ โˆง ๐‘– โˆˆ ๐‘ โˆง ๐‘— โˆˆ ๐‘ ) โ†’ ๐ถ โˆˆ ( Base โ€˜ ๐‘… ) )
24 1 21 22 6 5 23 matbas2d โŠข ( ๐œ‘ โ†’ ( ๐‘– โˆˆ ๐‘ , ๐‘— โˆˆ ๐‘ โ†ฆ ๐ถ ) โˆˆ ( Base โ€˜ ๐ด ) )
25 7 24 eqeltrid โŠข ( ๐œ‘ โ†’ ๐‘‹ โˆˆ ( Base โ€˜ ๐ด ) )
26 1 21 matbas2 โŠข ( ( ๐‘ โˆˆ Fin โˆง ๐‘… โˆˆ ๐‘‰ ) โ†’ ( ( Base โ€˜ ๐‘… ) โ†‘m ( ๐‘ ร— ๐‘ ) ) = ( Base โ€˜ ๐ด ) )
27 6 5 26 syl2anc โŠข ( ๐œ‘ โ†’ ( ( Base โ€˜ ๐‘… ) โ†‘m ( ๐‘ ร— ๐‘ ) ) = ( Base โ€˜ ๐ด ) )
28 25 27 eleqtrrd โŠข ( ๐œ‘ โ†’ ๐‘‹ โˆˆ ( ( Base โ€˜ ๐‘… ) โ†‘m ( ๐‘ ร— ๐‘ ) ) )
29 10 2 eleqtrdi โŠข ( ( ๐œ‘ โˆง ๐‘– โˆˆ ๐‘ โˆง ๐‘— โˆˆ ๐‘ ) โ†’ ๐ธ โˆˆ ( Base โ€˜ ๐‘… ) )
30 1 21 22 6 5 29 matbas2d โŠข ( ๐œ‘ โ†’ ( ๐‘– โˆˆ ๐‘ , ๐‘— โˆˆ ๐‘ โ†ฆ ๐ธ ) โˆˆ ( Base โ€˜ ๐ด ) )
31 8 30 eqeltrid โŠข ( ๐œ‘ โ†’ ๐‘Œ โˆˆ ( Base โ€˜ ๐ด ) )
32 31 27 eleqtrrd โŠข ( ๐œ‘ โ†’ ๐‘Œ โˆˆ ( ( Base โ€˜ ๐‘… ) โ†‘m ( ๐‘ ร— ๐‘ ) ) )
33 15 21 4 5 6 6 6 28 32 mamuval โŠข ( ๐œ‘ โ†’ ( ๐‘‹ ( ๐‘… maMul โŸจ ๐‘ , ๐‘ , ๐‘ โŸฉ ) ๐‘Œ ) = ( ๐‘˜ โˆˆ ๐‘ , ๐‘™ โˆˆ ๐‘ โ†ฆ ( ๐‘… ฮฃg ( ๐‘š โˆˆ ๐‘ โ†ฆ ( ( ๐‘˜ ๐‘‹ ๐‘š ) ยท ( ๐‘š ๐‘Œ ๐‘™ ) ) ) ) ) )
34 7 a1i โŠข ( ( ( ๐œ‘ โˆง ๐‘˜ โˆˆ ๐‘ โˆง ๐‘™ โˆˆ ๐‘ ) โˆง ๐‘š โˆˆ ๐‘ ) โ†’ ๐‘‹ = ( ๐‘– โˆˆ ๐‘ , ๐‘— โˆˆ ๐‘ โ†ฆ ๐ถ ) )
35 equcom โŠข ( ๐‘– = ๐‘˜ โ†” ๐‘˜ = ๐‘– )
36 equcom โŠข ( ๐‘— = ๐‘š โ†” ๐‘š = ๐‘— )
37 35 36 anbi12i โŠข ( ( ๐‘– = ๐‘˜ โˆง ๐‘— = ๐‘š ) โ†” ( ๐‘˜ = ๐‘– โˆง ๐‘š = ๐‘— ) )
38 37 11 sylan2b โŠข ( ( ๐œ‘ โˆง ( ๐‘– = ๐‘˜ โˆง ๐‘— = ๐‘š ) ) โ†’ ๐ท = ๐ถ )
39 38 eqcomd โŠข ( ( ๐œ‘ โˆง ( ๐‘– = ๐‘˜ โˆง ๐‘— = ๐‘š ) ) โ†’ ๐ถ = ๐ท )
40 39 ex โŠข ( ๐œ‘ โ†’ ( ( ๐‘– = ๐‘˜ โˆง ๐‘— = ๐‘š ) โ†’ ๐ถ = ๐ท ) )
41 40 3ad2ant1 โŠข ( ( ๐œ‘ โˆง ๐‘˜ โˆˆ ๐‘ โˆง ๐‘™ โˆˆ ๐‘ ) โ†’ ( ( ๐‘– = ๐‘˜ โˆง ๐‘— = ๐‘š ) โ†’ ๐ถ = ๐ท ) )
42 41 adantr โŠข ( ( ( ๐œ‘ โˆง ๐‘˜ โˆˆ ๐‘ โˆง ๐‘™ โˆˆ ๐‘ ) โˆง ๐‘š โˆˆ ๐‘ ) โ†’ ( ( ๐‘– = ๐‘˜ โˆง ๐‘— = ๐‘š ) โ†’ ๐ถ = ๐ท ) )
43 42 imp โŠข ( ( ( ( ๐œ‘ โˆง ๐‘˜ โˆˆ ๐‘ โˆง ๐‘™ โˆˆ ๐‘ ) โˆง ๐‘š โˆˆ ๐‘ ) โˆง ( ๐‘– = ๐‘˜ โˆง ๐‘— = ๐‘š ) ) โ†’ ๐ถ = ๐ท )
44 simpl2 โŠข ( ( ( ๐œ‘ โˆง ๐‘˜ โˆˆ ๐‘ โˆง ๐‘™ โˆˆ ๐‘ ) โˆง ๐‘š โˆˆ ๐‘ ) โ†’ ๐‘˜ โˆˆ ๐‘ )
45 simpr โŠข ( ( ( ๐œ‘ โˆง ๐‘˜ โˆˆ ๐‘ โˆง ๐‘™ โˆˆ ๐‘ ) โˆง ๐‘š โˆˆ ๐‘ ) โ†’ ๐‘š โˆˆ ๐‘ )
46 simpl1 โŠข ( ( ( ๐œ‘ โˆง ๐‘˜ โˆˆ ๐‘ โˆง ๐‘™ โˆˆ ๐‘ ) โˆง ๐‘š โˆˆ ๐‘ ) โ†’ ๐œ‘ )
47 46 44 45 13 syl3anc โŠข ( ( ( ๐œ‘ โˆง ๐‘˜ โˆˆ ๐‘ โˆง ๐‘™ โˆˆ ๐‘ ) โˆง ๐‘š โˆˆ ๐‘ ) โ†’ ๐ท โˆˆ ๐‘ˆ )
48 34 43 44 45 47 ovmpod โŠข ( ( ( ๐œ‘ โˆง ๐‘˜ โˆˆ ๐‘ โˆง ๐‘™ โˆˆ ๐‘ ) โˆง ๐‘š โˆˆ ๐‘ ) โ†’ ( ๐‘˜ ๐‘‹ ๐‘š ) = ๐ท )
49 8 a1i โŠข ( ( ( ๐œ‘ โˆง ๐‘˜ โˆˆ ๐‘ โˆง ๐‘™ โˆˆ ๐‘ ) โˆง ๐‘š โˆˆ ๐‘ ) โ†’ ๐‘Œ = ( ๐‘– โˆˆ ๐‘ , ๐‘— โˆˆ ๐‘ โ†ฆ ๐ธ ) )
50 equcomi โŠข ( ๐‘– = ๐‘š โ†’ ๐‘š = ๐‘– )
51 equcomi โŠข ( ๐‘— = ๐‘™ โ†’ ๐‘™ = ๐‘— )
52 50 51 anim12i โŠข ( ( ๐‘– = ๐‘š โˆง ๐‘— = ๐‘™ ) โ†’ ( ๐‘š = ๐‘– โˆง ๐‘™ = ๐‘— ) )
53 52 12 sylan2 โŠข ( ( ๐œ‘ โˆง ( ๐‘– = ๐‘š โˆง ๐‘— = ๐‘™ ) ) โ†’ ๐น = ๐ธ )
54 53 ex โŠข ( ๐œ‘ โ†’ ( ( ๐‘– = ๐‘š โˆง ๐‘— = ๐‘™ ) โ†’ ๐น = ๐ธ ) )
55 54 3ad2ant1 โŠข ( ( ๐œ‘ โˆง ๐‘˜ โˆˆ ๐‘ โˆง ๐‘™ โˆˆ ๐‘ ) โ†’ ( ( ๐‘– = ๐‘š โˆง ๐‘— = ๐‘™ ) โ†’ ๐น = ๐ธ ) )
56 55 adantr โŠข ( ( ( ๐œ‘ โˆง ๐‘˜ โˆˆ ๐‘ โˆง ๐‘™ โˆˆ ๐‘ ) โˆง ๐‘š โˆˆ ๐‘ ) โ†’ ( ( ๐‘– = ๐‘š โˆง ๐‘— = ๐‘™ ) โ†’ ๐น = ๐ธ ) )
57 56 imp โŠข ( ( ( ( ๐œ‘ โˆง ๐‘˜ โˆˆ ๐‘ โˆง ๐‘™ โˆˆ ๐‘ ) โˆง ๐‘š โˆˆ ๐‘ ) โˆง ( ๐‘– = ๐‘š โˆง ๐‘— = ๐‘™ ) ) โ†’ ๐น = ๐ธ )
58 57 eqcomd โŠข ( ( ( ( ๐œ‘ โˆง ๐‘˜ โˆˆ ๐‘ โˆง ๐‘™ โˆˆ ๐‘ ) โˆง ๐‘š โˆˆ ๐‘ ) โˆง ( ๐‘– = ๐‘š โˆง ๐‘— = ๐‘™ ) ) โ†’ ๐ธ = ๐น )
59 simpl3 โŠข ( ( ( ๐œ‘ โˆง ๐‘˜ โˆˆ ๐‘ โˆง ๐‘™ โˆˆ ๐‘ ) โˆง ๐‘š โˆˆ ๐‘ ) โ†’ ๐‘™ โˆˆ ๐‘ )
60 46 45 59 14 syl3anc โŠข ( ( ( ๐œ‘ โˆง ๐‘˜ โˆˆ ๐‘ โˆง ๐‘™ โˆˆ ๐‘ ) โˆง ๐‘š โˆˆ ๐‘ ) โ†’ ๐น โˆˆ ๐‘Š )
61 49 58 45 59 60 ovmpod โŠข ( ( ( ๐œ‘ โˆง ๐‘˜ โˆˆ ๐‘ โˆง ๐‘™ โˆˆ ๐‘ ) โˆง ๐‘š โˆˆ ๐‘ ) โ†’ ( ๐‘š ๐‘Œ ๐‘™ ) = ๐น )
62 48 61 oveq12d โŠข ( ( ( ๐œ‘ โˆง ๐‘˜ โˆˆ ๐‘ โˆง ๐‘™ โˆˆ ๐‘ ) โˆง ๐‘š โˆˆ ๐‘ ) โ†’ ( ( ๐‘˜ ๐‘‹ ๐‘š ) ยท ( ๐‘š ๐‘Œ ๐‘™ ) ) = ( ๐ท ยท ๐น ) )
63 62 mpteq2dva โŠข ( ( ๐œ‘ โˆง ๐‘˜ โˆˆ ๐‘ โˆง ๐‘™ โˆˆ ๐‘ ) โ†’ ( ๐‘š โˆˆ ๐‘ โ†ฆ ( ( ๐‘˜ ๐‘‹ ๐‘š ) ยท ( ๐‘š ๐‘Œ ๐‘™ ) ) ) = ( ๐‘š โˆˆ ๐‘ โ†ฆ ( ๐ท ยท ๐น ) ) )
64 63 oveq2d โŠข ( ( ๐œ‘ โˆง ๐‘˜ โˆˆ ๐‘ โˆง ๐‘™ โˆˆ ๐‘ ) โ†’ ( ๐‘… ฮฃg ( ๐‘š โˆˆ ๐‘ โ†ฆ ( ( ๐‘˜ ๐‘‹ ๐‘š ) ยท ( ๐‘š ๐‘Œ ๐‘™ ) ) ) ) = ( ๐‘… ฮฃg ( ๐‘š โˆˆ ๐‘ โ†ฆ ( ๐ท ยท ๐น ) ) ) )
65 64 mpoeq3dva โŠข ( ๐œ‘ โ†’ ( ๐‘˜ โˆˆ ๐‘ , ๐‘™ โˆˆ ๐‘ โ†ฆ ( ๐‘… ฮฃg ( ๐‘š โˆˆ ๐‘ โ†ฆ ( ( ๐‘˜ ๐‘‹ ๐‘š ) ยท ( ๐‘š ๐‘Œ ๐‘™ ) ) ) ) ) = ( ๐‘˜ โˆˆ ๐‘ , ๐‘™ โˆˆ ๐‘ โ†ฆ ( ๐‘… ฮฃg ( ๐‘š โˆˆ ๐‘ โ†ฆ ( ๐ท ยท ๐น ) ) ) ) )
66 20 33 65 3eqtrd โŠข ( ๐œ‘ โ†’ ( ๐‘‹ ร— ๐‘Œ ) = ( ๐‘˜ โˆˆ ๐‘ , ๐‘™ โˆˆ ๐‘ โ†ฆ ( ๐‘… ฮฃg ( ๐‘š โˆˆ ๐‘ โ†ฆ ( ๐ท ยท ๐น ) ) ) ) )