This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: The domain of the matrix multiplication function. (Contributed by AV, 10-Feb-2019)
| Ref | Expression | ||
|---|---|---|---|
| Hypotheses | mamudm.e | ⊢ 𝐸 = ( 𝑅 freeLMod ( 𝑀 × 𝑁 ) ) | |
| mamudm.b | ⊢ 𝐵 = ( Base ‘ 𝐸 ) | ||
| mamudm.f | ⊢ 𝐹 = ( 𝑅 freeLMod ( 𝑁 × 𝑃 ) ) | ||
| mamudm.c | ⊢ 𝐶 = ( Base ‘ 𝐹 ) | ||
| mamudm.m | ⊢ × = ( 𝑅 maMul 〈 𝑀 , 𝑁 , 𝑃 〉 ) | ||
| Assertion | mamudm | ⊢ ( ( 𝑅 ∈ 𝑉 ∧ ( 𝑀 ∈ Fin ∧ 𝑁 ∈ Fin ∧ 𝑃 ∈ Fin ) ) → dom × = ( 𝐵 × 𝐶 ) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | mamudm.e | ⊢ 𝐸 = ( 𝑅 freeLMod ( 𝑀 × 𝑁 ) ) | |
| 2 | mamudm.b | ⊢ 𝐵 = ( Base ‘ 𝐸 ) | |
| 3 | mamudm.f | ⊢ 𝐹 = ( 𝑅 freeLMod ( 𝑁 × 𝑃 ) ) | |
| 4 | mamudm.c | ⊢ 𝐶 = ( Base ‘ 𝐹 ) | |
| 5 | mamudm.m | ⊢ × = ( 𝑅 maMul 〈 𝑀 , 𝑁 , 𝑃 〉 ) | |
| 6 | eqid | ⊢ ( Base ‘ 𝑅 ) = ( Base ‘ 𝑅 ) | |
| 7 | eqid | ⊢ ( .r ‘ 𝑅 ) = ( .r ‘ 𝑅 ) | |
| 8 | simpl | ⊢ ( ( 𝑅 ∈ 𝑉 ∧ ( 𝑀 ∈ Fin ∧ 𝑁 ∈ Fin ∧ 𝑃 ∈ Fin ) ) → 𝑅 ∈ 𝑉 ) | |
| 9 | simpr1 | ⊢ ( ( 𝑅 ∈ 𝑉 ∧ ( 𝑀 ∈ Fin ∧ 𝑁 ∈ Fin ∧ 𝑃 ∈ Fin ) ) → 𝑀 ∈ Fin ) | |
| 10 | simpr2 | ⊢ ( ( 𝑅 ∈ 𝑉 ∧ ( 𝑀 ∈ Fin ∧ 𝑁 ∈ Fin ∧ 𝑃 ∈ Fin ) ) → 𝑁 ∈ Fin ) | |
| 11 | simpr3 | ⊢ ( ( 𝑅 ∈ 𝑉 ∧ ( 𝑀 ∈ Fin ∧ 𝑁 ∈ Fin ∧ 𝑃 ∈ Fin ) ) → 𝑃 ∈ Fin ) | |
| 12 | 5 6 7 8 9 10 11 | mamufval | ⊢ ( ( 𝑅 ∈ 𝑉 ∧ ( 𝑀 ∈ Fin ∧ 𝑁 ∈ Fin ∧ 𝑃 ∈ Fin ) ) → × = ( 𝑥 ∈ ( ( Base ‘ 𝑅 ) ↑m ( 𝑀 × 𝑁 ) ) , 𝑦 ∈ ( ( Base ‘ 𝑅 ) ↑m ( 𝑁 × 𝑃 ) ) ↦ ( 𝑖 ∈ 𝑀 , 𝑘 ∈ 𝑃 ↦ ( 𝑅 Σg ( 𝑗 ∈ 𝑁 ↦ ( ( 𝑖 𝑥 𝑗 ) ( .r ‘ 𝑅 ) ( 𝑗 𝑦 𝑘 ) ) ) ) ) ) ) |
| 13 | 12 | dmeqd | ⊢ ( ( 𝑅 ∈ 𝑉 ∧ ( 𝑀 ∈ Fin ∧ 𝑁 ∈ Fin ∧ 𝑃 ∈ Fin ) ) → dom × = dom ( 𝑥 ∈ ( ( Base ‘ 𝑅 ) ↑m ( 𝑀 × 𝑁 ) ) , 𝑦 ∈ ( ( Base ‘ 𝑅 ) ↑m ( 𝑁 × 𝑃 ) ) ↦ ( 𝑖 ∈ 𝑀 , 𝑘 ∈ 𝑃 ↦ ( 𝑅 Σg ( 𝑗 ∈ 𝑁 ↦ ( ( 𝑖 𝑥 𝑗 ) ( .r ‘ 𝑅 ) ( 𝑗 𝑦 𝑘 ) ) ) ) ) ) ) |
| 14 | mpoexga | ⊢ ( ( 𝑀 ∈ Fin ∧ 𝑃 ∈ Fin ) → ( 𝑖 ∈ 𝑀 , 𝑘 ∈ 𝑃 ↦ ( 𝑅 Σg ( 𝑗 ∈ 𝑁 ↦ ( ( 𝑖 𝑥 𝑗 ) ( .r ‘ 𝑅 ) ( 𝑗 𝑦 𝑘 ) ) ) ) ) ∈ V ) | |
| 15 | 14 | 3adant2 | ⊢ ( ( 𝑀 ∈ Fin ∧ 𝑁 ∈ Fin ∧ 𝑃 ∈ Fin ) → ( 𝑖 ∈ 𝑀 , 𝑘 ∈ 𝑃 ↦ ( 𝑅 Σg ( 𝑗 ∈ 𝑁 ↦ ( ( 𝑖 𝑥 𝑗 ) ( .r ‘ 𝑅 ) ( 𝑗 𝑦 𝑘 ) ) ) ) ) ∈ V ) |
| 16 | 15 | adantl | ⊢ ( ( 𝑅 ∈ 𝑉 ∧ ( 𝑀 ∈ Fin ∧ 𝑁 ∈ Fin ∧ 𝑃 ∈ Fin ) ) → ( 𝑖 ∈ 𝑀 , 𝑘 ∈ 𝑃 ↦ ( 𝑅 Σg ( 𝑗 ∈ 𝑁 ↦ ( ( 𝑖 𝑥 𝑗 ) ( .r ‘ 𝑅 ) ( 𝑗 𝑦 𝑘 ) ) ) ) ) ∈ V ) |
| 17 | 16 | a1d | ⊢ ( ( 𝑅 ∈ 𝑉 ∧ ( 𝑀 ∈ Fin ∧ 𝑁 ∈ Fin ∧ 𝑃 ∈ Fin ) ) → ( ( 𝑥 ∈ ( ( Base ‘ 𝑅 ) ↑m ( 𝑀 × 𝑁 ) ) ∧ 𝑦 ∈ ( ( Base ‘ 𝑅 ) ↑m ( 𝑁 × 𝑃 ) ) ) → ( 𝑖 ∈ 𝑀 , 𝑘 ∈ 𝑃 ↦ ( 𝑅 Σg ( 𝑗 ∈ 𝑁 ↦ ( ( 𝑖 𝑥 𝑗 ) ( .r ‘ 𝑅 ) ( 𝑗 𝑦 𝑘 ) ) ) ) ) ∈ V ) ) |
| 18 | 17 | ralrimivv | ⊢ ( ( 𝑅 ∈ 𝑉 ∧ ( 𝑀 ∈ Fin ∧ 𝑁 ∈ Fin ∧ 𝑃 ∈ Fin ) ) → ∀ 𝑥 ∈ ( ( Base ‘ 𝑅 ) ↑m ( 𝑀 × 𝑁 ) ) ∀ 𝑦 ∈ ( ( Base ‘ 𝑅 ) ↑m ( 𝑁 × 𝑃 ) ) ( 𝑖 ∈ 𝑀 , 𝑘 ∈ 𝑃 ↦ ( 𝑅 Σg ( 𝑗 ∈ 𝑁 ↦ ( ( 𝑖 𝑥 𝑗 ) ( .r ‘ 𝑅 ) ( 𝑗 𝑦 𝑘 ) ) ) ) ) ∈ V ) |
| 19 | eqid | ⊢ ( 𝑥 ∈ ( ( Base ‘ 𝑅 ) ↑m ( 𝑀 × 𝑁 ) ) , 𝑦 ∈ ( ( Base ‘ 𝑅 ) ↑m ( 𝑁 × 𝑃 ) ) ↦ ( 𝑖 ∈ 𝑀 , 𝑘 ∈ 𝑃 ↦ ( 𝑅 Σg ( 𝑗 ∈ 𝑁 ↦ ( ( 𝑖 𝑥 𝑗 ) ( .r ‘ 𝑅 ) ( 𝑗 𝑦 𝑘 ) ) ) ) ) ) = ( 𝑥 ∈ ( ( Base ‘ 𝑅 ) ↑m ( 𝑀 × 𝑁 ) ) , 𝑦 ∈ ( ( Base ‘ 𝑅 ) ↑m ( 𝑁 × 𝑃 ) ) ↦ ( 𝑖 ∈ 𝑀 , 𝑘 ∈ 𝑃 ↦ ( 𝑅 Σg ( 𝑗 ∈ 𝑁 ↦ ( ( 𝑖 𝑥 𝑗 ) ( .r ‘ 𝑅 ) ( 𝑗 𝑦 𝑘 ) ) ) ) ) ) | |
| 20 | 19 | dmmpoga | ⊢ ( ∀ 𝑥 ∈ ( ( Base ‘ 𝑅 ) ↑m ( 𝑀 × 𝑁 ) ) ∀ 𝑦 ∈ ( ( Base ‘ 𝑅 ) ↑m ( 𝑁 × 𝑃 ) ) ( 𝑖 ∈ 𝑀 , 𝑘 ∈ 𝑃 ↦ ( 𝑅 Σg ( 𝑗 ∈ 𝑁 ↦ ( ( 𝑖 𝑥 𝑗 ) ( .r ‘ 𝑅 ) ( 𝑗 𝑦 𝑘 ) ) ) ) ) ∈ V → dom ( 𝑥 ∈ ( ( Base ‘ 𝑅 ) ↑m ( 𝑀 × 𝑁 ) ) , 𝑦 ∈ ( ( Base ‘ 𝑅 ) ↑m ( 𝑁 × 𝑃 ) ) ↦ ( 𝑖 ∈ 𝑀 , 𝑘 ∈ 𝑃 ↦ ( 𝑅 Σg ( 𝑗 ∈ 𝑁 ↦ ( ( 𝑖 𝑥 𝑗 ) ( .r ‘ 𝑅 ) ( 𝑗 𝑦 𝑘 ) ) ) ) ) ) = ( ( ( Base ‘ 𝑅 ) ↑m ( 𝑀 × 𝑁 ) ) × ( ( Base ‘ 𝑅 ) ↑m ( 𝑁 × 𝑃 ) ) ) ) |
| 21 | 18 20 | syl | ⊢ ( ( 𝑅 ∈ 𝑉 ∧ ( 𝑀 ∈ Fin ∧ 𝑁 ∈ Fin ∧ 𝑃 ∈ Fin ) ) → dom ( 𝑥 ∈ ( ( Base ‘ 𝑅 ) ↑m ( 𝑀 × 𝑁 ) ) , 𝑦 ∈ ( ( Base ‘ 𝑅 ) ↑m ( 𝑁 × 𝑃 ) ) ↦ ( 𝑖 ∈ 𝑀 , 𝑘 ∈ 𝑃 ↦ ( 𝑅 Σg ( 𝑗 ∈ 𝑁 ↦ ( ( 𝑖 𝑥 𝑗 ) ( .r ‘ 𝑅 ) ( 𝑗 𝑦 𝑘 ) ) ) ) ) ) = ( ( ( Base ‘ 𝑅 ) ↑m ( 𝑀 × 𝑁 ) ) × ( ( Base ‘ 𝑅 ) ↑m ( 𝑁 × 𝑃 ) ) ) ) |
| 22 | xpfi | ⊢ ( ( 𝑀 ∈ Fin ∧ 𝑁 ∈ Fin ) → ( 𝑀 × 𝑁 ) ∈ Fin ) | |
| 23 | 22 | 3adant3 | ⊢ ( ( 𝑀 ∈ Fin ∧ 𝑁 ∈ Fin ∧ 𝑃 ∈ Fin ) → ( 𝑀 × 𝑁 ) ∈ Fin ) |
| 24 | 1 6 | frlmfibas | ⊢ ( ( 𝑅 ∈ 𝑉 ∧ ( 𝑀 × 𝑁 ) ∈ Fin ) → ( ( Base ‘ 𝑅 ) ↑m ( 𝑀 × 𝑁 ) ) = ( Base ‘ 𝐸 ) ) |
| 25 | 23 24 | sylan2 | ⊢ ( ( 𝑅 ∈ 𝑉 ∧ ( 𝑀 ∈ Fin ∧ 𝑁 ∈ Fin ∧ 𝑃 ∈ Fin ) ) → ( ( Base ‘ 𝑅 ) ↑m ( 𝑀 × 𝑁 ) ) = ( Base ‘ 𝐸 ) ) |
| 26 | 25 2 | eqtr4di | ⊢ ( ( 𝑅 ∈ 𝑉 ∧ ( 𝑀 ∈ Fin ∧ 𝑁 ∈ Fin ∧ 𝑃 ∈ Fin ) ) → ( ( Base ‘ 𝑅 ) ↑m ( 𝑀 × 𝑁 ) ) = 𝐵 ) |
| 27 | xpfi | ⊢ ( ( 𝑁 ∈ Fin ∧ 𝑃 ∈ Fin ) → ( 𝑁 × 𝑃 ) ∈ Fin ) | |
| 28 | 27 | 3adant1 | ⊢ ( ( 𝑀 ∈ Fin ∧ 𝑁 ∈ Fin ∧ 𝑃 ∈ Fin ) → ( 𝑁 × 𝑃 ) ∈ Fin ) |
| 29 | 3 6 | frlmfibas | ⊢ ( ( 𝑅 ∈ 𝑉 ∧ ( 𝑁 × 𝑃 ) ∈ Fin ) → ( ( Base ‘ 𝑅 ) ↑m ( 𝑁 × 𝑃 ) ) = ( Base ‘ 𝐹 ) ) |
| 30 | 28 29 | sylan2 | ⊢ ( ( 𝑅 ∈ 𝑉 ∧ ( 𝑀 ∈ Fin ∧ 𝑁 ∈ Fin ∧ 𝑃 ∈ Fin ) ) → ( ( Base ‘ 𝑅 ) ↑m ( 𝑁 × 𝑃 ) ) = ( Base ‘ 𝐹 ) ) |
| 31 | 30 4 | eqtr4di | ⊢ ( ( 𝑅 ∈ 𝑉 ∧ ( 𝑀 ∈ Fin ∧ 𝑁 ∈ Fin ∧ 𝑃 ∈ Fin ) ) → ( ( Base ‘ 𝑅 ) ↑m ( 𝑁 × 𝑃 ) ) = 𝐶 ) |
| 32 | 26 31 | xpeq12d | ⊢ ( ( 𝑅 ∈ 𝑉 ∧ ( 𝑀 ∈ Fin ∧ 𝑁 ∈ Fin ∧ 𝑃 ∈ Fin ) ) → ( ( ( Base ‘ 𝑅 ) ↑m ( 𝑀 × 𝑁 ) ) × ( ( Base ‘ 𝑅 ) ↑m ( 𝑁 × 𝑃 ) ) ) = ( 𝐵 × 𝐶 ) ) |
| 33 | 13 21 32 | 3eqtrd | ⊢ ( ( 𝑅 ∈ 𝑉 ∧ ( 𝑀 ∈ Fin ∧ 𝑁 ∈ Fin ∧ 𝑃 ∈ Fin ) ) → dom × = ( 𝐵 × 𝐶 ) ) |