Test conjugates of original subgroup generators by symmetric ambient generators. Containment is supplied separately, as required for normality.
Equations
Instances For
theorem
Hex.PermGroup.Group.isNormal_iff
{n : Nat}
(H G : Group n)
(h : H.IsSubgroup G)
:
H.isNormal G h = true ↔ ∀ (p q : Perm n), Generated G.generators p → Generated H.generators q → Generated H.generators (p.conj q)
Check commutation of the original generator pairs, without enumerating the group.
Equations
- G.isAbelian = decide (∀ (i j : Fin G.generators.size), G.generators[↑i].comp G.generators[↑j] = G.generators[↑j].comp G.generators[↑i])
Instances For
def
Hex.PermGroup.Group.abelianFailure?
{n : Nat}
(G : Group n)
:
Option (Fin G.generators.size × Fin G.generators.size)
A noncommuting original generator pair, in deterministic index order.
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
Hex.PermGroup.Group.abelianFailure_sound
{n : Nat}
(G : Group n)
(i j : Fin G.generators.size)
(h : G.abelianFailure? = some (i, j))
:
def
Hex.PermGroup.Group.normalFailure?
{n : Nat}
(H G : Group n)
:
Option (Fin G.working.generators.size × Fin H.generators.size)
A symmetric ambient generator and original subgroup generator whose conjugate has a failed complete sift in the subgroup.
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
Hex.PermGroup.Group.normalFailure_sound
{n : Nat}
(H G : Group n)
(i : Fin G.working.generators.size)
(j : Fin H.generators.size)
(h : H.normalFailure? G = some (i, j))
:
¬Generated H.generators (G.working.generators[↑i].conj H.generators[↑j])
Transitivity requires a nonempty action. A singleton is transitive, including when its generator array is empty.