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 ⊢ A = N Mat R
mpomatmul.b ⊢ B = Base R
mpomatmul.m ⊢ × ˙ = ⋅ A
mpomatmul.t ⊢ · ˙ = ⋅ R
mpomatmul.r ⊢ φ → R ∈ V
mpomatmul.n ⊢ φ → N ∈ Fin
mpomatmul.x ⊢ X = i ∈ N , j ∈ N ⟼ C
mpomatmul.y ⊢ Y = i ∈ N , j ∈ N ⟼ E
mpomatmul.c ⊢ φ ∧ i ∈ N ∧ j ∈ N → C ∈ B
mpomatmul.e ⊢ φ ∧ i ∈ N ∧ j ∈ N → E ∈ B
mpomatmul.d ⊢ φ ∧ k = i ∧ m = j → D = C
mpomatmul.f ⊢ φ ∧ m = i ∧ l = j → F = E
mpomatmul.1 ⊢ φ ∧ k ∈ N ∧ m ∈ N → D ∈ U
mpomatmul.2 ⊢ φ ∧ m ∈ N ∧ l ∈ N → F ∈ W
Assertion mpomatmul ⊢ φ → X × ˙ Y = k ∈ N , l ∈ N ⟼ ∑ R m ∈ N D · ˙ F

Proof

