Metamath Proof Explorer


Theorem prdsmgp

Description: The multiplicative monoid of a product is the product of the multiplicative monoids of the factors. (Contributed by Mario Carneiro, 11-Mar-2015)

Ref Expression
Hypotheses prdsmgp.y 𝑌 = ( 𝑆 Xs 𝑅 )
prdsmgp.m 𝑀 = ( mulGrp ‘ 𝑌 )
prdsmgp.z 𝑍 = ( 𝑆 Xs ( mulGrp ∘ 𝑅 ) )
prdsmgp.i ( 𝜑𝐼𝑉 )
prdsmgp.s ( 𝜑𝑆𝑊 )
prdsmgp.r ( 𝜑𝑅 Fn 𝐼 )
Assertion prdsmgp ( 𝜑 → ( ( Base ‘ 𝑀 ) = ( Base ‘ 𝑍 ) ∧ ( +g𝑀 ) = ( +g𝑍 ) ) )

Proof

Step Hyp Ref Expression
1 prdsmgp.y 𝑌 = ( 𝑆 Xs 𝑅 )
2 prdsmgp.m 𝑀 = ( mulGrp ‘ 𝑌 )
3 prdsmgp.z 𝑍 = ( 𝑆 Xs ( mulGrp ∘ 𝑅 ) )
4 prdsmgp.i ( 𝜑𝐼𝑉 )
5 prdsmgp.s ( 𝜑𝑆𝑊 )
6 prdsmgp.r ( 𝜑𝑅 Fn 𝐼 )
7 eqid ( mulGrp ‘ ( 𝑅𝑥 ) ) = ( mulGrp ‘ ( 𝑅𝑥 ) )
8 eqid ( Base ‘ ( 𝑅𝑥 ) ) = ( Base ‘ ( 𝑅𝑥 ) )
9 7 8 mgpbas ( Base ‘ ( 𝑅𝑥 ) ) = ( Base ‘ ( mulGrp ‘ ( 𝑅𝑥 ) ) )
10 fvco2 ( ( 𝑅 Fn 𝐼𝑥𝐼 ) → ( ( mulGrp ∘ 𝑅 ) ‘ 𝑥 ) = ( mulGrp ‘ ( 𝑅𝑥 ) ) )
11 6 10 sylan ( ( 𝜑𝑥𝐼 ) → ( ( mulGrp ∘ 𝑅 ) ‘ 𝑥 ) = ( mulGrp ‘ ( 𝑅𝑥 ) ) )
12 11 eqcomd ( ( 𝜑𝑥𝐼 ) → ( mulGrp ‘ ( 𝑅𝑥 ) ) = ( ( mulGrp ∘ 𝑅 ) ‘ 𝑥 ) )
13 12 fveq2d ( ( 𝜑𝑥𝐼 ) → ( Base ‘ ( mulGrp ‘ ( 𝑅𝑥 ) ) ) = ( Base ‘ ( ( mulGrp ∘ 𝑅 ) ‘ 𝑥 ) ) )
14 9 13 syl5eq ( ( 𝜑𝑥𝐼 ) → ( Base ‘ ( 𝑅𝑥 ) ) = ( Base ‘ ( ( mulGrp ∘ 𝑅 ) ‘ 𝑥 ) ) )
15 14 ixpeq2dva ( 𝜑X 𝑥𝐼 ( Base ‘ ( 𝑅𝑥 ) ) = X 𝑥𝐼 ( Base ‘ ( ( mulGrp ∘ 𝑅 ) ‘ 𝑥 ) ) )
16 eqid ( Base ‘ 𝑌 ) = ( Base ‘ 𝑌 )
17 2 16 mgpbas ( Base ‘ 𝑌 ) = ( Base ‘ 𝑀 )
18 17 eqcomi ( Base ‘ 𝑀 ) = ( Base ‘ 𝑌 )
19 1 18 5 4 6 prdsbas2 ( 𝜑 → ( Base ‘ 𝑀 ) = X 𝑥𝐼 ( Base ‘ ( 𝑅𝑥 ) ) )
20 eqid ( Base ‘ 𝑍 ) = ( Base ‘ 𝑍 )
21 fnmgp mulGrp Fn V
22 ssv ran 𝑅 ⊆ V
23 22 a1i ( 𝜑 → ran 𝑅 ⊆ V )
24 fnco ( ( mulGrp Fn V ∧ 𝑅 Fn 𝐼 ∧ ran 𝑅 ⊆ V ) → ( mulGrp ∘ 𝑅 ) Fn 𝐼 )
25 21 6 23 24 mp3an2i ( 𝜑 → ( mulGrp ∘ 𝑅 ) Fn 𝐼 )
26 3 20 5 4 25 prdsbas2 ( 𝜑 → ( Base ‘ 𝑍 ) = X 𝑥𝐼 ( Base ‘ ( ( mulGrp ∘ 𝑅 ) ‘ 𝑥 ) ) )
27 15 19 26 3eqtr4d ( 𝜑 → ( Base ‘ 𝑀 ) = ( Base ‘ 𝑍 ) )
28 eqid ( .r𝑌 ) = ( .r𝑌 )
29 2 28 mgpplusg ( .r𝑌 ) = ( +g𝑀 )
30 eqid ( mulGrp ‘ ( 𝑅𝑧 ) ) = ( mulGrp ‘ ( 𝑅𝑧 ) )
31 eqid ( .r ‘ ( 𝑅𝑧 ) ) = ( .r ‘ ( 𝑅𝑧 ) )
32 30 31 mgpplusg ( .r ‘ ( 𝑅𝑧 ) ) = ( +g ‘ ( mulGrp ‘ ( 𝑅𝑧 ) ) )
33 fvco2 ( ( 𝑅 Fn 𝐼𝑧𝐼 ) → ( ( mulGrp ∘ 𝑅 ) ‘ 𝑧 ) = ( mulGrp ‘ ( 𝑅𝑧 ) ) )
34 6 33 sylan ( ( 𝜑𝑧𝐼 ) → ( ( mulGrp ∘ 𝑅 ) ‘ 𝑧 ) = ( mulGrp ‘ ( 𝑅𝑧 ) ) )
35 34 eqcomd ( ( 𝜑𝑧𝐼 ) → ( mulGrp ‘ ( 𝑅𝑧 ) ) = ( ( mulGrp ∘ 𝑅 ) ‘ 𝑧 ) )
36 35 fveq2d ( ( 𝜑𝑧𝐼 ) → ( +g ‘ ( mulGrp ‘ ( 𝑅𝑧 ) ) ) = ( +g ‘ ( ( mulGrp ∘ 𝑅 ) ‘ 𝑧 ) ) )
37 32 36 syl5eq ( ( 𝜑𝑧𝐼 ) → ( .r ‘ ( 𝑅𝑧 ) ) = ( +g ‘ ( ( mulGrp ∘ 𝑅 ) ‘ 𝑧 ) ) )
38 37 oveqd ( ( 𝜑𝑧𝐼 ) → ( ( 𝑥𝑧 ) ( .r ‘ ( 𝑅𝑧 ) ) ( 𝑦𝑧 ) ) = ( ( 𝑥𝑧 ) ( +g ‘ ( ( mulGrp ∘ 𝑅 ) ‘ 𝑧 ) ) ( 𝑦𝑧 ) ) )
39 38 mpteq2dva ( 𝜑 → ( 𝑧𝐼 ↦ ( ( 𝑥𝑧 ) ( .r ‘ ( 𝑅𝑧 ) ) ( 𝑦𝑧 ) ) ) = ( 𝑧𝐼 ↦ ( ( 𝑥𝑧 ) ( +g ‘ ( ( mulGrp ∘ 𝑅 ) ‘ 𝑧 ) ) ( 𝑦𝑧 ) ) ) )
40 27 27 39 mpoeq123dv ( 𝜑 → ( 𝑥 ∈ ( Base ‘ 𝑀 ) , 𝑦 ∈ ( Base ‘ 𝑀 ) ↦ ( 𝑧𝐼 ↦ ( ( 𝑥𝑧 ) ( .r ‘ ( 𝑅𝑧 ) ) ( 𝑦𝑧 ) ) ) ) = ( 𝑥 ∈ ( Base ‘ 𝑍 ) , 𝑦 ∈ ( Base ‘ 𝑍 ) ↦ ( 𝑧𝐼 ↦ ( ( 𝑥𝑧 ) ( +g ‘ ( ( mulGrp ∘ 𝑅 ) ‘ 𝑧 ) ) ( 𝑦𝑧 ) ) ) ) )
41 fnex ( ( 𝑅 Fn 𝐼𝐼𝑉 ) → 𝑅 ∈ V )
42 6 4 41 syl2anc ( 𝜑𝑅 ∈ V )
43 6 fndmd ( 𝜑 → dom 𝑅 = 𝐼 )
44 1 5 42 18 43 28 prdsmulr ( 𝜑 → ( .r𝑌 ) = ( 𝑥 ∈ ( Base ‘ 𝑀 ) , 𝑦 ∈ ( Base ‘ 𝑀 ) ↦ ( 𝑧𝐼 ↦ ( ( 𝑥𝑧 ) ( .r ‘ ( 𝑅𝑧 ) ) ( 𝑦𝑧 ) ) ) ) )
45 fnex ( ( ( mulGrp ∘ 𝑅 ) Fn 𝐼𝐼𝑉 ) → ( mulGrp ∘ 𝑅 ) ∈ V )
46 25 4 45 syl2anc ( 𝜑 → ( mulGrp ∘ 𝑅 ) ∈ V )
47 25 fndmd ( 𝜑 → dom ( mulGrp ∘ 𝑅 ) = 𝐼 )
48 eqid ( +g𝑍 ) = ( +g𝑍 )
49 3 5 46 20 47 48 prdsplusg ( 𝜑 → ( +g𝑍 ) = ( 𝑥 ∈ ( Base ‘ 𝑍 ) , 𝑦 ∈ ( Base ‘ 𝑍 ) ↦ ( 𝑧𝐼 ↦ ( ( 𝑥𝑧 ) ( +g ‘ ( ( mulGrp ∘ 𝑅 ) ‘ 𝑧 ) ) ( 𝑦𝑧 ) ) ) ) )
50 40 44 49 3eqtr4d ( 𝜑 → ( .r𝑌 ) = ( +g𝑍 ) )
51 29 50 eqtr3id ( 𝜑 → ( +g𝑀 ) = ( +g𝑍 ) )
52 27 51 jca ( 𝜑 → ( ( Base ‘ 𝑀 ) = ( Base ‘ 𝑍 ) ∧ ( +g𝑀 ) = ( +g𝑍 ) ) )