Simple groups #
This file defines IsSimpleGroup G
, a class indicating that a group has exactly two normal
subgroups.
Main definitions #
IsSimpleGroup G
, a class indicating that a group has exactly two normal subgroups.
Tags #
subgroup, subgroups
An AddGroup
is simple when it has exactly two normal AddSubgroup
s.
- exists_pair_ne : ∃ (x : A) (y : A), x ≠ y
- eq_bot_or_eq_top_of_normal : ∀ (H : AddSubgroup A), AddSubgroup.Normal H → H = ⊥ ∨ H = ⊤
Any normal additive subgroup is either
⊥
or⊤
Instances
theorem
AddSubgroup.Normal.eq_bot_or_eq_top
{G : Type u_1}
[AddGroup G]
[IsSimpleAddGroup G]
{H : AddSubgroup G}
(Hn : AddSubgroup.Normal H)
:
theorem
Subgroup.Normal.eq_bot_or_eq_top
{G : Type u_1}
[Group G]
[IsSimpleGroup G]
{H : Subgroup G}
(Hn : Subgroup.Normal H)
:
instance
IsSimpleAddGroup.instIsSimpleOrderAddSubgroupToAddGroupToLEToPreorderToPartialOrderToCompleteSemilatticeInfInstCompleteLatticeAddSubgroupToBoundedOrder
{C : Type u_3}
[AddCommGroup C]
[IsSimpleAddGroup C]
:
Equations
- (_ : IsSimpleOrder (AddSubgroup C)) = (_ : IsSimpleOrder (AddSubgroup C))
instance
IsSimpleGroup.instIsSimpleOrderSubgroupToGroupToLEToPreorderToPartialOrderToCompleteSemilatticeInfInstCompleteLatticeSubgroupToBoundedOrder
{C : Type u_3}
[CommGroup C]
[IsSimpleGroup C]
:
Equations
- (_ : IsSimpleOrder (Subgroup C)) = (_ : IsSimpleOrder (Subgroup C))
theorem
IsSimpleAddGroup.isSimpleAddGroup_of_surjective
{G : Type u_1}
[AddGroup G]
{H : Type u_3}
[AddGroup H]
[IsSimpleAddGroup G]
[Nontrivial H]
(f : G →+ H)
(hf : Function.Surjective ⇑f)
:
theorem
IsSimpleGroup.isSimpleGroup_of_surjective
{G : Type u_1}
[Group G]
{H : Type u_3}
[Group H]
[IsSimpleGroup G]
[Nontrivial H]
(f : G →* H)
(hf : Function.Surjective ⇑f)
: