Metamath Proof Explorer


Theorem dprdspan

Description: The direct product is the span of the union of the factors. (Contributed by Mario Carneiro, 25-Apr-2016)

Ref Expression
Hypothesis dprdspan.k 𝐾 = ( mrCls ‘ ( SubGrp ‘ 𝐺 ) )
Assertion dprdspan ( 𝐺 dom DProd 𝑆 → ( 𝐺 DProd 𝑆 ) = ( 𝐾 ran 𝑆 ) )

Proof

Step Hyp Ref Expression
1 dprdspan.k 𝐾 = ( mrCls ‘ ( SubGrp ‘ 𝐺 ) )
2 id ( 𝐺 dom DProd 𝑆𝐺 dom DProd 𝑆 )
3 eqidd ( 𝐺 dom DProd 𝑆 → dom 𝑆 = dom 𝑆 )
4 dprdgrp ( 𝐺 dom DProd 𝑆𝐺 ∈ Grp )
5 eqid ( Base ‘ 𝐺 ) = ( Base ‘ 𝐺 )
6 5 subgacs ( 𝐺 ∈ Grp → ( SubGrp ‘ 𝐺 ) ∈ ( ACS ‘ ( Base ‘ 𝐺 ) ) )
7 acsmre ( ( SubGrp ‘ 𝐺 ) ∈ ( ACS ‘ ( Base ‘ 𝐺 ) ) → ( SubGrp ‘ 𝐺 ) ∈ ( Moore ‘ ( Base ‘ 𝐺 ) ) )
8 4 6 7 3syl ( 𝐺 dom DProd 𝑆 → ( SubGrp ‘ 𝐺 ) ∈ ( Moore ‘ ( Base ‘ 𝐺 ) ) )
9 dprdf ( 𝐺 dom DProd 𝑆𝑆 : dom 𝑆 ⟶ ( SubGrp ‘ 𝐺 ) )
10 9 ffnd ( 𝐺 dom DProd 𝑆𝑆 Fn dom 𝑆 )
11 fniunfv ( 𝑆 Fn dom 𝑆 𝑘 ∈ dom 𝑆 ( 𝑆𝑘 ) = ran 𝑆 )
12 10 11 syl ( 𝐺 dom DProd 𝑆 𝑘 ∈ dom 𝑆 ( 𝑆𝑘 ) = ran 𝑆 )
13 simpl ( ( 𝐺 dom DProd 𝑆𝑘 ∈ dom 𝑆 ) → 𝐺 dom DProd 𝑆 )
14 eqidd ( ( 𝐺 dom DProd 𝑆𝑘 ∈ dom 𝑆 ) → dom 𝑆 = dom 𝑆 )
15 simpr ( ( 𝐺 dom DProd 𝑆𝑘 ∈ dom 𝑆 ) → 𝑘 ∈ dom 𝑆 )
16 13 14 15 dprdub ( ( 𝐺 dom DProd 𝑆𝑘 ∈ dom 𝑆 ) → ( 𝑆𝑘 ) ⊆ ( 𝐺 DProd 𝑆 ) )
17 16 ralrimiva ( 𝐺 dom DProd 𝑆 → ∀ 𝑘 ∈ dom 𝑆 ( 𝑆𝑘 ) ⊆ ( 𝐺 DProd 𝑆 ) )
18 iunss ( 𝑘 ∈ dom 𝑆 ( 𝑆𝑘 ) ⊆ ( 𝐺 DProd 𝑆 ) ↔ ∀ 𝑘 ∈ dom 𝑆 ( 𝑆𝑘 ) ⊆ ( 𝐺 DProd 𝑆 ) )
19 17 18 sylibr ( 𝐺 dom DProd 𝑆 𝑘 ∈ dom 𝑆 ( 𝑆𝑘 ) ⊆ ( 𝐺 DProd 𝑆 ) )
20 12 19 eqsstrrd ( 𝐺 dom DProd 𝑆 ran 𝑆 ⊆ ( 𝐺 DProd 𝑆 ) )
21 5 dprdssv ( 𝐺 DProd 𝑆 ) ⊆ ( Base ‘ 𝐺 )
22 20 21 sstrdi ( 𝐺 dom DProd 𝑆 ran 𝑆 ⊆ ( Base ‘ 𝐺 ) )
23 1 mrccl ( ( ( SubGrp ‘ 𝐺 ) ∈ ( Moore ‘ ( Base ‘ 𝐺 ) ) ∧ ran 𝑆 ⊆ ( Base ‘ 𝐺 ) ) → ( 𝐾 ran 𝑆 ) ∈ ( SubGrp ‘ 𝐺 ) )
24 8 22 23 syl2anc ( 𝐺 dom DProd 𝑆 → ( 𝐾 ran 𝑆 ) ∈ ( SubGrp ‘ 𝐺 ) )
25 eqimss ( 𝑘 ∈ dom 𝑆 ( 𝑆𝑘 ) = ran 𝑆 𝑘 ∈ dom 𝑆 ( 𝑆𝑘 ) ⊆ ran 𝑆 )
26 12 25 syl ( 𝐺 dom DProd 𝑆 𝑘 ∈ dom 𝑆 ( 𝑆𝑘 ) ⊆ ran 𝑆 )
27 iunss ( 𝑘 ∈ dom 𝑆 ( 𝑆𝑘 ) ⊆ ran 𝑆 ↔ ∀ 𝑘 ∈ dom 𝑆 ( 𝑆𝑘 ) ⊆ ran 𝑆 )
28 26 27 sylib ( 𝐺 dom DProd 𝑆 → ∀ 𝑘 ∈ dom 𝑆 ( 𝑆𝑘 ) ⊆ ran 𝑆 )
29 28 r19.21bi ( ( 𝐺 dom DProd 𝑆𝑘 ∈ dom 𝑆 ) → ( 𝑆𝑘 ) ⊆ ran 𝑆 )
30 8 1 22 mrcssidd ( 𝐺 dom DProd 𝑆 ran 𝑆 ⊆ ( 𝐾 ran 𝑆 ) )
31 30 adantr ( ( 𝐺 dom DProd 𝑆𝑘 ∈ dom 𝑆 ) → ran 𝑆 ⊆ ( 𝐾 ran 𝑆 ) )
32 29 31 sstrd ( ( 𝐺 dom DProd 𝑆𝑘 ∈ dom 𝑆 ) → ( 𝑆𝑘 ) ⊆ ( 𝐾 ran 𝑆 ) )
33 2 3 24 32 dprdlub ( 𝐺 dom DProd 𝑆 → ( 𝐺 DProd 𝑆 ) ⊆ ( 𝐾 ran 𝑆 ) )
34 dprdsubg ( 𝐺 dom DProd 𝑆 → ( 𝐺 DProd 𝑆 ) ∈ ( SubGrp ‘ 𝐺 ) )
35 1 mrcsscl ( ( ( SubGrp ‘ 𝐺 ) ∈ ( Moore ‘ ( Base ‘ 𝐺 ) ) ∧ ran 𝑆 ⊆ ( 𝐺 DProd 𝑆 ) ∧ ( 𝐺 DProd 𝑆 ) ∈ ( SubGrp ‘ 𝐺 ) ) → ( 𝐾 ran 𝑆 ) ⊆ ( 𝐺 DProd 𝑆 ) )
36 8 20 34 35 syl3anc ( 𝐺 dom DProd 𝑆 → ( 𝐾 ran 𝑆 ) ⊆ ( 𝐺 DProd 𝑆 ) )
37 33 36 eqssd ( 𝐺 dom DProd 𝑆 → ( 𝐺 DProd 𝑆 ) = ( 𝐾 ran 𝑆 ) )