Source: ProCGroups.NormalSubgroups.SimpleQuotients.Compactness
1import ProCGroups.NormalSubgroups.SimpleQuotients.FiniteIntersections
3/-!
4# Compactness for intersections above a simple-quotient kernel
6This module upgrades a finite-intersection property for closed normal subgroups of a compact
7group to the corresponding arbitrary-intersection property.
8-/
10namespace ProCGroups.NormalSubgroups
12universe u
14/--
15Compactness step: if the closed normal subgroups satisfying \(M \sqcup K = \top\) are already
16stable under finite intersections, then they are stable under arbitrary intersections.
17-/
18theorem maximal_open_normal_intersections_compactness_step
19 {G : Type u} [Group G] [TopologicalSpace G] [IsTopologicalGroup G] [CompactSpace G]
20 (K : Subgroup G) [K.Normal] (hKclosed : IsClosed (K : Set G))
21 (๐ : Set (Subgroup G))
22 (hMclosed : โ M โ ๐, IsClosed (M : Set G))
23 (hfinite :
24 โ S : Set (Subgroup G), S.Finite โ S โ ๐ โ sInf S โ K = โค) :
25 sInf ๐ โ K = โค := by
26 rw [eq_top_iff]
27 intro g _
28 by_cases h๐ : ๐.Nonempty
29 ยท rcases h๐ with โจMโ, hMโโฉ
30 let coset : Set G := {x | gโปยน * x โ K}
31 let I := {M : Subgroup G // M โ ๐}
32 let F : I โ Set G := fun i => (i.1 : Set G) โฉ coset
33 have hcosetClosed : IsClosed coset := by
34 change IsClosed ((fun x : G => gโปยน * x) โปยน' (K : Set G))
35 exact hKclosed.preimage (continuous_const_mul gโปยน)
36 have hclosed : โ i : I, IsClosed (F i) := by
37 intro i
38 exact (hMclosed i.1 i.2).inter hcosetClosed
39 have hfiniteNonempty : โ s : Finset I, (โ i โ s, F i).Nonempty := by
40 intro s
41 let S : Set (Subgroup G) := (fun i : I => i.1) '' (s : Set _)
42 have hSfinite : S.Finite := s.finite_toSet.image _
43 have hSsub : S โ ๐ := by
44 rintro M โจi, _hi, rflโฉ
45 exact i.2
46 have htop : sInf S โ K = โค := hfinite S hSfinite hSsub
47 have hgmem : g โ sInf S โ K := by
48 rw [htop]
49 exact Subgroup.mem_top g
50 rcases (Subgroup.mem_sup_of_normal_right (s := sInf S) (t := K) (x := g)).1 hgmem with
51 โจl, hlS, k, hk, hlkโฉ
52 refine โจl, ?_โฉ
53 simp only [Set.mem_iInter]
54 intro i hi
55 constructor
56 ยท exact (Subgroup.mem_sInf.mp hlS) i.1 โจi, hi, rflโฉ
57 ยท have hg : g = l * k := hlk.symm
58 have : gโปยน * l = kโปยน := by
59 rw [hg]
60 simp only [mul_inv_rev, mul_assoc, inv_mul_cancel, mul_one]
61 change gโปยน * l โ K
62 rw [this]
63 exact K.inv_mem hk
64 rcases CompactSpace.iInter_nonempty (t := F) hclosed hfiniteNonempty with โจx, hxโฉ
65 have hxall : โ i : I, x โ F i := by
66 simpa [F] using hx
67 have hxL : x โ sInf ๐ := by
68 rw [Subgroup.mem_sInf]
69 intro M hM
70 exact (hxall โจM, hMโฉ).1
71 have hxK : gโปยน * x โ K := (hxall โจMโ, hMโโฉ).2
72 have hxmem : x * (gโปยน * x)โปยน โ sInf ๐ โ K :=
73 Subgroup.mul_mem_sup hxL (K.inv_mem hxK)
74 simpa [mul_assoc] using hxmem
75 ยท have h๐_empty : ๐ = โ
:= Set.not_nonempty_iff_eq_empty.mp h๐
76 have htop : sInf ๐ = โค := by
77 rw [h๐_empty, sInf_empty]
78 simp only [htop, le_top, sup_of_le_left, Subgroup.mem_top]
80/--
81Maximal open normal subgroups with a fixed nonabelian simple quotient are closed under arbitrary
82intersections.
83-/
84theorem maximal_open_normal_intersections_nonabelian_simple
85 {G : Type u} [Group G] [TopologicalSpace G] [IsTopologicalGroup G] [CompactSpace G]
86 (K : Subgroup G) [K.Normal] [IsSimpleGroup (G โงธ K)]
87 (hquotNoncomm : ProCGroups.IsNoncommutativeGroup (G โงธ K))
88 (hKclosed : IsClosed (K : Set G))
89 (๐ : Set (Subgroup G))
90 (hMnormal : โ M โ ๐, M.Normal)
91 (hMclosed : โ M โ ๐, IsClosed (M : Set G))
92 (hMtop : โ M โ ๐, M โ K = โค) :
93 sInf ๐ โ K = โค :=
94 maximal_open_normal_intersections_compactness_step K hKclosed ๐ hMclosed
95 (fun _S hSfinite hSsub =>
96 finite_sInf_sup_eq_top_of_noncomm_simple_quotient K hquotNoncomm hSfinite
97 (fun M hM => hMnormal M (hSsub hM))
98 (fun M hM => hMtop M (hSsub hM)))
100end ProCGroups.NormalSubgroups