Metamath Proof Explorer


Theorem dprdsplit

Description: The direct product is the binary subgroup product ("sum") of the direct products of the partition. (Contributed by Mario Carneiro, 25-Apr-2016)

Ref Expression
Hypotheses dprdsplit.2 ( 𝜑𝑆 : 𝐼 ⟶ ( SubGrp ‘ 𝐺 ) )
dprdsplit.i ( 𝜑 → ( 𝐶𝐷 ) = ∅ )
dprdsplit.u ( 𝜑𝐼 = ( 𝐶𝐷 ) )
dprdsplit.s = ( LSSum ‘ 𝐺 )
dprdsplit.1 ( 𝜑𝐺 dom DProd 𝑆 )
Assertion dprdsplit ( 𝜑 → ( 𝐺 DProd 𝑆 ) = ( ( 𝐺 DProd ( 𝑆𝐶 ) ) ( 𝐺 DProd ( 𝑆𝐷 ) ) ) )

Proof

Step Hyp Ref Expression
1 dprdsplit.2 ( 𝜑𝑆 : 𝐼 ⟶ ( SubGrp ‘ 𝐺 ) )
2 dprdsplit.i ( 𝜑 → ( 𝐶𝐷 ) = ∅ )
3 dprdsplit.u ( 𝜑𝐼 = ( 𝐶𝐷 ) )
4 dprdsplit.s = ( LSSum ‘ 𝐺 )
5 dprdsplit.1 ( 𝜑𝐺 dom DProd 𝑆 )
6 1 fdmd ( 𝜑 → dom 𝑆 = 𝐼 )
7 ssun1 𝐶 ⊆ ( 𝐶𝐷 )
8 7 3 sseqtrrid ( 𝜑𝐶𝐼 )
9 5 6 8 dprdres ( 𝜑 → ( 𝐺 dom DProd ( 𝑆𝐶 ) ∧ ( 𝐺 DProd ( 𝑆𝐶 ) ) ⊆ ( 𝐺 DProd 𝑆 ) ) )
10 9 simpld ( 𝜑𝐺 dom DProd ( 𝑆𝐶 ) )
11 dprdsubg ( 𝐺 dom DProd ( 𝑆𝐶 ) → ( 𝐺 DProd ( 𝑆𝐶 ) ) ∈ ( SubGrp ‘ 𝐺 ) )
12 10 11 syl ( 𝜑 → ( 𝐺 DProd ( 𝑆𝐶 ) ) ∈ ( SubGrp ‘ 𝐺 ) )
13 ssun2 𝐷 ⊆ ( 𝐶𝐷 )
14 13 3 sseqtrrid ( 𝜑𝐷𝐼 )
15 5 6 14 dprdres ( 𝜑 → ( 𝐺 dom DProd ( 𝑆𝐷 ) ∧ ( 𝐺 DProd ( 𝑆𝐷 ) ) ⊆ ( 𝐺 DProd 𝑆 ) ) )
16 15 simpld ( 𝜑𝐺 dom DProd ( 𝑆𝐷 ) )
17 dprdsubg ( 𝐺 dom DProd ( 𝑆𝐷 ) → ( 𝐺 DProd ( 𝑆𝐷 ) ) ∈ ( SubGrp ‘ 𝐺 ) )
18 16 17 syl ( 𝜑 → ( 𝐺 DProd ( 𝑆𝐷 ) ) ∈ ( SubGrp ‘ 𝐺 ) )
19 eqid ( Cntz ‘ 𝐺 ) = ( Cntz ‘ 𝐺 )
20 eqid ( 0g𝐺 ) = ( 0g𝐺 )
21 1 2 3 19 20 dmdprdsplit ( 𝜑 → ( 𝐺 dom DProd 𝑆 ↔ ( ( 𝐺 dom DProd ( 𝑆𝐶 ) ∧ 𝐺 dom DProd ( 𝑆𝐷 ) ) ∧ ( 𝐺 DProd ( 𝑆𝐶 ) ) ⊆ ( ( Cntz ‘ 𝐺 ) ‘ ( 𝐺 DProd ( 𝑆𝐷 ) ) ) ∧ ( ( 𝐺 DProd ( 𝑆𝐶 ) ) ∩ ( 𝐺 DProd ( 𝑆𝐷 ) ) ) = { ( 0g𝐺 ) } ) ) )
22 5 21 mpbid ( 𝜑 → ( ( 𝐺 dom DProd ( 𝑆𝐶 ) ∧ 𝐺 dom DProd ( 𝑆𝐷 ) ) ∧ ( 𝐺 DProd ( 𝑆𝐶 ) ) ⊆ ( ( Cntz ‘ 𝐺 ) ‘ ( 𝐺 DProd ( 𝑆𝐷 ) ) ) ∧ ( ( 𝐺 DProd ( 𝑆𝐶 ) ) ∩ ( 𝐺 DProd ( 𝑆𝐷 ) ) ) = { ( 0g𝐺 ) } ) )
23 22 simp2d ( 𝜑 → ( 𝐺 DProd ( 𝑆𝐶 ) ) ⊆ ( ( Cntz ‘ 𝐺 ) ‘ ( 𝐺 DProd ( 𝑆𝐷 ) ) ) )
24 4 19 lsmsubg ( ( ( 𝐺 DProd ( 𝑆𝐶 ) ) ∈ ( SubGrp ‘ 𝐺 ) ∧ ( 𝐺 DProd ( 𝑆𝐷 ) ) ∈ ( SubGrp ‘ 𝐺 ) ∧ ( 𝐺 DProd ( 𝑆𝐶 ) ) ⊆ ( ( Cntz ‘ 𝐺 ) ‘ ( 𝐺 DProd ( 𝑆𝐷 ) ) ) ) → ( ( 𝐺 DProd ( 𝑆𝐶 ) ) ( 𝐺 DProd ( 𝑆𝐷 ) ) ) ∈ ( SubGrp ‘ 𝐺 ) )
25 12 18 23 24 syl3anc ( 𝜑 → ( ( 𝐺 DProd ( 𝑆𝐶 ) ) ( 𝐺 DProd ( 𝑆𝐷 ) ) ) ∈ ( SubGrp ‘ 𝐺 ) )
26 3 eleq2d ( 𝜑 → ( 𝑥𝐼𝑥 ∈ ( 𝐶𝐷 ) ) )
27 elun ( 𝑥 ∈ ( 𝐶𝐷 ) ↔ ( 𝑥𝐶𝑥𝐷 ) )
28 26 27 bitrdi ( 𝜑 → ( 𝑥𝐼 ↔ ( 𝑥𝐶𝑥𝐷 ) ) )
29 28 biimpa ( ( 𝜑𝑥𝐼 ) → ( 𝑥𝐶𝑥𝐷 ) )
30 fvres ( 𝑥𝐶 → ( ( 𝑆𝐶 ) ‘ 𝑥 ) = ( 𝑆𝑥 ) )
31 30 adantl ( ( 𝜑𝑥𝐶 ) → ( ( 𝑆𝐶 ) ‘ 𝑥 ) = ( 𝑆𝑥 ) )
32 10 adantr ( ( 𝜑𝑥𝐶 ) → 𝐺 dom DProd ( 𝑆𝐶 ) )
33 1 8 fssresd ( 𝜑 → ( 𝑆𝐶 ) : 𝐶 ⟶ ( SubGrp ‘ 𝐺 ) )
34 33 fdmd ( 𝜑 → dom ( 𝑆𝐶 ) = 𝐶 )
35 34 adantr ( ( 𝜑𝑥𝐶 ) → dom ( 𝑆𝐶 ) = 𝐶 )
36 simpr ( ( 𝜑𝑥𝐶 ) → 𝑥𝐶 )
37 32 35 36 dprdub ( ( 𝜑𝑥𝐶 ) → ( ( 𝑆𝐶 ) ‘ 𝑥 ) ⊆ ( 𝐺 DProd ( 𝑆𝐶 ) ) )
38 31 37 eqsstrrd ( ( 𝜑𝑥𝐶 ) → ( 𝑆𝑥 ) ⊆ ( 𝐺 DProd ( 𝑆𝐶 ) ) )
39 4 lsmub1 ( ( ( 𝐺 DProd ( 𝑆𝐶 ) ) ∈ ( SubGrp ‘ 𝐺 ) ∧ ( 𝐺 DProd ( 𝑆𝐷 ) ) ∈ ( SubGrp ‘ 𝐺 ) ) → ( 𝐺 DProd ( 𝑆𝐶 ) ) ⊆ ( ( 𝐺 DProd ( 𝑆𝐶 ) ) ( 𝐺 DProd ( 𝑆𝐷 ) ) ) )
40 12 18 39 syl2anc ( 𝜑 → ( 𝐺 DProd ( 𝑆𝐶 ) ) ⊆ ( ( 𝐺 DProd ( 𝑆𝐶 ) ) ( 𝐺 DProd ( 𝑆𝐷 ) ) ) )
41 40 adantr ( ( 𝜑𝑥𝐶 ) → ( 𝐺 DProd ( 𝑆𝐶 ) ) ⊆ ( ( 𝐺 DProd ( 𝑆𝐶 ) ) ( 𝐺 DProd ( 𝑆𝐷 ) ) ) )
42 38 41 sstrd ( ( 𝜑𝑥𝐶 ) → ( 𝑆𝑥 ) ⊆ ( ( 𝐺 DProd ( 𝑆𝐶 ) ) ( 𝐺 DProd ( 𝑆𝐷 ) ) ) )
43 fvres ( 𝑥𝐷 → ( ( 𝑆𝐷 ) ‘ 𝑥 ) = ( 𝑆𝑥 ) )
44 43 adantl ( ( 𝜑𝑥𝐷 ) → ( ( 𝑆𝐷 ) ‘ 𝑥 ) = ( 𝑆𝑥 ) )
45 16 adantr ( ( 𝜑𝑥𝐷 ) → 𝐺 dom DProd ( 𝑆𝐷 ) )
46 1 14 fssresd ( 𝜑 → ( 𝑆𝐷 ) : 𝐷 ⟶ ( SubGrp ‘ 𝐺 ) )
47 46 fdmd ( 𝜑 → dom ( 𝑆𝐷 ) = 𝐷 )
48 47 adantr ( ( 𝜑𝑥𝐷 ) → dom ( 𝑆𝐷 ) = 𝐷 )
49 simpr ( ( 𝜑𝑥𝐷 ) → 𝑥𝐷 )
50 45 48 49 dprdub ( ( 𝜑𝑥𝐷 ) → ( ( 𝑆𝐷 ) ‘ 𝑥 ) ⊆ ( 𝐺 DProd ( 𝑆𝐷 ) ) )
51 44 50 eqsstrrd ( ( 𝜑𝑥𝐷 ) → ( 𝑆𝑥 ) ⊆ ( 𝐺 DProd ( 𝑆𝐷 ) ) )
52 4 lsmub2 ( ( ( 𝐺 DProd ( 𝑆𝐶 ) ) ∈ ( SubGrp ‘ 𝐺 ) ∧ ( 𝐺 DProd ( 𝑆𝐷 ) ) ∈ ( SubGrp ‘ 𝐺 ) ) → ( 𝐺 DProd ( 𝑆𝐷 ) ) ⊆ ( ( 𝐺 DProd ( 𝑆𝐶 ) ) ( 𝐺 DProd ( 𝑆𝐷 ) ) ) )
53 12 18 52 syl2anc ( 𝜑 → ( 𝐺 DProd ( 𝑆𝐷 ) ) ⊆ ( ( 𝐺 DProd ( 𝑆𝐶 ) ) ( 𝐺 DProd ( 𝑆𝐷 ) ) ) )
54 53 adantr ( ( 𝜑𝑥𝐷 ) → ( 𝐺 DProd ( 𝑆𝐷 ) ) ⊆ ( ( 𝐺 DProd ( 𝑆𝐶 ) ) ( 𝐺 DProd ( 𝑆𝐷 ) ) ) )
55 51 54 sstrd ( ( 𝜑𝑥𝐷 ) → ( 𝑆𝑥 ) ⊆ ( ( 𝐺 DProd ( 𝑆𝐶 ) ) ( 𝐺 DProd ( 𝑆𝐷 ) ) ) )
56 42 55 jaodan ( ( 𝜑 ∧ ( 𝑥𝐶𝑥𝐷 ) ) → ( 𝑆𝑥 ) ⊆ ( ( 𝐺 DProd ( 𝑆𝐶 ) ) ( 𝐺 DProd ( 𝑆𝐷 ) ) ) )
57 29 56 syldan ( ( 𝜑𝑥𝐼 ) → ( 𝑆𝑥 ) ⊆ ( ( 𝐺 DProd ( 𝑆𝐶 ) ) ( 𝐺 DProd ( 𝑆𝐷 ) ) ) )
58 5 6 25 57 dprdlub ( 𝜑 → ( 𝐺 DProd 𝑆 ) ⊆ ( ( 𝐺 DProd ( 𝑆𝐶 ) ) ( 𝐺 DProd ( 𝑆𝐷 ) ) ) )
59 9 simprd ( 𝜑 → ( 𝐺 DProd ( 𝑆𝐶 ) ) ⊆ ( 𝐺 DProd 𝑆 ) )
60 15 simprd ( 𝜑 → ( 𝐺 DProd ( 𝑆𝐷 ) ) ⊆ ( 𝐺 DProd 𝑆 ) )
61 dprdsubg ( 𝐺 dom DProd 𝑆 → ( 𝐺 DProd 𝑆 ) ∈ ( SubGrp ‘ 𝐺 ) )
62 5 61 syl ( 𝜑 → ( 𝐺 DProd 𝑆 ) ∈ ( SubGrp ‘ 𝐺 ) )
63 4 lsmlub ( ( ( 𝐺 DProd ( 𝑆𝐶 ) ) ∈ ( SubGrp ‘ 𝐺 ) ∧ ( 𝐺 DProd ( 𝑆𝐷 ) ) ∈ ( SubGrp ‘ 𝐺 ) ∧ ( 𝐺 DProd 𝑆 ) ∈ ( SubGrp ‘ 𝐺 ) ) → ( ( ( 𝐺 DProd ( 𝑆𝐶 ) ) ⊆ ( 𝐺 DProd 𝑆 ) ∧ ( 𝐺 DProd ( 𝑆𝐷 ) ) ⊆ ( 𝐺 DProd 𝑆 ) ) ↔ ( ( 𝐺 DProd ( 𝑆𝐶 ) ) ( 𝐺 DProd ( 𝑆𝐷 ) ) ) ⊆ ( 𝐺 DProd 𝑆 ) ) )
64 12 18 62 63 syl3anc ( 𝜑 → ( ( ( 𝐺 DProd ( 𝑆𝐶 ) ) ⊆ ( 𝐺 DProd 𝑆 ) ∧ ( 𝐺 DProd ( 𝑆𝐷 ) ) ⊆ ( 𝐺 DProd 𝑆 ) ) ↔ ( ( 𝐺 DProd ( 𝑆𝐶 ) ) ( 𝐺 DProd ( 𝑆𝐷 ) ) ) ⊆ ( 𝐺 DProd 𝑆 ) ) )
65 59 60 64 mpbi2and ( 𝜑 → ( ( 𝐺 DProd ( 𝑆𝐶 ) ) ( 𝐺 DProd ( 𝑆𝐷 ) ) ) ⊆ ( 𝐺 DProd 𝑆 ) )
66 58 65 eqssd ( 𝜑 → ( 𝐺 DProd 𝑆 ) = ( ( 𝐺 DProd ( 𝑆𝐶 ) ) ( 𝐺 DProd ( 𝑆𝐷 ) ) ) )