Metamath Proof Explorer


Theorem dprdf1o

Description: Rearrange the index set of a direct product family. (Contributed by Mario Carneiro, 25-Apr-2016)

Ref Expression
Hypotheses dprdf1o.1 ( 𝜑𝐺 dom DProd 𝑆 )
dprdf1o.2 ( 𝜑 → dom 𝑆 = 𝐼 )
dprdf1o.3 ( 𝜑𝐹 : 𝐽1-1-onto𝐼 )
Assertion dprdf1o ( 𝜑 → ( 𝐺 dom DProd ( 𝑆𝐹 ) ∧ ( 𝐺 DProd ( 𝑆𝐹 ) ) = ( 𝐺 DProd 𝑆 ) ) )

Proof

Step Hyp Ref Expression
1 dprdf1o.1 ( 𝜑𝐺 dom DProd 𝑆 )
2 dprdf1o.2 ( 𝜑 → dom 𝑆 = 𝐼 )
3 dprdf1o.3 ( 𝜑𝐹 : 𝐽1-1-onto𝐼 )
4 eqid ( Cntz ‘ 𝐺 ) = ( Cntz ‘ 𝐺 )
5 eqid ( 0g𝐺 ) = ( 0g𝐺 )
6 eqid ( mrCls ‘ ( SubGrp ‘ 𝐺 ) ) = ( mrCls ‘ ( SubGrp ‘ 𝐺 ) )
7 dprdgrp ( 𝐺 dom DProd 𝑆𝐺 ∈ Grp )
8 1 7 syl ( 𝜑𝐺 ∈ Grp )
9 f1of1 ( 𝐹 : 𝐽1-1-onto𝐼𝐹 : 𝐽1-1𝐼 )
10 3 9 syl ( 𝜑𝐹 : 𝐽1-1𝐼 )
11 1 2 dprddomcld ( 𝜑𝐼 ∈ V )
12 f1dmex ( ( 𝐹 : 𝐽1-1𝐼𝐼 ∈ V ) → 𝐽 ∈ V )
13 10 11 12 syl2anc ( 𝜑𝐽 ∈ V )
14 1 2 dprdf2 ( 𝜑𝑆 : 𝐼 ⟶ ( SubGrp ‘ 𝐺 ) )
15 f1of ( 𝐹 : 𝐽1-1-onto𝐼𝐹 : 𝐽𝐼 )
16 3 15 syl ( 𝜑𝐹 : 𝐽𝐼 )
17 fco ( ( 𝑆 : 𝐼 ⟶ ( SubGrp ‘ 𝐺 ) ∧ 𝐹 : 𝐽𝐼 ) → ( 𝑆𝐹 ) : 𝐽 ⟶ ( SubGrp ‘ 𝐺 ) )
18 14 16 17 syl2anc ( 𝜑 → ( 𝑆𝐹 ) : 𝐽 ⟶ ( SubGrp ‘ 𝐺 ) )
19 1 adantr ( ( 𝜑 ∧ ( 𝑥𝐽𝑦𝐽𝑥𝑦 ) ) → 𝐺 dom DProd 𝑆 )
20 2 adantr ( ( 𝜑 ∧ ( 𝑥𝐽𝑦𝐽𝑥𝑦 ) ) → dom 𝑆 = 𝐼 )
21 16 adantr ( ( 𝜑 ∧ ( 𝑥𝐽𝑦𝐽𝑥𝑦 ) ) → 𝐹 : 𝐽𝐼 )
22 simpr1 ( ( 𝜑 ∧ ( 𝑥𝐽𝑦𝐽𝑥𝑦 ) ) → 𝑥𝐽 )
23 21 22 ffvelrnd ( ( 𝜑 ∧ ( 𝑥𝐽𝑦𝐽𝑥𝑦 ) ) → ( 𝐹𝑥 ) ∈ 𝐼 )
24 simpr2 ( ( 𝜑 ∧ ( 𝑥𝐽𝑦𝐽𝑥𝑦 ) ) → 𝑦𝐽 )
25 21 24 ffvelrnd ( ( 𝜑 ∧ ( 𝑥𝐽𝑦𝐽𝑥𝑦 ) ) → ( 𝐹𝑦 ) ∈ 𝐼 )
26 simpr3 ( ( 𝜑 ∧ ( 𝑥𝐽𝑦𝐽𝑥𝑦 ) ) → 𝑥𝑦 )
27 10 adantr ( ( 𝜑 ∧ ( 𝑥𝐽𝑦𝐽𝑥𝑦 ) ) → 𝐹 : 𝐽1-1𝐼 )
28 f1fveq ( ( 𝐹 : 𝐽1-1𝐼 ∧ ( 𝑥𝐽𝑦𝐽 ) ) → ( ( 𝐹𝑥 ) = ( 𝐹𝑦 ) ↔ 𝑥 = 𝑦 ) )
29 27 22 24 28 syl12anc ( ( 𝜑 ∧ ( 𝑥𝐽𝑦𝐽𝑥𝑦 ) ) → ( ( 𝐹𝑥 ) = ( 𝐹𝑦 ) ↔ 𝑥 = 𝑦 ) )
30 29 necon3bid ( ( 𝜑 ∧ ( 𝑥𝐽𝑦𝐽𝑥𝑦 ) ) → ( ( 𝐹𝑥 ) ≠ ( 𝐹𝑦 ) ↔ 𝑥𝑦 ) )
31 26 30 mpbird ( ( 𝜑 ∧ ( 𝑥𝐽𝑦𝐽𝑥𝑦 ) ) → ( 𝐹𝑥 ) ≠ ( 𝐹𝑦 ) )
32 19 20 23 25 31 4 dprdcntz ( ( 𝜑 ∧ ( 𝑥𝐽𝑦𝐽𝑥𝑦 ) ) → ( 𝑆 ‘ ( 𝐹𝑥 ) ) ⊆ ( ( Cntz ‘ 𝐺 ) ‘ ( 𝑆 ‘ ( 𝐹𝑦 ) ) ) )
33 fvco3 ( ( 𝐹 : 𝐽𝐼𝑥𝐽 ) → ( ( 𝑆𝐹 ) ‘ 𝑥 ) = ( 𝑆 ‘ ( 𝐹𝑥 ) ) )
34 21 22 33 syl2anc ( ( 𝜑 ∧ ( 𝑥𝐽𝑦𝐽𝑥𝑦 ) ) → ( ( 𝑆𝐹 ) ‘ 𝑥 ) = ( 𝑆 ‘ ( 𝐹𝑥 ) ) )
35 fvco3 ( ( 𝐹 : 𝐽𝐼𝑦𝐽 ) → ( ( 𝑆𝐹 ) ‘ 𝑦 ) = ( 𝑆 ‘ ( 𝐹𝑦 ) ) )
36 21 24 35 syl2anc ( ( 𝜑 ∧ ( 𝑥𝐽𝑦𝐽𝑥𝑦 ) ) → ( ( 𝑆𝐹 ) ‘ 𝑦 ) = ( 𝑆 ‘ ( 𝐹𝑦 ) ) )
37 36 fveq2d ( ( 𝜑 ∧ ( 𝑥𝐽𝑦𝐽𝑥𝑦 ) ) → ( ( Cntz ‘ 𝐺 ) ‘ ( ( 𝑆𝐹 ) ‘ 𝑦 ) ) = ( ( Cntz ‘ 𝐺 ) ‘ ( 𝑆 ‘ ( 𝐹𝑦 ) ) ) )
38 32 34 37 3sstr4d ( ( 𝜑 ∧ ( 𝑥𝐽𝑦𝐽𝑥𝑦 ) ) → ( ( 𝑆𝐹 ) ‘ 𝑥 ) ⊆ ( ( Cntz ‘ 𝐺 ) ‘ ( ( 𝑆𝐹 ) ‘ 𝑦 ) ) )
39 16 33 sylan ( ( 𝜑𝑥𝐽 ) → ( ( 𝑆𝐹 ) ‘ 𝑥 ) = ( 𝑆 ‘ ( 𝐹𝑥 ) ) )
40 imaco ( ( 𝑆𝐹 ) “ ( 𝐽 ∖ { 𝑥 } ) ) = ( 𝑆 “ ( 𝐹 “ ( 𝐽 ∖ { 𝑥 } ) ) )
41 3 adantr ( ( 𝜑𝑥𝐽 ) → 𝐹 : 𝐽1-1-onto𝐼 )
42 dff1o3 ( 𝐹 : 𝐽1-1-onto𝐼 ↔ ( 𝐹 : 𝐽onto𝐼 ∧ Fun 𝐹 ) )
43 42 simprbi ( 𝐹 : 𝐽1-1-onto𝐼 → Fun 𝐹 )
44 imadif ( Fun 𝐹 → ( 𝐹 “ ( 𝐽 ∖ { 𝑥 } ) ) = ( ( 𝐹𝐽 ) ∖ ( 𝐹 “ { 𝑥 } ) ) )
45 41 43 44 3syl ( ( 𝜑𝑥𝐽 ) → ( 𝐹 “ ( 𝐽 ∖ { 𝑥 } ) ) = ( ( 𝐹𝐽 ) ∖ ( 𝐹 “ { 𝑥 } ) ) )
46 f1ofo ( 𝐹 : 𝐽1-1-onto𝐼𝐹 : 𝐽onto𝐼 )
47 foima ( 𝐹 : 𝐽onto𝐼 → ( 𝐹𝐽 ) = 𝐼 )
48 41 46 47 3syl ( ( 𝜑𝑥𝐽 ) → ( 𝐹𝐽 ) = 𝐼 )
49 f1ofn ( 𝐹 : 𝐽1-1-onto𝐼𝐹 Fn 𝐽 )
50 3 49 syl ( 𝜑𝐹 Fn 𝐽 )
51 fnsnfv ( ( 𝐹 Fn 𝐽𝑥𝐽 ) → { ( 𝐹𝑥 ) } = ( 𝐹 “ { 𝑥 } ) )
52 50 51 sylan ( ( 𝜑𝑥𝐽 ) → { ( 𝐹𝑥 ) } = ( 𝐹 “ { 𝑥 } ) )
53 52 eqcomd ( ( 𝜑𝑥𝐽 ) → ( 𝐹 “ { 𝑥 } ) = { ( 𝐹𝑥 ) } )
54 48 53 difeq12d ( ( 𝜑𝑥𝐽 ) → ( ( 𝐹𝐽 ) ∖ ( 𝐹 “ { 𝑥 } ) ) = ( 𝐼 ∖ { ( 𝐹𝑥 ) } ) )
55 45 54 eqtrd ( ( 𝜑𝑥𝐽 ) → ( 𝐹 “ ( 𝐽 ∖ { 𝑥 } ) ) = ( 𝐼 ∖ { ( 𝐹𝑥 ) } ) )
56 55 imaeq2d ( ( 𝜑𝑥𝐽 ) → ( 𝑆 “ ( 𝐹 “ ( 𝐽 ∖ { 𝑥 } ) ) ) = ( 𝑆 “ ( 𝐼 ∖ { ( 𝐹𝑥 ) } ) ) )
57 40 56 syl5eq ( ( 𝜑𝑥𝐽 ) → ( ( 𝑆𝐹 ) “ ( 𝐽 ∖ { 𝑥 } ) ) = ( 𝑆 “ ( 𝐼 ∖ { ( 𝐹𝑥 ) } ) ) )
58 57 unieqd ( ( 𝜑𝑥𝐽 ) → ( ( 𝑆𝐹 ) “ ( 𝐽 ∖ { 𝑥 } ) ) = ( 𝑆 “ ( 𝐼 ∖ { ( 𝐹𝑥 ) } ) ) )
59 58 fveq2d ( ( 𝜑𝑥𝐽 ) → ( ( mrCls ‘ ( SubGrp ‘ 𝐺 ) ) ‘ ( ( 𝑆𝐹 ) “ ( 𝐽 ∖ { 𝑥 } ) ) ) = ( ( mrCls ‘ ( SubGrp ‘ 𝐺 ) ) ‘ ( 𝑆 “ ( 𝐼 ∖ { ( 𝐹𝑥 ) } ) ) ) )
60 39 59 ineq12d ( ( 𝜑𝑥𝐽 ) → ( ( ( 𝑆𝐹 ) ‘ 𝑥 ) ∩ ( ( mrCls ‘ ( SubGrp ‘ 𝐺 ) ) ‘ ( ( 𝑆𝐹 ) “ ( 𝐽 ∖ { 𝑥 } ) ) ) ) = ( ( 𝑆 ‘ ( 𝐹𝑥 ) ) ∩ ( ( mrCls ‘ ( SubGrp ‘ 𝐺 ) ) ‘ ( 𝑆 “ ( 𝐼 ∖ { ( 𝐹𝑥 ) } ) ) ) ) )
61 1 adantr ( ( 𝜑𝑥𝐽 ) → 𝐺 dom DProd 𝑆 )
62 2 adantr ( ( 𝜑𝑥𝐽 ) → dom 𝑆 = 𝐼 )
63 16 ffvelrnda ( ( 𝜑𝑥𝐽 ) → ( 𝐹𝑥 ) ∈ 𝐼 )
64 61 62 63 5 6 dprddisj ( ( 𝜑𝑥𝐽 ) → ( ( 𝑆 ‘ ( 𝐹𝑥 ) ) ∩ ( ( mrCls ‘ ( SubGrp ‘ 𝐺 ) ) ‘ ( 𝑆 “ ( 𝐼 ∖ { ( 𝐹𝑥 ) } ) ) ) ) = { ( 0g𝐺 ) } )
65 60 64 eqtrd ( ( 𝜑𝑥𝐽 ) → ( ( ( 𝑆𝐹 ) ‘ 𝑥 ) ∩ ( ( mrCls ‘ ( SubGrp ‘ 𝐺 ) ) ‘ ( ( 𝑆𝐹 ) “ ( 𝐽 ∖ { 𝑥 } ) ) ) ) = { ( 0g𝐺 ) } )
66 eqimss ( ( ( ( 𝑆𝐹 ) ‘ 𝑥 ) ∩ ( ( mrCls ‘ ( SubGrp ‘ 𝐺 ) ) ‘ ( ( 𝑆𝐹 ) “ ( 𝐽 ∖ { 𝑥 } ) ) ) ) = { ( 0g𝐺 ) } → ( ( ( 𝑆𝐹 ) ‘ 𝑥 ) ∩ ( ( mrCls ‘ ( SubGrp ‘ 𝐺 ) ) ‘ ( ( 𝑆𝐹 ) “ ( 𝐽 ∖ { 𝑥 } ) ) ) ) ⊆ { ( 0g𝐺 ) } )
67 65 66 syl ( ( 𝜑𝑥𝐽 ) → ( ( ( 𝑆𝐹 ) ‘ 𝑥 ) ∩ ( ( mrCls ‘ ( SubGrp ‘ 𝐺 ) ) ‘ ( ( 𝑆𝐹 ) “ ( 𝐽 ∖ { 𝑥 } ) ) ) ) ⊆ { ( 0g𝐺 ) } )
68 4 5 6 8 13 18 38 67 dmdprdd ( 𝜑𝐺 dom DProd ( 𝑆𝐹 ) )
69 rnco2 ran ( 𝑆𝐹 ) = ( 𝑆 “ ran 𝐹 )
70 forn ( 𝐹 : 𝐽onto𝐼 → ran 𝐹 = 𝐼 )
71 3 46 70 3syl ( 𝜑 → ran 𝐹 = 𝐼 )
72 71 imaeq2d ( 𝜑 → ( 𝑆 “ ran 𝐹 ) = ( 𝑆𝐼 ) )
73 ffn ( 𝑆 : 𝐼 ⟶ ( SubGrp ‘ 𝐺 ) → 𝑆 Fn 𝐼 )
74 fnima ( 𝑆 Fn 𝐼 → ( 𝑆𝐼 ) = ran 𝑆 )
75 14 73 74 3syl ( 𝜑 → ( 𝑆𝐼 ) = ran 𝑆 )
76 72 75 eqtrd ( 𝜑 → ( 𝑆 “ ran 𝐹 ) = ran 𝑆 )
77 69 76 syl5eq ( 𝜑 → ran ( 𝑆𝐹 ) = ran 𝑆 )
78 77 unieqd ( 𝜑 ran ( 𝑆𝐹 ) = ran 𝑆 )
79 78 fveq2d ( 𝜑 → ( ( mrCls ‘ ( SubGrp ‘ 𝐺 ) ) ‘ ran ( 𝑆𝐹 ) ) = ( ( mrCls ‘ ( SubGrp ‘ 𝐺 ) ) ‘ ran 𝑆 ) )
80 6 dprdspan ( 𝐺 dom DProd ( 𝑆𝐹 ) → ( 𝐺 DProd ( 𝑆𝐹 ) ) = ( ( mrCls ‘ ( SubGrp ‘ 𝐺 ) ) ‘ ran ( 𝑆𝐹 ) ) )
81 68 80 syl ( 𝜑 → ( 𝐺 DProd ( 𝑆𝐹 ) ) = ( ( mrCls ‘ ( SubGrp ‘ 𝐺 ) ) ‘ ran ( 𝑆𝐹 ) ) )
82 6 dprdspan ( 𝐺 dom DProd 𝑆 → ( 𝐺 DProd 𝑆 ) = ( ( mrCls ‘ ( SubGrp ‘ 𝐺 ) ) ‘ ran 𝑆 ) )
83 1 82 syl ( 𝜑 → ( 𝐺 DProd 𝑆 ) = ( ( mrCls ‘ ( SubGrp ‘ 𝐺 ) ) ‘ ran 𝑆 ) )
84 79 81 83 3eqtr4d ( 𝜑 → ( 𝐺 DProd ( 𝑆𝐹 ) ) = ( 𝐺 DProd 𝑆 ) )
85 68 84 jca ( 𝜑 → ( 𝐺 dom DProd ( 𝑆𝐹 ) ∧ ( 𝐺 DProd ( 𝑆𝐹 ) ) = ( 𝐺 DProd 𝑆 ) ) )