Step Hyp Ref Expression
1 mpomatmul.a ⊢ A = N Mat R
2 mpomatmul.b ⊢ B = Base R
3 mpomatmul.m ⊢ × ˙ = ⋅ A
4 mpomatmul.t ⊢ · ˙ = ⋅ R
5 mpomatmul.r ⊢ φ → R ∈ V
6 mpomatmul.n ⊢ φ → N ∈ Fin
7 mpomatmul.x ⊢ X = i ∈ N , j ∈ N ⟼ C
8 mpomatmul.y ⊢ Y = i ∈ N , j ∈ N ⟼ E
9 mpomatmul.c ⊢ φ ∧ i ∈ N ∧ j ∈ N → C ∈ B
10 mpomatmul.e ⊢ φ ∧ i ∈ N ∧ j ∈ N → E ∈ B
11 mpomatmul.d ⊢ φ ∧ k = i ∧ m = j → D = C
12 mpomatmul.f ⊢ φ ∧ m = i ∧ l = j → F = E
13 mpomatmul.1 ⊢ φ ∧ k ∈ N ∧ m ∈ N → D ∈ U
14 mpomatmul.2 ⊢ φ ∧ m ∈ N ∧ l ∈ N → F ∈ W
15 eqid ⊢ R maMul N N N = R maMul N N N
16 1 15 matmulr ⊢ N ∈ Fin ∧ R ∈ V → R maMul N N N = ⋅ A
17 16 3 eqtr4di ⊢ N ∈ Fin ∧ R ∈ V → R maMul N N N = × ˙
18 17 oveqd ⊢ N ∈ Fin ∧ R ∈ V → X R maMul N N N Y = X × ˙ Y
19 18 eqcomd ⊢ N ∈ Fin ∧ R ∈ V → X × ˙ Y = X R maMul N N N Y
20 6 5 19 syl2anc ⊢ φ → X × ˙ Y = X R maMul N N N Y
21 eqid ⊢ Base R = Base R
22 eqid ⊢ Base A = Base A
23 9 2 eleqtrdi ⊢ φ ∧ i ∈ N ∧ j ∈ N → C ∈ Base R
24 1 21 22 6 5 23 matbas2d ⊢ φ → i ∈ N , j ∈ N ⟼ C ∈ Base A
25 7 24 eqeltrid ⊢ φ → X ∈ Base A
26 1 21 matbas2 ⊢ N ∈ Fin ∧ R ∈ V → Base R N × N = Base A
27 6 5 26 syl2anc ⊢ φ → Base R N × N = Base A
28 25 27 eleqtrrd ⊢ φ → X ∈ Base R N × N
29 10 2 eleqtrdi ⊢ φ ∧ i ∈ N ∧ j ∈ N → E ∈ Base R
30 1 21 22 6 5 29 matbas2d ⊢ φ → i ∈ N , j ∈ N ⟼ E ∈ Base A
31 8 30 eqeltrid ⊢ φ → Y ∈ Base A
32 31 27 eleqtrrd ⊢ φ → Y ∈ Base R N × N
33 15 21 4 5 6 6 6 28 32 mamuval ⊢ φ → X R maMul N N N Y = k ∈ N , l ∈ N ⟼ ∑ R m ∈ N k X m · ˙ m Y l
34 7 a1i ⊢ φ ∧ k ∈ N ∧ l ∈ N ∧ m ∈ N → X = i ∈ N , j ∈ N ⟼ C
35 equcom ⊢ i = k ↔ k = i
36 equcom ⊢ j = m ↔ m = j
37 35 36 anbi12i ⊢ i = k ∧ j = m ↔ k = i ∧ m = j
38 37 11 sylan2b ⊢ φ ∧ i = k ∧ j = m → D = C
39 38 eqcomd ⊢ φ ∧ i = k ∧ j = m → C = D
40 39 ex ⊢ φ → i = k ∧ j = m → C = D
41 40 3ad2ant1 ⊢ φ ∧ k ∈ N ∧ l ∈ N → i = k ∧ j = m → C = D
42 41 adantr ⊢ φ ∧ k ∈ N ∧ l ∈ N ∧ m ∈ N → i = k ∧ j = m → C = D
43 42 imp ⊢ φ ∧ k ∈ N ∧ l ∈ N ∧ m ∈ N ∧ i = k ∧ j = m → C = D
44 simpl2 ⊢ φ ∧ k ∈ N ∧ l ∈ N ∧ m ∈ N → k ∈ N
45 simpr ⊢ φ ∧ k ∈ N ∧ l ∈ N ∧ m ∈ N → m ∈ N
46 simpl1 ⊢ φ ∧ k ∈ N ∧ l ∈ N ∧ m ∈ N → φ
47 46 44 45 13 syl3anc ⊢ φ ∧ k ∈ N ∧ l ∈ N ∧ m ∈ N → D ∈ U
48 34 43 44 45 47 ovmpod ⊢ φ ∧ k ∈ N ∧ l ∈ N ∧ m ∈ N → k X m = D
49 8 a1i ⊢ φ ∧ k ∈ N ∧ l ∈ N ∧ m ∈ N → Y = i ∈ N , j ∈ N ⟼ E
50 equcomi ⊢ i = m → m = i
51 equcomi ⊢ j = l → l = j
52 50 51 anim12i ⊢ i = m ∧ j = l → m = i ∧ l = j
53 52 12 sylan2 ⊢ φ ∧ i = m ∧ j = l → F = E
54 53 ex ⊢ φ → i = m ∧ j = l → F = E
55 54 3ad2ant1 ⊢ φ ∧ k ∈ N ∧ l ∈ N → i = m ∧ j = l → F = E
56 55 adantr ⊢ φ ∧ k ∈ N ∧ l ∈ N ∧ m ∈ N → i = m ∧ j = l → F = E
57 56 imp ⊢ φ ∧ k ∈ N ∧ l ∈ N ∧ m ∈ N ∧ i = m ∧ j = l → F = E
58 57 eqcomd ⊢ φ ∧ k ∈ N ∧ l ∈ N ∧ m ∈ N ∧ i = m ∧ j = l → E = F
59 simpl3 ⊢ φ ∧ k ∈ N ∧ l ∈ N ∧ m ∈ N → l ∈ N
60 46 45 59 14 syl3anc ⊢ φ ∧ k ∈ N ∧ l ∈ N ∧ m ∈ N → F ∈ W
61 49 58 45 59 60 ovmpod ⊢ φ ∧ k ∈ N ∧ l ∈ N ∧ m ∈ N → m Y l = F
62 48 61 oveq12d ⊢ φ ∧ k ∈ N ∧ l ∈ N ∧ m ∈ N → k X m · ˙ m Y l = D · ˙ F
63 62 mpteq2dva ⊢ φ ∧ k ∈ N ∧ l ∈ N → m ∈ N ⟼ k X m · ˙ m Y l = m ∈ N ⟼ D · ˙ F
64 63 oveq2d ⊢ φ ∧ k ∈ N ∧ l ∈ N → ∑ R m ∈ N k X m · ˙ m Y l = ∑ R m ∈ N D · ˙ F
65 64 mpoeq3dva ⊢ φ → k ∈ N , l ∈ N ⟼ ∑ R m ∈ N k X m · ˙ m Y l = k ∈ N , l ∈ N ⟼ ∑ R m ∈ N D · ˙ F
66 20 33 65 3eqtrd ⊢ φ → X × ˙ Y = k ∈ N , l ∈ N ⟼ ∑ R m ∈ N D · ˙ F