Metamath Proof Explorer


Theorem mvmumamul1

Description: The multiplication of an MxN matrix with an N-dimensional vector corresponds to the matrix multiplication of an MxN matrix with an Nx1 matrix. (Contributed by AV, 14-Mar-2019)

Ref Expression
Hypotheses mvmumamul1.x × = ( 𝑅 maMul ⟨ 𝑀 , 𝑁 , { ∅ } ⟩ )
mvmumamul1.t · = ( 𝑅 maVecMul ⟨ 𝑀 , 𝑁 ⟩ )
mvmumamul1.b 𝐵 = ( Base ‘ 𝑅 )
mvmumamul1.r ( 𝜑𝑅 ∈ Ring )
mvmumamul1.m ( 𝜑𝑀 ∈ Fin )
mvmumamul1.n ( 𝜑𝑁 ∈ Fin )
mvmumamul1.a ( 𝜑𝐴 ∈ ( 𝐵m ( 𝑀 × 𝑁 ) ) )
mvmumamul1.y ( 𝜑𝑌 ∈ ( 𝐵m 𝑁 ) )
mvmumamul1.z ( 𝜑𝑍 ∈ ( 𝐵m ( 𝑁 × { ∅ } ) ) )
Assertion mvmumamul1 ( 𝜑 → ( ∀ 𝑗𝑁 ( 𝑌𝑗 ) = ( 𝑗 𝑍 ∅ ) → ∀ 𝑖𝑀 ( ( 𝐴 · 𝑌 ) ‘ 𝑖 ) = ( 𝑖 ( 𝐴 × 𝑍 ) ∅ ) ) )

Proof

