Metamath Proof Explorer


Theorem dmdprdd

Description: Show that a given family is a direct product decomposition. (Contributed by Mario Carneiro, 25-Apr-2016) (Revised by AV, 11-Jul-2019)

Ref Expression
Hypotheses dmdprd.z 𝑍 = ( Cntz ‘ 𝐺 )
dmdprd.0 0 = ( 0g𝐺 )
dmdprd.k 𝐾 = ( mrCls ‘ ( SubGrp ‘ 𝐺 ) )
dmdprdd.1 ( 𝜑𝐺 ∈ Grp )
dmdprdd.2 ( 𝜑𝐼𝑉 )
dmdprdd.3 ( 𝜑𝑆 : 𝐼 ⟶ ( SubGrp ‘ 𝐺 ) )
dmdprdd.4 ( ( 𝜑 ∧ ( 𝑥𝐼𝑦𝐼𝑥𝑦 ) ) → ( 𝑆𝑥 ) ⊆ ( 𝑍 ‘ ( 𝑆𝑦 ) ) )
dmdprdd.5 ( ( 𝜑𝑥𝐼 ) → ( ( 𝑆𝑥 ) ∩ ( 𝐾 ( 𝑆 “ ( 𝐼 ∖ { 𝑥 } ) ) ) ) ⊆ { 0 } )
Assertion dmdprdd ( 𝜑𝐺 dom DProd 𝑆 )

Proof

