Residually Finite Groups #
In this file we define residually finite groups and prove some basic properties.
Main definitions #
Group.ResiduallyFinite G: A groupGis residually finite if the intersection of all finite index normal subgroups is trivial.
An additive group G is residually finite if the intersection of all finite index normal
additive subgroups is trivial.
Instances
A group G is residually finite if the intersection of all finite index normal subgroups is
trivial.
Instances
theorem
AddGroup.residuallyFinite_iff_forall_finiteIndexNormalAddSubgroup
{G : Type u_1}
[AddGroup G]
:
theorem
Group.eq_one_iff_forall_finiteIndexNormalSubroup
{G : Type u_1}
[Group G]
[ResiduallyFinite G]
(g : G)
(hg : ∀ (H : FiniteIndexNormalSubgroup G), g ∈ H)
:
theorem
AddGroup.eq_zero_iff_forall_finiteIndexNormalSubroup
{G : Type u_1}
[AddGroup G]
[ResiduallyFinite G]
(g : G)
(hg : ∀ (H : FiniteIndexNormalAddSubgroup G), g ∈ H)
:
theorem
AddGroup.residuallyFinite_iff_exists_finiteIndexNormalAddSubgroup
{G : Type u_1}
[AddGroup G]
:
theorem
Group.exists_finiteIndexNormalSubgroup_notMem
{G : Type u_1}
[Group G]
[ResiduallyFinite G]
(g : G)
(hg : g ≠ 1)
:
∃ (H : FiniteIndexNormalSubgroup G), g ∉ H
theorem
AddGroup.exists_finiteIndexNormalAddSubgroup_notMem
{G : Type u_1}
[AddGroup G]
[ResiduallyFinite G]
(g : G)
(hg : g ≠ 0)
:
∃ (H : FiniteIndexNormalAddSubgroup G), g ∉ H
theorem
Group.exists_finiteIndexNormalSubgroup_of_residuallyFinite
{G : Type u_1}
[Group G]
[ResiduallyFinite G]
(g h : G)
(hgh : g ≠ h)
:
∃ (H : FiniteIndexNormalSubgroup G), ↑g ≠ ↑h
If G is residually finite, for every pair of distinct elements g, h there exists a finite
index normal subgroup H such that g and h differ in the quotient G ⧸ H.
theorem
AddGroup.exists_finiteIndexNormalAddSubgroup_of_residuallyFinite
{G : Type u_1}
[AddGroup G]
[ResiduallyFinite G]
(g h : G)
(hgh : g ≠ h)
:
∃ (H : FiniteIndexNormalAddSubgroup G), ↑g ≠ ↑h
theorem
Group.residuallyFinite_of_forall_exists_finite_monoidHom
{G : Type u_1}
[Group G]
(h : ∀ (g : G), g ≠ 1 → ∃ (H : Type u) (x : Group H) (_ : Finite H) (f : G →* H), f g ≠ 1)
:
G is residually finite if for every element g not equal to 1 there exists a group
homomorphism f to a finite group H such that f g ≠ 1.
instance
Group.instResiduallyFiniteSubtypeMemSubgroup
{G : Type u_1}
[Group G]
[ResiduallyFinite G]
{H : Subgroup G}
:
instance
AddGroup.instResiduallyFiniteSubtypeMemAddSubgroup
{G : Type u_1}
[AddGroup G]
[ResiduallyFinite G]
{H : AddSubgroup G}
:
instance
Group.instResiduallyFiniteProd
{G : Type u_1}
{G' : Type u_2}
[Group G]
[Group G']
[ResiduallyFinite G]
[ResiduallyFinite G']
:
ResiduallyFinite (G × G')
instance
AddGroup.instResiduallyFiniteSum
{G : Type u_1}
{G' : Type u_2}
[AddGroup G]
[AddGroup G']
[ResiduallyFinite G]
[ResiduallyFinite G']
:
ResiduallyFinite (G × G')