Step Hyp Ref Expression
1 mvmumamul1.x × = ( 𝑅 maMul ⟨ 𝑀 , 𝑁 , { ∅ } ⟩ )
2 mvmumamul1.t · = ( 𝑅 maVecMul ⟨ 𝑀 , 𝑁 ⟩ )
3 mvmumamul1.b 𝐵 = ( Base ‘ 𝑅 )
4 mvmumamul1.r ( 𝜑𝑅 ∈ Ring )
5 mvmumamul1.m ( 𝜑𝑀 ∈ Fin )
6 mvmumamul1.n ( 𝜑𝑁 ∈ Fin )
7 mvmumamul1.a ( 𝜑𝐴 ∈ ( 𝐵m ( 𝑀 × 𝑁 ) ) )
8 mvmumamul1.y ( 𝜑𝑌 ∈ ( 𝐵m 𝑁 ) )
9 mvmumamul1.z ( 𝜑𝑍 ∈ ( 𝐵m ( 𝑁 × { ∅ } ) ) )
10 eqid ( .r𝑅 ) = ( .r𝑅 )
11 4 adantr ( ( 𝜑𝑖𝑀 ) → 𝑅 ∈ Ring )
12 5 adantr ( ( 𝜑𝑖𝑀 ) → 𝑀 ∈ Fin )
13 6 adantr ( ( 𝜑𝑖𝑀 ) → 𝑁 ∈ Fin )
14 7 adantr ( ( 𝜑𝑖𝑀 ) → 𝐴 ∈ ( 𝐵m ( 𝑀 × 𝑁 ) ) )
15 8 adantr ( ( 𝜑𝑖𝑀 ) → 𝑌 ∈ ( 𝐵m 𝑁 ) )
16 simpr ( ( 𝜑𝑖𝑀 ) → 𝑖𝑀 )
17 2 3 10 11 12 13 14 15 16 mvmulfv ( ( 𝜑𝑖𝑀 ) → ( ( 𝐴 · 𝑌 ) ‘ 𝑖 ) = ( 𝑅 Σg ( 𝑘𝑁 ↦ ( ( 𝑖 𝐴 𝑘 ) ( .r𝑅 ) ( 𝑌𝑘 ) ) ) ) )
18 17 adantlr ( ( ( 𝜑 ∧ ∀ 𝑗𝑁 ( 𝑌𝑗 ) = ( 𝑗 𝑍 ∅ ) ) ∧ 𝑖𝑀 ) → ( ( 𝐴 · 𝑌 ) ‘ 𝑖 ) = ( 𝑅 Σg ( 𝑘𝑁 ↦ ( ( 𝑖 𝐴 𝑘 ) ( .r𝑅 ) ( 𝑌𝑘 ) ) ) ) )
19 fveq2 ( 𝑗 = 𝑘 → ( 𝑌𝑗 ) = ( 𝑌𝑘 ) )
20 oveq1 ( 𝑗 = 𝑘 → ( 𝑗 𝑍 ∅ ) = ( 𝑘 𝑍 ∅ ) )
21 19 20 eqeq12d ( 𝑗 = 𝑘 → ( ( 𝑌𝑗 ) = ( 𝑗 𝑍 ∅ ) ↔ ( 𝑌𝑘 ) = ( 𝑘 𝑍 ∅ ) ) )
22 21 rspccv ( ∀ 𝑗𝑁 ( 𝑌𝑗 ) = ( 𝑗 𝑍 ∅ ) → ( 𝑘𝑁 → ( 𝑌𝑘 ) = ( 𝑘 𝑍 ∅ ) ) )
23 22 adantl ( ( 𝜑 ∧ ∀ 𝑗𝑁 ( 𝑌𝑗 ) = ( 𝑗 𝑍 ∅ ) ) → ( 𝑘𝑁 → ( 𝑌𝑘 ) = ( 𝑘 𝑍 ∅ ) ) )
24 23 imp ( ( ( 𝜑 ∧ ∀ 𝑗𝑁 ( 𝑌𝑗 ) = ( 𝑗 𝑍 ∅ ) ) ∧ 𝑘𝑁 ) → ( 𝑌𝑘 ) = ( 𝑘 𝑍 ∅ ) )
25 24 oveq2d ( ( ( 𝜑 ∧ ∀ 𝑗𝑁 ( 𝑌𝑗 ) = ( 𝑗 𝑍 ∅ ) ) ∧ 𝑘𝑁 ) → ( ( 𝑖 𝐴 𝑘 ) ( .r𝑅 ) ( 𝑌𝑘 ) ) = ( ( 𝑖 𝐴 𝑘 ) ( .r𝑅 ) ( 𝑘 𝑍 ∅ ) ) )
26 25 mpteq2dva ( ( 𝜑 ∧ ∀ 𝑗𝑁 ( 𝑌𝑗 ) = ( 𝑗 𝑍 ∅ ) ) → ( 𝑘𝑁 ↦ ( ( 𝑖 𝐴 𝑘 ) ( .r𝑅 ) ( 𝑌𝑘 ) ) ) = ( 𝑘𝑁 ↦ ( ( 𝑖 𝐴 𝑘 ) ( .r𝑅 ) ( 𝑘 𝑍 ∅ ) ) ) )
27 26 oveq2d ( ( 𝜑 ∧ ∀ 𝑗𝑁 ( 𝑌𝑗 ) = ( 𝑗 𝑍 ∅ ) ) → ( 𝑅 Σg ( 𝑘𝑁 ↦ ( ( 𝑖 𝐴 𝑘 ) ( .r𝑅 ) ( 𝑌𝑘 ) ) ) ) = ( 𝑅 Σg ( 𝑘𝑁 ↦ ( ( 𝑖 𝐴 𝑘 ) ( .r𝑅 ) ( 𝑘 𝑍 ∅ ) ) ) ) )
28 27 adantr ( ( ( 𝜑 ∧ ∀ 𝑗𝑁 ( 𝑌𝑗 ) = ( 𝑗 𝑍 ∅ ) ) ∧ 𝑖𝑀 ) → ( 𝑅 Σg ( 𝑘𝑁 ↦ ( ( 𝑖 𝐴 𝑘 ) ( .r𝑅 ) ( 𝑌𝑘 ) ) ) ) = ( 𝑅 Σg ( 𝑘𝑁 ↦ ( ( 𝑖 𝐴 𝑘 ) ( .r𝑅 ) ( 𝑘 𝑍 ∅ ) ) ) ) )
29 snfi { ∅ } ∈ Fin
30 29 a1i ( ( 𝜑𝑖𝑀 ) → { ∅ } ∈ Fin )
31 9 adantr ( ( 𝜑𝑖𝑀 ) → 𝑍 ∈ ( 𝐵m ( 𝑁 × { ∅ } ) ) )
32 0ex ∅ ∈ V
33 32 snid ∅ ∈ { ∅ }
34 33 a1i ( ( 𝜑𝑖𝑀 ) → ∅ ∈ { ∅ } )
35 1 3 10 11 12 13 30 14 31 16 34 mamufv ( ( 𝜑𝑖𝑀 ) → ( 𝑖 ( 𝐴 × 𝑍 ) ∅ ) = ( 𝑅 Σg ( 𝑘𝑁 ↦ ( ( 𝑖 𝐴 𝑘 ) ( .r𝑅 ) ( 𝑘 𝑍 ∅ ) ) ) ) )
36 35 eqcomd ( ( 𝜑𝑖𝑀 ) → ( 𝑅 Σg ( 𝑘𝑁 ↦ ( ( 𝑖 𝐴 𝑘 ) ( .r𝑅 ) ( 𝑘 𝑍 ∅ ) ) ) ) = ( 𝑖 ( 𝐴 × 𝑍 ) ∅ ) )
37 36 adantlr ( ( ( 𝜑 ∧ ∀ 𝑗𝑁 ( 𝑌𝑗 ) = ( 𝑗 𝑍 ∅ ) ) ∧ 𝑖𝑀 ) → ( 𝑅 Σg ( 𝑘𝑁 ↦ ( ( 𝑖 𝐴 𝑘 ) ( .r𝑅 ) ( 𝑘 𝑍 ∅ ) ) ) ) = ( 𝑖 ( 𝐴 × 𝑍 ) ∅ ) )
38 18 28 37 3eqtrd ( ( ( 𝜑 ∧ ∀ 𝑗𝑁 ( 𝑌𝑗 ) = ( 𝑗 𝑍 ∅ ) ) ∧ 𝑖𝑀 ) → ( ( 𝐴 · 𝑌 ) ‘ 𝑖 ) = ( 𝑖 ( 𝐴 × 𝑍 ) ∅ ) )
39 38 ralrimiva ( ( 𝜑 ∧ ∀ 𝑗𝑁 ( 𝑌𝑗 ) = ( 𝑗 𝑍 ∅ ) ) → ∀ 𝑖𝑀 ( ( 𝐴 · 𝑌 ) ‘ 𝑖 ) = ( 𝑖 ( 𝐴 × 𝑍 ) ∅ ) )
40 39 ex ( 𝜑 → ( ∀ 𝑗𝑁 ( 𝑌𝑗 ) = ( 𝑗 𝑍 ∅ ) → ∀ 𝑖𝑀 ( ( 𝐴 · 𝑌 ) ‘ 𝑖 ) = ( 𝑖 ( 𝐴 × 𝑍 ) ∅ ) ) )