Step Hyp Ref Expression
1 dmdprd.z 𝑍 = ( Cntz ‘ 𝐺 )
2 dmdprd.0 0 = ( 0g𝐺 )
3 dmdprd.k 𝐾 = ( mrCls ‘ ( SubGrp ‘ 𝐺 ) )
4 dmdprdd.1 ( 𝜑𝐺 ∈ Grp )
5 dmdprdd.2 ( 𝜑𝐼𝑉 )
6 dmdprdd.3 ( 𝜑𝑆 : 𝐼 ⟶ ( SubGrp ‘ 𝐺 ) )
7 dmdprdd.4 ( ( 𝜑 ∧ ( 𝑥𝐼𝑦𝐼𝑥𝑦 ) ) → ( 𝑆𝑥 ) ⊆ ( 𝑍 ‘ ( 𝑆𝑦 ) ) )
8 dmdprdd.5 ( ( 𝜑𝑥𝐼 ) → ( ( 𝑆𝑥 ) ∩ ( 𝐾 ( 𝑆 “ ( 𝐼 ∖ { 𝑥 } ) ) ) ) ⊆ { 0 } )
9 eldifsn ( 𝑦 ∈ ( 𝐼 ∖ { 𝑥 } ) ↔ ( 𝑦𝐼𝑦𝑥 ) )
10 necom ( 𝑦𝑥𝑥𝑦 )
11 10 anbi2i ( ( 𝑦𝐼𝑦𝑥 ) ↔ ( 𝑦𝐼𝑥𝑦 ) )
12 9 11 bitri ( 𝑦 ∈ ( 𝐼 ∖ { 𝑥 } ) ↔ ( 𝑦𝐼𝑥𝑦 ) )
13 7 3exp2 ( 𝜑 → ( 𝑥𝐼 → ( 𝑦𝐼 → ( 𝑥𝑦 → ( 𝑆𝑥 ) ⊆ ( 𝑍 ‘ ( 𝑆𝑦 ) ) ) ) ) )
14 13 imp4b ( ( 𝜑𝑥𝐼 ) → ( ( 𝑦𝐼𝑥𝑦 ) → ( 𝑆𝑥 ) ⊆ ( 𝑍 ‘ ( 𝑆𝑦 ) ) ) )
15 12 14 syl5bi ( ( 𝜑𝑥𝐼 ) → ( 𝑦 ∈ ( 𝐼 ∖ { 𝑥 } ) → ( 𝑆𝑥 ) ⊆ ( 𝑍 ‘ ( 𝑆𝑦 ) ) ) )
16 15 ralrimiv ( ( 𝜑𝑥𝐼 ) → ∀ 𝑦 ∈ ( 𝐼 ∖ { 𝑥 } ) ( 𝑆𝑥 ) ⊆ ( 𝑍 ‘ ( 𝑆𝑦 ) ) )
17 6 ffvelrnda ( ( 𝜑𝑥𝐼 ) → ( 𝑆𝑥 ) ∈ ( SubGrp ‘ 𝐺 ) )
18 2 subg0cl ( ( 𝑆𝑥 ) ∈ ( SubGrp ‘ 𝐺 ) → 0 ∈ ( 𝑆𝑥 ) )
19 17 18 syl ( ( 𝜑𝑥𝐼 ) → 0 ∈ ( 𝑆𝑥 ) )
20 4 adantr ( ( 𝜑𝑥𝐼 ) → 𝐺 ∈ Grp )
21 eqid ( Base ‘ 𝐺 ) = ( Base ‘ 𝐺 )
22 21 subgacs ( 𝐺 ∈ Grp → ( SubGrp ‘ 𝐺 ) ∈ ( ACS ‘ ( Base ‘ 𝐺 ) ) )
23 acsmre ( ( SubGrp ‘ 𝐺 ) ∈ ( ACS ‘ ( Base ‘ 𝐺 ) ) → ( SubGrp ‘ 𝐺 ) ∈ ( Moore ‘ ( Base ‘ 𝐺 ) ) )
24 20 22 23 3syl ( ( 𝜑𝑥𝐼 ) → ( SubGrp ‘ 𝐺 ) ∈ ( Moore ‘ ( Base ‘ 𝐺 ) ) )
25 imassrn ( 𝑆 “ ( 𝐼 ∖ { 𝑥 } ) ) ⊆ ran 𝑆
26 6 frnd ( 𝜑 → ran 𝑆 ⊆ ( SubGrp ‘ 𝐺 ) )
27 26 adantr ( ( 𝜑𝑥𝐼 ) → ran 𝑆 ⊆ ( SubGrp ‘ 𝐺 ) )
28 25 27 sstrid ( ( 𝜑𝑥𝐼 ) → ( 𝑆 “ ( 𝐼 ∖ { 𝑥 } ) ) ⊆ ( SubGrp ‘ 𝐺 ) )
29 mresspw ( ( SubGrp ‘ 𝐺 ) ∈ ( Moore ‘ ( Base ‘ 𝐺 ) ) → ( SubGrp ‘ 𝐺 ) ⊆ 𝒫 ( Base ‘ 𝐺 ) )
30 24 29 syl ( ( 𝜑𝑥𝐼 ) → ( SubGrp ‘ 𝐺 ) ⊆ 𝒫 ( Base ‘ 𝐺 ) )
31 28 30 sstrd ( ( 𝜑𝑥𝐼 ) → ( 𝑆 “ ( 𝐼 ∖ { 𝑥 } ) ) ⊆ 𝒫 ( Base ‘ 𝐺 ) )
32 sspwuni ( ( 𝑆 “ ( 𝐼 ∖ { 𝑥 } ) ) ⊆ 𝒫 ( Base ‘ 𝐺 ) ↔ ( 𝑆 “ ( 𝐼 ∖ { 𝑥 } ) ) ⊆ ( Base ‘ 𝐺 ) )
33 31 32 sylib ( ( 𝜑𝑥𝐼 ) → ( 𝑆 “ ( 𝐼 ∖ { 𝑥 } ) ) ⊆ ( Base ‘ 𝐺 ) )
34 3 mrccl ( ( ( SubGrp ‘ 𝐺 ) ∈ ( Moore ‘ ( Base ‘ 𝐺 ) ) ∧ ( 𝑆 “ ( 𝐼 ∖ { 𝑥 } ) ) ⊆ ( Base ‘ 𝐺 ) ) → ( 𝐾 ( 𝑆 “ ( 𝐼 ∖ { 𝑥 } ) ) ) ∈ ( SubGrp ‘ 𝐺 ) )
35 24 33 34 syl2anc ( ( 𝜑𝑥𝐼 ) → ( 𝐾 ( 𝑆 “ ( 𝐼 ∖ { 𝑥 } ) ) ) ∈ ( SubGrp ‘ 𝐺 ) )
36 2 subg0cl ( ( 𝐾 ( 𝑆 “ ( 𝐼 ∖ { 𝑥 } ) ) ) ∈ ( SubGrp ‘ 𝐺 ) → 0 ∈ ( 𝐾 ( 𝑆 “ ( 𝐼 ∖ { 𝑥 } ) ) ) )
37 35 36 syl ( ( 𝜑𝑥𝐼 ) → 0 ∈ ( 𝐾 ( 𝑆 “ ( 𝐼 ∖ { 𝑥 } ) ) ) )
38 19 37 elind ( ( 𝜑𝑥𝐼 ) → 0 ∈ ( ( 𝑆𝑥 ) ∩ ( 𝐾 ( 𝑆 “ ( 𝐼 ∖ { 𝑥 } ) ) ) ) )
39 38 snssd ( ( 𝜑𝑥𝐼 ) → { 0 } ⊆ ( ( 𝑆𝑥 ) ∩ ( 𝐾 ( 𝑆 “ ( 𝐼 ∖ { 𝑥 } ) ) ) ) )
40 8 39 eqssd ( ( 𝜑𝑥𝐼 ) → ( ( 𝑆𝑥 ) ∩ ( 𝐾 ( 𝑆 “ ( 𝐼 ∖ { 𝑥 } ) ) ) ) = { 0 } )
41 16 40 jca ( ( 𝜑𝑥𝐼 ) → ( ∀ 𝑦 ∈ ( 𝐼 ∖ { 𝑥 } ) ( 𝑆𝑥 ) ⊆ ( 𝑍 ‘ ( 𝑆𝑦 ) ) ∧ ( ( 𝑆𝑥 ) ∩ ( 𝐾 ( 𝑆 “ ( 𝐼 ∖ { 𝑥 } ) ) ) ) = { 0 } ) )
42 41 ralrimiva ( 𝜑 → ∀ 𝑥𝐼 ( ∀ 𝑦 ∈ ( 𝐼 ∖ { 𝑥 } ) ( 𝑆𝑥 ) ⊆ ( 𝑍 ‘ ( 𝑆𝑦 ) ) ∧ ( ( 𝑆𝑥 ) ∩ ( 𝐾 ( 𝑆 “ ( 𝐼 ∖ { 𝑥 } ) ) ) ) = { 0 } ) )
43 6 fdmd ( 𝜑 → dom 𝑆 = 𝐼 )
44 1 2 3 dmdprd ( ( 𝐼𝑉 ∧ dom 𝑆 = 𝐼 ) → ( 𝐺 dom DProd 𝑆 ↔ ( 𝐺 ∈ Grp ∧ 𝑆 : 𝐼 ⟶ ( SubGrp ‘ 𝐺 ) ∧ ∀ 𝑥𝐼 ( ∀ 𝑦 ∈ ( 𝐼 ∖ { 𝑥 } ) ( 𝑆𝑥 ) ⊆ ( 𝑍 ‘ ( 𝑆𝑦 ) ) ∧ ( ( 𝑆𝑥 ) ∩ ( 𝐾 ( 𝑆 “ ( 𝐼 ∖ { 𝑥 } ) ) ) ) = { 0 } ) ) ) )
45 5 43 44 syl2anc ( 𝜑 → ( 𝐺 dom DProd 𝑆 ↔ ( 𝐺 ∈ Grp ∧ 𝑆 : 𝐼 ⟶ ( SubGrp ‘ 𝐺 ) ∧ ∀ 𝑥𝐼 ( ∀ 𝑦 ∈ ( 𝐼 ∖ { 𝑥 } ) ( 𝑆𝑥 ) ⊆ ( 𝑍 ‘ ( 𝑆𝑦 ) ) ∧ ( ( 𝑆𝑥 ) ∩ ( 𝐾 ( 𝑆 “ ( 𝐼 ∖ { 𝑥 } ) ) ) ) = { 0 } ) ) ) )
46 4 6 42 45 mpbir3and ( 𝜑𝐺 dom DProd 𝑆 )