def IsNoncommutativeGroup (G : Type u) [Group G] : Prop :=
commutator G ≠ ⊥A group is noncommutative when its abstract commutator subgroup is nontrivial.
def IsClosedNormalClosure {G : Type u} [Group G] [TopologicalSpace G]
(S : Set G) (N : Subgroup G) : Prop :=
N.Normal ∧ IsClosed (N : Set G) ∧ S ⊆ N ∧
∀ M : Subgroup G, M.Normal → IsClosed (M : Set G) → S ⊆ M → N ≤ MThe closed normal closure of a subset as a universal closed normal subgroup.
def IsPerfectSubgroup {G : Type u} [Group G] (K : Subgroup G) : Prop :=
⁅K, K⁆ = KA subgroup is perfect when it is equal to its abstract commutator subgroup.