ProCGroups.ProC.OpenNormalSubgroups.FilteredFamilies
This module supplies the topological part of the construction. It checks continuity and stagewise neighborhood properties so that the completed object inherits the required topology.
import
theorem directed_finset_has_lower_bound {α : Type*} {ι : Type*} {U : ι → Set α}
(hdir : Directed (· ⊇ ·) U) :
∀ s : Finset ι, s.Nonempty → ∃ k : ι, ∀ i ∈ s, U k ⊆ U iShow proof
by
classical
intro s
refine Finset.induction_on s ?_ ?_
· intro hs
rcases hs with ⟨i, hi⟩
simp only [Finset.notMem_empty] at hi
· intro a s ha ih hs
by_cases hs' : s.Nonempty
· rcases ih hs' with ⟨j, hj⟩
rcases hdir a j with ⟨k, hka, hkj⟩
refine ⟨k, ?_⟩
intro i hi
rw [Finset.mem_insert] at hi
rcases hi with rfl | hi
· exact hka
· exact hkj.trans (hj i hi)
· have hs_singleton : s = ∅ := Finset.not_nonempty_iff_eq_empty.mp hs'
refine ⟨a, ?_⟩
intro i hi
have : i = a := by
simpa [hs_singleton] using hi
subst this
exact Subset.rflProof. Work with open normal subgroups and finite quotients of the profinite or pro-\(C\) group. Finite quotients separate points, and continuous homomorphisms are determined by their compatible quotient-level maps. For pro-\(C\) claims, the resulting finite quotients lie in \(C\) by the closure property used in the construction: closure under quotients, subgroups, finite products, or extensions. Compatibility under refinement then assembles the finite-quotient data and proves the required profinite or pro-\(C\) statement. The quotient-level assertions are stable under passing to smaller open normal subgroups, so they define compatible data in the inverse system of finite quotients. For pro-\(C\) permanence, the construction uses only operations for which the chosen finite group class is closed. Hence the finite verification assembles to the desired profinite map, subgroup, or quotient statement. For categorical constructions such as products, pullbacks, and inverse limits, the universal property is checked by composing with the coordinate projections. The uniqueness part follows because any two candidate maps with the same finite quotient composites have the same value on every separating finite quotient. Existence is obtained by assembling the compatible coordinate maps supplied by the finite quotient construction. For quotient and subgroup claims, representatives are chosen in the ambient group and the induced map is checked to send the class of an element to the class of its image. Normality, openness, and membership in the finite quotient class are preserved by the subgroup, quotient, intersection, or inverse-image closure property being invoked. For pro-\(C\) claims, the finite quotient obtained from the construction remains in \(C\) by the relevant closure axiom, such as closure under subgroups, quotients, finite products, or extensions. The universal or lifting property is then checked on the prescribed generators, and uniqueness follows because the generators are dense or topologically generating.
□theorem closedSubgroup_mul_iInter_eq_iInter_mul [CompactSpace G]
(H : ClosedSubgroup G) {ι : Type v} (U : ι → Set G)
(hclosed : ∀ i, IsClosed (U i))
(hdir : Directed (· ⊇ ·) U) :
((H : Set G) * ⋂ i, U i) = ⋂ i, ((H : Set G) * U i)For a closed subgroup of a profinite group, multiplication by the intersection of a filtered family of closed sets is the intersection of the products.
Show proof
by
classical
ext x
constructor
· intro hx
rcases hx with ⟨h, hhH, u, hu, rfl⟩
refine Set.mem_iInter.2 ?_
intro i
exact ⟨h, hhH, u, Set.mem_iInter.1 hu i, rfl⟩
· intro hx
by_cases hι : Nonempty ι
· let A : ι → Set H := fun i => {h : H | ((h : G)⁻¹ * x) ∈ U i}
have hAclosed : ∀ i, IsClosed (A i) := by
intro i
change IsClosed (((fun h : H => ((h : G)⁻¹ * x)) ⁻¹' U i))
exact (hclosed i).preimage (continuous_subtype_val.inv.mul continuous_const)
have hAfin : ∀ s : Finset ι, (⋂ i ∈ s, A i).Nonempty := by
intro s
by_cases hs : s.Nonempty
· rcases directed_finset_has_lower_bound hdir s hs with ⟨k, hk⟩
rcases Set.mem_iInter.1 hx k with ⟨h, hhH, u, huK, hmul⟩
refine ⟨⟨h, hhH⟩, ?_⟩
refine Set.mem_iInter₂.2 ?_
intro i hi
change h⁻¹ * x ∈ U i
rw [← hmul]
simpa [mul_assoc] using hk i hi huK
· refine ⟨1, ?_⟩
simp only [Finset.not_nonempty_iff_eq_empty.mp hs, Finset.notMem_empty, iInter_of_empty, iInter_univ,
mem_univ]
have hA : (⋂ i, A i).Nonempty := by
simpa using
(isCompact_univ : IsCompact (Set.univ : Set H)).inter_iInter_nonempty A hAclosed
(fun s => by
simpa [Set.inter_univ] using hAfin s)
rcases hA with ⟨h, hh⟩
have hhU : ∀ i, ((h : G)⁻¹ * x) ∈ U i := by
intro i
exact Set.mem_iInter.1 hh i
refine ⟨(h : G), h.2, ((h : G)⁻¹ * x), Set.mem_iInter.2 hhU, by simp only [mul_inv_cancel_left]⟩
· have : IsEmpty ι := not_nonempty_iff.mp hι
have hxuniv : x ∈ ((H : Set G) * (Set.univ : Set G)) := by
exact ⟨1, H.one_mem, x, Set.mem_univ x, one_mul x⟩
simpa [Set.iInter_of_empty, this] using hxunivProof. Work with open normal subgroups and finite quotients of the profinite or pro-\(C\) group. Finite quotients separate points, and continuous homomorphisms are determined by their compatible quotient-level maps. Closed-subgroup and subgroup-permanence claims use ambient open-normal approximation: an open normal subgroup of the closed subgroup is refined by the intersection with an ambient open normal subgroup of \(G\). For pro-\(C\) claims, the resulting finite quotients lie in \(C\) by the closure property used in the construction: closure under quotients, subgroups, finite products, or extensions. Compatibility under refinement then assembles the finite-quotient data and proves the required profinite or pro-\(C\) statement. The quotient-level assertions are stable under passing to smaller open normal subgroups, so they define compatible data in the inverse system of finite quotients. For pro-\(C\) permanence, the construction uses only operations for which the chosen finite group class is closed. Hence the finite verification assembles to the desired profinite map, subgroup, or quotient statement. For categorical constructions such as products, pullbacks, and inverse limits, the universal property is checked by composing with the coordinate projections. The uniqueness part follows because any two candidate maps with the same finite quotient composites have the same value on every separating finite quotient. Existence is obtained by assembling the compatible coordinate maps supplied by the finite quotient construction. The topological assertion is checked by the initial topology of the inverse limit. After composing with each finite-stage projection, the relevant map is a continuous finite-stage homomorphism or an operation on a finite product; compactness, Hausdorffness, total disconnectedness, and profiniteness are then inherited from the finite stages by the standard inverse-limit argument.
□theorem continuous_surjective_image_iInter_eq_iInter_image {X : Type u}
[TopologicalSpace X] [CompactSpace X] {R : Type v} [TopologicalSpace R] [T2Space R]
(φ : X → R) (hφ : Continuous φ) (hsurj : Function.Surjective φ)
{ι : Type w} (U : ι → Set X)
(hclosed : ∀ i, IsClosed (U i))
(hdir : Directed (· ⊇ ·) U) :
φ '' ⋂ i, U i = ⋂ i, φ '' U iContinuous surjections commute with the intersection of a filtered family of closed sets in a compact domain.
Show proof
by
classical
ext y
constructor
· rintro ⟨x, hx, rfl⟩
refine Set.mem_iInter.2 ?_
intro i
exact ⟨x, Set.mem_iInter.1 hx i, rfl⟩
· intro hy
by_cases hι : Nonempty ι
· let A : ι → Set X := fun i => U i ∩ φ ⁻¹' ({y} : Set R)
have hAclosed : ∀ i, IsClosed (A i) := by
intro i
exact (hclosed i).inter ((isClosed_singleton.preimage hφ))
have hAfin : ∀ s : Finset ι, (⋂ i ∈ s, A i).Nonempty := by
intro s
by_cases hs : s.Nonempty
· rcases directed_finset_has_lower_bound hdir s hs with ⟨k, hk⟩
rcases Set.mem_iInter.1 hy k with ⟨x, hxU, hxy⟩
refine ⟨x, Set.mem_iInter₂.2 ?_⟩
intro i hi
refine ⟨hk i hi hxU, ?_⟩
simpa [Set.mem_singleton_iff] using hxy
· rcases hsurj y with ⟨x, rfl⟩
refine ⟨x, ?_⟩
simp only [Finset.not_nonempty_iff_eq_empty.mp hs, Finset.notMem_empty, iInter_of_empty, iInter_univ,
mem_univ]
have hA : (⋂ i, A i).Nonempty := by
simpa using
(isCompact_univ : IsCompact (Set.univ : Set X)).inter_iInter_nonempty A hAclosed
(fun s => by
simpa [Set.inter_univ] using hAfin s)
rcases hA with ⟨x, hx⟩
refine ⟨x, ?_, ?_⟩
· exact Set.mem_iInter.2 fun i => (Set.mem_iInter.1 hx i).1
· simpa [Set.mem_singleton_iff] using (Set.mem_iInter.1 hx (Classical.choice hι)).2
· have : IsEmpty ι := not_nonempty_iff.mp hι
simpa [Set.iInter_of_empty, this] using hsurj yProof. Work with open normal subgroups and finite quotients of the profinite or pro-\(C\) group. Finite quotients separate points, and continuous homomorphisms are determined by their compatible quotient-level maps. Continuity is checked by composing with all finite quotient projections; each composite is a continuous map between finite or profinite quotient spaces. Compatibility under refinement then assembles the finite-quotient data and proves the required profinite or pro-\(C\) statement. The quotient-level assertions are stable under passing to smaller open normal subgroups, so they define compatible data in the inverse system of finite quotients. For pro-\(C\) permanence, the construction uses only operations for which the chosen finite group class is closed. Hence the finite verification assembles to the desired profinite map, subgroup, or quotient statement. For categorical constructions such as products, pullbacks, and inverse limits, the universal property is checked by composing with the coordinate projections. The uniqueness part follows because any two candidate maps with the same finite quotient composites have the same value on every separating finite quotient. Existence is obtained by assembling the compatible coordinate maps supplied by the finite quotient construction. For surjectivity, choose a representative of the target coordinate and lift it through the underlying surjective group, quotient, or coefficient map. The defining formula for the induced map sends the constructed preimage to the chosen representative at every finite stage, so inverse-limit extensionality gives the required global preimage. The topological assertion is checked by the initial topology of the inverse limit. After composing with each finite-stage projection, the relevant map is a continuous finite-stage homomorphism or an operation on a finite product; compactness, Hausdorffness, total disconnectedness, and profiniteness are then inherited from the finite stages by the standard inverse-limit argument.
□theorem exists_openNormalSubgroup_mul_subset_openSubgroup [CompactSpace G]
(H : ClosedSubgroup G) (V : OpenSubgroup G)
(hHV : (H : Subgroup G) ≤ (V : Subgroup G)) :
∃ U : OpenNormalSubgroup G, ((H : Set G) * (U : Set G)) ⊆ (V : Set G)Every open subgroup containing a closed subgroup also contains a set of the form \(H U\) with \(U\) open and normal.
Show proof
by
have hVfin : Subgroup.FiniteIndex (V : Subgroup G) := V.finiteIndex_of_finite_quotient
let U : OpenNormalSubgroup G :=
{ toSubgroup := Subgroup.normalCore V
isOpen' := Subgroup.isOpen_of_isClosed_of_finiteIndex _ (V.normalCore_isClosed V.isClosed) }
refine ⟨U, ?_⟩
intro x hx
rcases hx with ⟨h, hhH, u, huU, rfl⟩
exact V.mul_mem (hHV hhH) (V.normalCore_le huU)Proof. Work with open normal subgroups and finite quotients of the profinite or pro-\(C\) group. Finite quotients separate points, and continuous homomorphisms are determined by their compatible quotient-level maps. Closed-subgroup and subgroup-permanence claims use ambient open-normal approximation: an open normal subgroup of the closed subgroup is refined by the intersection with an ambient open normal subgroup of \(G\). Compatibility under refinement then assembles the finite-quotient data and proves the required profinite or pro-\(C\) statement. The quotient-level assertions are stable under passing to smaller open normal subgroups, so they define compatible data in the inverse system of finite quotients. For pro-\(C\) permanence, the construction uses only operations for which the chosen finite group class is closed. Hence the finite verification assembles to the desired profinite map, subgroup, or quotient statement. For categorical constructions such as products, pullbacks, and inverse limits, the universal property is checked by composing with the coordinate projections. The uniqueness part follows because any two candidate maps with the same finite quotient composites have the same value on every separating finite quotient. Existence is obtained by assembling the compatible coordinate maps supplied by the finite quotient construction. For quotient and subgroup claims, representatives are chosen in the ambient group and the induced map is checked to send the class of an element to the class of its image. Normality, openness, and membership in the finite quotient class are preserved by the subgroup, quotient, intersection, or inverse-image closure property being invoked. For density or closed-generation statements, the calculation is first made on the algebraic span of the group-like generators. The image of this span is dense in the completed target, and closedness of the kernel, image, or generated submodule allows the containment obtained on generators to pass to the completed closure.
□theorem closedSubgroup_eq_sInf_openNormal [CompactSpace G] [TotallyDisconnectedSpace G]
(H : ClosedSubgroup G) [((H : Subgroup G).Normal)] :
(H : Subgroup G) =
sInf {N : Subgroup G | IsOpen (N : Set G) ∧ (H : Subgroup G) ≤ N ∧ N.Normal}A closed normal subgroup of a profinite group is the intersection of all open normal subgroups containing it.
Show proof
by
ext x
constructor
· intro hx
simp only [Subgroup.mem_sInf, Set.mem_setOf_eq]
intro N hN
exact hN.2.1 hx
· intro hx
have hxall :
∀ N : Subgroup G, IsOpen (N : Set G) ∧ (H : Subgroup G) ≤ N ∧ N.Normal → x ∈ N := by
simpa only [Subgroup.mem_sInf, Set.mem_setOf_eq] using hx
have hxOpen :
x ∈ sInf {N : Subgroup G | IsOpen (N : Set G) ∧ (H : Subgroup G) ≤ N} := by
simp only [Subgroup.mem_sInf, Set.mem_setOf_eq]
intro N hN
have hNfin : Subgroup.FiniteIndex N := by
letI : Finite (G ⧸ N) := Subgroup.quotient_finite_of_isOpen N hN.1
exact Subgroup.finiteIndex_of_finite_quotient
have hcoreOpen : IsOpen (N.normalCore : Set G) := by
exact Subgroup.isOpen_of_isClosed_of_finiteIndex _ (N.normalCore_isClosed
(Subgroup.isClosed_of_isOpen N hN.1))
have hHcore : (H : Subgroup G) ≤ N.normalCore := (Subgroup.normal_le_normalCore).2 hN.2
have hxcore : x ∈ N.normalCore := by
exact hxall N.normalCore ⟨hcoreOpen, hHcore, inferInstance⟩
exact N.normalCore_le hxcore
exact (closedSubgroup_eq_sInf_open (G := G) H) ▸ hxOpenProof. Work with open normal subgroups and finite quotients of the profinite or pro-\(C\) group. Finite quotients separate points, and continuous homomorphisms are determined by their compatible quotient-level maps. One inclusion is immediate because every open subgroup in the intersection contains the closed subgroup. For the reverse inclusion, take a point outside the closed subgroup; compact Hausdorff total disconnectedness gives a clopen neighborhood separating that point from the subgroup, and the associated open subgroup contains the closed subgroup but not the point. Closed-subgroup and subgroup-permanence claims use ambient open-normal approximation: an open normal subgroup of the closed subgroup is refined by the intersection with an ambient open normal subgroup of \(G\). For pro-\(C\) claims, the resulting finite quotients lie in \(C\) by the closure property used in the construction: closure under quotients, subgroups, finite products, or extensions. Compatibility under refinement then assembles the finite-quotient data and proves the required profinite or pro-\(C\) statement. The quotient-level assertions are stable under passing to smaller open normal subgroups, so they define compatible data in the inverse system of finite quotients. For pro-\(C\) permanence, the construction uses only operations for which the chosen finite group class is closed. Hence the finite verification assembles to the desired profinite map, subgroup, or quotient statement. The topological assertion is checked by the initial topology of the inverse limit. After composing with each finite-stage projection, the relevant map is a continuous finite-stage homomorphism or an operation on a finite product; compactness, Hausdorffness, total disconnectedness, and profiniteness are then inherited from the finite stages by the standard inverse-limit argument.
□theorem finite_iInter_subgroup_subset_openSubgroup [CompactSpace G] {ι : Type v}
(H : ι → Subgroup G)
(hclosed : ∀ i, IsClosed (((H i : Subgroup G) : Set G)))
(U : OpenSubgroup G)
(hInter : (⋂ i, (((H i : Subgroup G) : Set G))) ⊆ (((U : Subgroup G) : Set G))) :
∃ s : Finset ι, (⋂ i ∈ s, (((H i : Subgroup G) : Set G))) ⊆ (((U : Subgroup G) : Set G))If the intersection of a family of closed subgroups lies inside an open subgroup, then already a finite subfamily has the same property. We formulate the family as plain subgroups together with explicit closedness hypotheses in order to keep the later formulation flexible.
Show proof
by
let K : Set G := (((U : Subgroup G) : Set G))ᶜ
have hKclosed : IsClosed K := by
simpa [K] using (openSubgroup_isOpen (G := G) U).isClosed_compl
have hKcompact : IsCompact K := hKclosed.isCompact
have havoid : K ∩ ⋂ i, (((H i : Subgroup G) : Set G)) = ∅ := by
ext x
constructor
· intro hx
exact False.elim (hx.1 (hInter hx.2))
· intro hx
simp only [mem_empty_iff_false] at hx
rcases hKcompact.elim_finite_subfamily_closed
(fun i => (((H i : Subgroup G) : Set G))) hclosed havoid with ⟨s, hs⟩
refine ⟨s, ?_⟩
intro x hx
by_contra hxU
have hxK : x ∈ K := by
simpa [K] using hxU
have hmem : x ∈ K ∩ ⋂ i ∈ s, (((H i : Subgroup G) : Set G)) := by
exact ⟨hxK, hx⟩
have : x ∈ (∅ : Set G) := by
simp only [hs, mem_empty_iff_false] at hmem
simp only [mem_empty_iff_false] at thisProof. Work with open normal subgroups and finite quotients of the profinite or pro-\(C\) group. Finite quotients separate points, and continuous homomorphisms are determined by their compatible quotient-level maps. Closed-subgroup and subgroup-permanence claims use ambient open-normal approximation: an open normal subgroup of the closed subgroup is refined by the intersection with an ambient open normal subgroup of \(G\). For pro-\(C\) claims, the resulting finite quotients lie in \(C\) by the closure property used in the construction: closure under quotients, subgroups, finite products, or extensions. Compatibility under refinement then assembles the finite-quotient data and proves the required profinite or pro-\(C\) statement. The quotient-level assertions are stable under passing to smaller open normal subgroups, so they define compatible data in the inverse system of finite quotients. For pro-\(C\) permanence, the construction uses only operations for which the chosen finite group class is closed. Hence the finite verification assembles to the desired profinite map, subgroup, or quotient statement. For categorical constructions such as products, pullbacks, and inverse limits, the universal property is checked by composing with the coordinate projections. The uniqueness part follows because any two candidate maps with the same finite quotient composites have the same value on every separating finite quotient. Existence is obtained by assembling the compatible coordinate maps supplied by the finite quotient construction. For quotient and subgroup claims, representatives are chosen in the ambient group and the induced map is checked to send the class of an element to the class of its image. Normality, openness, and membership in the finite quotient class are preserved by the subgroup, quotient, intersection, or inverse-image closure property being invoked.
□theorem finite_openSubgroup_intersections_form_nhds_basis [CompactSpace G]
[IsTopologicalGroup G] [TotallyDisconnectedSpace G] {ι : Type v} (U : ι → OpenSubgroup G)
(hInter : (⋂ i, (((U i : Subgroup G) : Set G))) = ({1} : Set G)) :
∀ W : Set G, IsOpen W → (1 : G) ∈ W →
∃ s : Finset ι, (⋂ i ∈ s, (((U i : Subgroup G) : Set G))) ⊆ WIf a family of open subgroups of a profinite group has trivial total intersection, then finite intersections of members of the family form a neighborhood basis of 1.
Show proof
by
intro W hW h1W
rcases exists_openNormalSubgroup_sub_open_nhds_of_one (G := G) hW h1W with ⟨N, hNW⟩
have hInterN : (⋂ i, (((U i : Subgroup G) : Set G))) ⊆ (((N : Subgroup G) : Set G)) := by
intro x hx
have hx1 : x = 1 := by
have hxsingleton : x ∈ ({1} : Set G) := by
rw [← hInter]
exact hx
simpa using hxsingleton
simp only [OpenSubgroup.coe_toSubgroup, hx1, SetLike.mem_coe, one_mem]
rcases finite_iInter_subgroup_subset_openSubgroup (G := G)
(fun i => (U i : Subgroup G))
(fun i => openSubgroup_isClosed (G := G) (U i))
N.toOpenSubgroup hInterN with ⟨s, hs⟩
exact ⟨s, hs.trans hNW⟩Proof. Work with open normal subgroups and finite quotients of the profinite or pro-\(C\) group. Finite quotients separate points, and continuous homomorphisms are determined by their compatible quotient-level maps. Closed-subgroup and subgroup-permanence claims use ambient open-normal approximation: an open normal subgroup of the closed subgroup is refined by the intersection with an ambient open normal subgroup of \(G\). For pro-\(C\) claims, the resulting finite quotients lie in \(C\) by the closure property used in the construction: closure under quotients, subgroups, finite products, or extensions. Continuity is checked by composing with all finite quotient projections; each composite is a continuous map between finite or profinite quotient spaces. Compatibility under refinement then assembles the finite-quotient data and proves the required profinite or pro-\(C\) statement. The quotient-level assertions are stable under passing to smaller open normal subgroups, so they define compatible data in the inverse system of finite quotients. For pro-\(C\) permanence, the construction uses only operations for which the chosen finite group class is closed. Hence the finite verification assembles to the desired profinite map, subgroup, or quotient statement. The topological assertion is checked by the initial topology of the inverse limit. After composing with each finite-stage projection, the relevant map is a continuous finite-stage homomorphism or an operation on a finite product; compactness, Hausdorffness, total disconnectedness, and profiniteness are then inherited from the finite stages by the standard inverse-limit argument. For quotient and subgroup claims, representatives are chosen in the ambient group and the induced map is checked to send the class of an element to the class of its image. Normality, openness, and membership in the finite quotient class are preserved by the subgroup, quotient, intersection, or inverse-image closure property being invoked.
□