Metamath Proof Explorer


Theorem mamudm

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 × = ( 𝐵 × 𝐶 ) )

Proof

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 × = ( 𝐵 × 𝐶 ) )