LeanPool.OrderPQ.SemidirectProduct #
noncomputable def
mulEquivSemidirectProduct
{G : Type u_5}
[Group G]
{N H : Subgroup G}
(h : N.Normal)
(inf_eq_bot : N ⊓ H = ⊥)
(sup_eq_top : N ⊔ H = ⊤)
{φ : ↥H →* MulAut ↥N}
(conj : φ = MulAut.conjNormal.restrict H)
:
If N is a normal subgroup of G and H is a subgroup with N ⊓ H = ⊥ and N ⊔ H = ⊤,
then G is isomorphic to the semidirect product N ⋊[φ] H for φ the conjugation action.
Equations
Instances For
If H ≤ K are subgroups of G, then H.subgroupOf K is canonically isomorphic to H.
Equations
Instances For
@[simp]
theorem
Subgroup.subgroupOfMulEquiv_symm_apply_coe_coe
{G : Type u_6}
[Group G]
(H K : Subgroup G)
(h : H ≤ K)
(x : ↥H)
:
@[simp]
theorem
Subgroup.subgroupOfMulEquiv_apply_coe
{G : Type u_6}
[Group G]
(H K : Subgroup G)
(h : H ≤ K)
(x : ↥(H.subgroupOf K))
:
noncomputable def
mulEquivSemidirectProduct'
{G : Type u_5}
[Group G]
{N H : Subgroup G}
(h : N.Normal)
(inf_eq_bot : N ⊓ H = ⊥)
{φ : ↥H →* MulAut ↥N}
(conj : φ = MulAut.conjNormal.restrict H)
:
Variant of mulEquivSemidirectProduct that works within the subgroup N ⊔ H rather than
requiring N ⊔ H = ⊤.
Equations
- One or more equations did not get rendered due to their size.
Instances For
noncomputable def
mulEquivProd
{G : Type u_5}
[Group G]
{N H : Subgroup G}
(hN : N.Normal)
(hH : H.Normal)
(inf_eq_bot : N ⊓ H = ⊥)
(sup_eq_top : N ⊔ H = ⊤)
:
If N and H are normal subgroups of G with trivial intersection that span G,
then G is isomorphic to the direct product N × H.
Equations
- mulEquivProd hN hH inf_eq_bot sup_eq_top = (mulEquivSemidirectProduct hN inf_eq_bot sup_eq_top ⋯).trans (have this := ⋯; ⋯ ▸ SemidirectProduct.mulEquivProd)