Metamath Proof Explorer


Theorem mamutpos

Description: Behavior of transposes in matrix products, see also the statement in Lang p. 505. (Contributed by Stefan O'Rear, 9-Jul-2018)

Ref Expression
Hypotheses mamutpos.f 𝐹 = ( 𝑅 maMul ⟨ 𝑀 , 𝑁 , 𝑃 ⟩ )
mamutpos.g 𝐺 = ( 𝑅 maMul ⟨ 𝑃 , 𝑁 , 𝑀 ⟩ )
mamutpos.b 𝐵 = ( Base ‘ 𝑅 )
mamutpos.r ( 𝜑𝑅 ∈ CRing )
mamutpos.m ( 𝜑𝑀 ∈ Fin )
mamutpos.n ( 𝜑𝑁 ∈ Fin )
mamutpos.p ( 𝜑𝑃 ∈ Fin )
mamutpos.x ( 𝜑𝑋 ∈ ( 𝐵m ( 𝑀 × 𝑁 ) ) )
mamutpos.y ( 𝜑𝑌 ∈ ( 𝐵m ( 𝑁 × 𝑃 ) ) )
Assertion mamutpos ( 𝜑 → tpos ( 𝑋 𝐹 𝑌 ) = ( tpos 𝑌 𝐺 tpos 𝑋 ) )

Proof

Step Hyp Ref Expression
1 mamutpos.f 𝐹 = ( 𝑅 maMul ⟨ 𝑀 , 𝑁 , 𝑃 ⟩ )
2 mamutpos.g 𝐺 = ( 𝑅 maMul ⟨ 𝑃 , 𝑁 , 𝑀 ⟩ )
3 mamutpos.b 𝐵 = ( Base ‘ 𝑅 )
4 mamutpos.r ( 𝜑𝑅 ∈ CRing )
5 mamutpos.m ( 𝜑𝑀 ∈ Fin )
6 mamutpos.n ( 𝜑𝑁 ∈ Fin )
7 mamutpos.p ( 𝜑𝑃 ∈ Fin )
8 mamutpos.x ( 𝜑𝑋 ∈ ( 𝐵m ( 𝑀 × 𝑁 ) ) )
9 mamutpos.y ( 𝜑𝑌 ∈ ( 𝐵m ( 𝑁 × 𝑃 ) ) )
10 eqid ( 𝑗𝑀 , 𝑖𝑃 ↦ ( 𝑅 Σg ( 𝑘𝑁 ↦ ( ( 𝑗 𝑋 𝑘 ) ( .r𝑅 ) ( 𝑘 𝑌 𝑖 ) ) ) ) ) = ( 𝑗𝑀 , 𝑖𝑃 ↦ ( 𝑅 Σg ( 𝑘𝑁 ↦ ( ( 𝑗 𝑋 𝑘 ) ( .r𝑅 ) ( 𝑘 𝑌 𝑖 ) ) ) ) )
11 10 tposmpo tpos ( 𝑗𝑀 , 𝑖𝑃 ↦ ( 𝑅 Σg ( 𝑘𝑁 ↦ ( ( 𝑗 𝑋 𝑘 ) ( .r𝑅 ) ( 𝑘 𝑌 𝑖 ) ) ) ) ) = ( 𝑖𝑃 , 𝑗𝑀 ↦ ( 𝑅 Σg ( 𝑘𝑁 ↦ ( ( 𝑗 𝑋 𝑘 ) ( .r𝑅 ) ( 𝑘 𝑌 𝑖 ) ) ) ) )
12 simpl1 ( ( ( 𝜑𝑖𝑃𝑗𝑀 ) ∧ 𝑘𝑁 ) → 𝜑 )
13 12 4 syl ( ( ( 𝜑𝑖𝑃𝑗𝑀 ) ∧ 𝑘𝑁 ) → 𝑅 ∈ CRing )
14 elmapi ( 𝑋 ∈ ( 𝐵m ( 𝑀 × 𝑁 ) ) → 𝑋 : ( 𝑀 × 𝑁 ) ⟶ 𝐵 )
15 12 8 14 3syl ( ( ( 𝜑𝑖𝑃𝑗𝑀 ) ∧ 𝑘𝑁 ) → 𝑋 : ( 𝑀 × 𝑁 ) ⟶ 𝐵 )
16 simpl3 ( ( ( 𝜑𝑖𝑃𝑗𝑀 ) ∧ 𝑘𝑁 ) → 𝑗𝑀 )
17 simpr ( ( ( 𝜑𝑖𝑃𝑗𝑀 ) ∧ 𝑘𝑁 ) → 𝑘𝑁 )
18 15 16 17 fovrnd ( ( ( 𝜑𝑖𝑃𝑗𝑀 ) ∧ 𝑘𝑁 ) → ( 𝑗 𝑋 𝑘 ) ∈ 𝐵 )
19 elmapi ( 𝑌 ∈ ( 𝐵m ( 𝑁 × 𝑃 ) ) → 𝑌 : ( 𝑁 × 𝑃 ) ⟶ 𝐵 )
20 12 9 19 3syl ( ( ( 𝜑𝑖𝑃𝑗𝑀 ) ∧ 𝑘𝑁 ) → 𝑌 : ( 𝑁 × 𝑃 ) ⟶ 𝐵 )
21 simpl2 ( ( ( 𝜑𝑖𝑃𝑗𝑀 ) ∧ 𝑘𝑁 ) → 𝑖𝑃 )
22 20 17 21 fovrnd ( ( ( 𝜑𝑖𝑃𝑗𝑀 ) ∧ 𝑘𝑁 ) → ( 𝑘 𝑌 𝑖 ) ∈ 𝐵 )
23 eqid ( .r𝑅 ) = ( .r𝑅 )
24 3 23 crngcom ( ( 𝑅 ∈ CRing ∧ ( 𝑗 𝑋 𝑘 ) ∈ 𝐵 ∧ ( 𝑘 𝑌 𝑖 ) ∈ 𝐵 ) → ( ( 𝑗 𝑋 𝑘 ) ( .r𝑅 ) ( 𝑘 𝑌 𝑖 ) ) = ( ( 𝑘 𝑌 𝑖 ) ( .r𝑅 ) ( 𝑗 𝑋 𝑘 ) ) )
25 13 18 22 24 syl3anc ( ( ( 𝜑𝑖𝑃𝑗𝑀 ) ∧ 𝑘𝑁 ) → ( ( 𝑗 𝑋 𝑘 ) ( .r𝑅 ) ( 𝑘 𝑌 𝑖 ) ) = ( ( 𝑘 𝑌 𝑖 ) ( .r𝑅 ) ( 𝑗 𝑋 𝑘 ) ) )
26 ovtpos ( 𝑖 tpos 𝑌 𝑘 ) = ( 𝑘 𝑌 𝑖 )
27 ovtpos ( 𝑘 tpos 𝑋 𝑗 ) = ( 𝑗 𝑋 𝑘 )
28 26 27 oveq12i ( ( 𝑖 tpos 𝑌 𝑘 ) ( .r𝑅 ) ( 𝑘 tpos 𝑋 𝑗 ) ) = ( ( 𝑘 𝑌 𝑖 ) ( .r𝑅 ) ( 𝑗 𝑋 𝑘 ) )
29 25 28 eqtr4di ( ( ( 𝜑𝑖𝑃𝑗𝑀 ) ∧ 𝑘𝑁 ) → ( ( 𝑗 𝑋 𝑘 ) ( .r𝑅 ) ( 𝑘 𝑌 𝑖 ) ) = ( ( 𝑖 tpos 𝑌 𝑘 ) ( .r𝑅 ) ( 𝑘 tpos 𝑋 𝑗 ) ) )
30 29 mpteq2dva ( ( 𝜑𝑖𝑃𝑗𝑀 ) → ( 𝑘𝑁 ↦ ( ( 𝑗 𝑋 𝑘 ) ( .r𝑅 ) ( 𝑘 𝑌 𝑖 ) ) ) = ( 𝑘𝑁 ↦ ( ( 𝑖 tpos 𝑌 𝑘 ) ( .r𝑅 ) ( 𝑘 tpos 𝑋 𝑗 ) ) ) )
31 30 oveq2d ( ( 𝜑𝑖𝑃𝑗𝑀 ) → ( 𝑅 Σg ( 𝑘𝑁 ↦ ( ( 𝑗 𝑋 𝑘 ) ( .r𝑅 ) ( 𝑘 𝑌 𝑖 ) ) ) ) = ( 𝑅 Σg ( 𝑘𝑁 ↦ ( ( 𝑖 tpos 𝑌 𝑘 ) ( .r𝑅 ) ( 𝑘 tpos 𝑋 𝑗 ) ) ) ) )
32 31 mpoeq3dva ( 𝜑 → ( 𝑖𝑃 , 𝑗𝑀 ↦ ( 𝑅 Σg ( 𝑘𝑁 ↦ ( ( 𝑗 𝑋 𝑘 ) ( .r𝑅 ) ( 𝑘 𝑌 𝑖 ) ) ) ) ) = ( 𝑖𝑃 , 𝑗𝑀 ↦ ( 𝑅 Σg ( 𝑘𝑁 ↦ ( ( 𝑖 tpos 𝑌 𝑘 ) ( .r𝑅 ) ( 𝑘 tpos 𝑋 𝑗 ) ) ) ) ) )
33 11 32 eqtrid ( 𝜑 → tpos ( 𝑗𝑀 , 𝑖𝑃 ↦ ( 𝑅 Σg ( 𝑘𝑁 ↦ ( ( 𝑗 𝑋 𝑘 ) ( .r𝑅 ) ( 𝑘 𝑌 𝑖 ) ) ) ) ) = ( 𝑖𝑃 , 𝑗𝑀 ↦ ( 𝑅 Σg ( 𝑘𝑁 ↦ ( ( 𝑖 tpos 𝑌 𝑘 ) ( .r𝑅 ) ( 𝑘 tpos 𝑋 𝑗 ) ) ) ) ) )
34 1 3 23 4 5 6 7 8 9 mamuval ( 𝜑 → ( 𝑋 𝐹 𝑌 ) = ( 𝑗𝑀 , 𝑖𝑃 ↦ ( 𝑅 Σg ( 𝑘𝑁 ↦ ( ( 𝑗 𝑋 𝑘 ) ( .r𝑅 ) ( 𝑘 𝑌 𝑖 ) ) ) ) ) )
35 34 tposeqd ( 𝜑 → tpos ( 𝑋 𝐹 𝑌 ) = tpos ( 𝑗𝑀 , 𝑖𝑃 ↦ ( 𝑅 Σg ( 𝑘𝑁 ↦ ( ( 𝑗 𝑋 𝑘 ) ( .r𝑅 ) ( 𝑘 𝑌 𝑖 ) ) ) ) ) )
36 tposmap ( 𝑌 ∈ ( 𝐵m ( 𝑁 × 𝑃 ) ) → tpos 𝑌 ∈ ( 𝐵m ( 𝑃 × 𝑁 ) ) )
37 9 36 syl ( 𝜑 → tpos 𝑌 ∈ ( 𝐵m ( 𝑃 × 𝑁 ) ) )
38 tposmap ( 𝑋 ∈ ( 𝐵m ( 𝑀 × 𝑁 ) ) → tpos 𝑋 ∈ ( 𝐵m ( 𝑁 × 𝑀 ) ) )
39 8 38 syl ( 𝜑 → tpos 𝑋 ∈ ( 𝐵m ( 𝑁 × 𝑀 ) ) )
40 2 3 23 4 7 6 5 37 39 mamuval ( 𝜑 → ( tpos 𝑌 𝐺 tpos 𝑋 ) = ( 𝑖𝑃 , 𝑗𝑀 ↦ ( 𝑅 Σg ( 𝑘𝑁 ↦ ( ( 𝑖 tpos 𝑌 𝑘 ) ( .r𝑅 ) ( 𝑘 tpos 𝑋 𝑗 ) ) ) ) ) )
41 33 35 40 3eqtr4d ( 𝜑 → tpos ( 𝑋 𝐹 𝑌 ) = ( tpos 𝑌 𝐺 tpos 𝑋 ) )