Loogle!
Result
Found 193 declarations mentioning MulAut.
- MulAut π Mathlib.Algebra.Group.End
(M : Type u_7) [Mul M] : Type u_7 - MulAut.instGroup π Mathlib.Algebra.Group.End
(M : Type u_2) [Mul M] : Group (MulAut M) - MulAut.instInhabited π Mathlib.Algebra.Group.End
(M : Type u_2) [Mul M] : Inhabited (MulAut M) - MulAut.one_def π Mathlib.Algebra.Group.End
(M : Type u_2) [Mul M] : 1 = MulEquiv.refl M - MulAut.inv_def π Mathlib.Algebra.Group.End
(M : Type u_2) [Mul M] (eβ : MulAut M) : eββ»ΒΉ = MulEquiv.symm eβ - MulAut.inv_symm π Mathlib.Algebra.Group.End
(M : Type u_2) [Mul M] (e : MulAut M) : MulEquiv.symm eβ»ΒΉ = e - MulAut.toPerm π Mathlib.Algebra.Group.End
(M : Type u_2) [Mul M] : MulAut M β* Equiv.Perm M - MulAut.symm_inv π Mathlib.Algebra.Group.End
(M : Type u_2) [Mul M] (e : MulAut M) : (MulEquiv.symm e)β»ΒΉ = e - MulAut.coe_one π Mathlib.Algebra.Group.End
(M : Type u_2) [Mul M] : β1 = id - MulAut.one_apply π Mathlib.Algebra.Group.End
(M : Type u_2) [Mul M] (m : M) : 1 m = m - MulAut.mul_def π Mathlib.Algebra.Group.End
(M : Type u_2) [Mul M] (eβ eβ : MulAut M) : eβ * eβ = MulEquiv.trans eβ eβ - MulAut.apply_inv_self π Mathlib.Algebra.Group.End
(M : Type u_2) [Mul M] (e : MulAut M) (m : M) : e (eβ»ΒΉ m) = m - MulAut.inv_apply_self π Mathlib.Algebra.Group.End
(M : Type u_2) [Mul M] (e : MulAut M) (m : M) : eβ»ΒΉ (e m) = m - MulAut.coe_inv π Mathlib.Algebra.Group.End
(M : Type u_2) [Mul M] (e : MulAut M) : βeβ»ΒΉ = β(MulEquiv.symm e) - MulAut.inv_apply π Mathlib.Algebra.Group.End
(M : Type u_2) [Mul M] (e : MulAut M) (m : M) : eβ»ΒΉ m = (MulEquiv.symm e) m - MulAut.conj π Mathlib.Algebra.Group.End
{G : Type u_3} [Group G] : G β* MulAut G - MulAut.mul_apply π Mathlib.Algebra.Group.End
(M : Type u_2) [Mul M] (eβ eβ : MulAut M) (m : M) : (eβ * eβ) m = eβ (eβ m) - MulAut.coe_mul π Mathlib.Algebra.Group.End
(M : Type u_2) [Mul M] (eβ eβ : MulAut M) : β(eβ * eβ) = βeβ β βeβ - MulAutMultiplicative π Mathlib.Algebra.Group.End
(G : Type u_3) [AddGroup G] : MulAut (Multiplicative G) β* Multiplicative (AddAut G) - AddAutAdditive π Mathlib.Algebra.Group.End
(G : Type u_3) [Group G] : AddAut (Additive G) β+ Additive (MulAut G) - MulAut.congr π Mathlib.Algebra.Group.End
{G : Type u_3} [Group G] {H : Type u_7} [Group H] (Ο : G β* H) : MulAut G β* MulAut H - MulAut.conj_apply π Mathlib.Algebra.Group.End
{G : Type u_3} [Group G] (g h : G) : (MulAut.conj g) h = g * h * gβ»ΒΉ - MulAut.conj_symm_apply π Mathlib.Algebra.Group.End
{G : Type u_3} [Group G] (g h : G) : (MulEquiv.symm (MulAut.conj g)) h = gβ»ΒΉ * h * g - MulAut.conj_inv_apply π Mathlib.Algebra.Group.End
{G : Type u_3} [Group G] (g h : G) : (MulAut.conj g)β»ΒΉ h = gβ»ΒΉ * h * g - MulAut.congr_apply π Mathlib.Algebra.Group.End
{G : Type u_3} [Group G] {H : Type u_7} [Group H] (Ο : G β* H) (f : MulAut G) : (MulAut.congr Ο) f = Ο.symm.trans (MulEquiv.trans f Ο) - MulAutMultiplicative_apply_apply π Mathlib.Algebra.Group.End
(G : Type u_3) [AddGroup G] (aβ : Multiplicative G β* Multiplicative G) (a : G) : ((MulAutMultiplicative G) aβ) a = Multiplicative.toAdd (aβ (Multiplicative.ofAdd a)) - MulAutMultiplicative_apply_symm_apply π Mathlib.Algebra.Group.End
(G : Type u_3) [AddGroup G] (aβ : Multiplicative G β* Multiplicative G) (a : G) : (AddEquiv.symm ((MulAutMultiplicative G) aβ)) a = Multiplicative.toAdd (aβ.symm (Multiplicative.ofAdd a)) - AddAutAdditive_apply_apply π Mathlib.Algebra.Group.End
(G : Type u_3) [Group G] (aβ : Additive G β+ Additive G) (a : G) : ((AddAutAdditive G) aβ) a = Additive.toMul (aβ (Additive.ofMul a)) - MulAut.congr_symm_apply π Mathlib.Algebra.Group.End
{G : Type u_3} [Group G] {H : Type u_7} [Group H] (Ο : G β* H) (f : MulAut H) : (MulAut.congr Ο).symm f = Ο.trans (MulEquiv.trans f Ο.symm) - AddAutAdditive_apply_symm_apply π Mathlib.Algebra.Group.End
(G : Type u_3) [Group G] (aβ : Additive G β+ Additive G) (a : G) : (MulEquiv.symm ((AddAutAdditive G) aβ)) a = Additive.toMul (aβ.symm (Additive.ofMul a)) - MulAutMultiplicative_symm_apply_apply π Mathlib.Algebra.Group.End
(G : Type u_3) [AddGroup G] (aβ : G β+ G) (a : Multiplicative G) : ((MulAutMultiplicative G).symm aβ) a = Multiplicative.ofAdd (aβ (Multiplicative.toAdd a)) - MulAutMultiplicative_symm_apply_symm_apply π Mathlib.Algebra.Group.End
(G : Type u_3) [AddGroup G] (aβ : G β+ G) (a : Multiplicative G) : (MulEquiv.symm ((MulAutMultiplicative G).symm aβ)) a = Multiplicative.ofAdd (aβ.symm (Multiplicative.toAdd a)) - AddAutAdditive_symm_apply_apply π Mathlib.Algebra.Group.End
(G : Type u_3) [Group G] (aβ : G β* G) (a : Additive G) : ((AddAutAdditive G).symm aβ) a = Additive.ofMul (aβ (Additive.toMul a)) - AddAutAdditive_symm_apply_symm_apply π Mathlib.Algebra.Group.End
(G : Type u_3) [Group G] (aβ : G β* G) (a : Additive G) : (AddEquiv.symm ((AddAutAdditive G).symm aβ)) a = Additive.ofMul (aβ.symm (Additive.toMul a)) - MulAut.applyMulAction π Mathlib.Algebra.Group.Action.End
{M : Type u_2} [Monoid M] : MulAction (MulAut M) M - MulAut.applyMulDistribMulAction π Mathlib.Algebra.Group.Action.End
{M : Type u_2} [Monoid M] : MulDistribMulAction (MulAut M) M - MulDistribMulAction.toMulAut π Mathlib.Algebra.Group.Action.End
(G : Type u_1) (M : Type u_2) [Group G] [Monoid M] [MulDistribMulAction G M] : G β* MulAut M - MulAut.apply_faithfulSMul π Mathlib.Algebra.Group.Action.End
{M : Type u_2} [Monoid M] : FaithfulSMul (MulAut M) M - mulAutArrow π Mathlib.Algebra.Group.Action.End
{G : Type u_1} {M : Type u_2} {A : Type u_3} [Group G] [MulAction G A] [Monoid M] : G β* MulAut (A β M) - MulAut.smul_def π Mathlib.Algebra.Group.Action.End
{M : Type u_2} [Monoid M] (f : MulAut M) (a : M) : f β’ a = f a - MulDistribMulAction.toMulAut_apply π Mathlib.Algebra.Group.Action.End
(G : Type u_1) (M : Type u_2) [Group G] [Monoid M] [MulDistribMulAction G M] (x : G) : (MulDistribMulAction.toMulAut G M) x = MulDistribMulAction.toMulEquiv M x - mulAutArrow_apply_apply π Mathlib.Algebra.Group.Action.End
{G : Type u_1} {M : Type u_2} {A : Type u_3} [Group G] [MulAction G A] [Monoid M] (x : G) (aβ : A β M) (aβΒΉ : A) : (mulAutArrow x) aβ aβΒΉ = (x β’ aβ) aβΒΉ - mulAutArrow_apply_symm_apply π Mathlib.Algebra.Group.Action.End
{G : Type u_1} {M : Type u_2} {A : Type u_3} [Group G] [MulAction G A] [Monoid M] (x : G) (aβ : A β M) (aβΒΉ : A) : (MulEquiv.symm (mulAutArrow x)) aβ aβΒΉ = (xβ»ΒΉ β’ aβ) aβΒΉ - MulAut.characteristic π Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [Group G] (H : Subgroup G) [H.Characteristic] : MulAut G β* MulAut β₯H - Subgroup.mem_normalizer_iff_conj_image_eq π Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [Group G] {s : Set G} {g : G} : g β Subgroup.normalizer s β β(MulAut.conj g) '' s = s - Subgroup.Normal.map_conj_eq π Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [Group G] (H : Subgroup G) [H.Normal] (g : G) : Subgroup.map (β(MulAut.conj g)) H = H - Subgroup.normal_iff_map_conj_eq π Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [Group G] {H : Subgroup G} : H.Normal β β (g : G), Subgroup.map (β(MulAut.conj g)) H = H - Subgroup.normalCore_eq_iInf_comap_conj π Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [Group G] (H : Subgroup G) : H.normalCore = β¨ g, Subgroup.comap (β(MulAut.conj g)) H - Subgroup.normalCore_eq_iInf_map_conj π Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [Group G] (H : Subgroup G) : H.normalCore = β¨ g, Subgroup.map (β(MulAut.conj g)) H - Subgroup.mem_normalizer_iff_map_conj_eq π Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [Group G] {H : Subgroup G} {g : G} : g β Subgroup.normalizer βH β Subgroup.map (β(MulAut.conj g)) H = H - MulAut.characteristic_apply_apply_coe π Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [Group G] (H : Subgroup G) [H.Characteristic] (Ο : MulAut G) (h : β₯H) : β(((MulAut.characteristic H) Ο) h) = Ο βh - MulAut.characteristic_apply_symm_apply_coe π Mathlib.Algebra.Group.Subgroup.Basic
{G : Type u_1} [Group G] (H : Subgroup G) [H.Characteristic] (Ο : MulAut G) (h : β₯H) : β((MulEquiv.symm ((MulAut.characteristic H) Ο)) h) = (MulEquiv.symm Ο) βh - Subgroup.normalizerMonoidHom_ker π Mathlib.GroupTheory.Subgroup.Centralizer
{G : Type u_1} [Group G] (H : Subgroup G) : H.normalizerMonoidHom.ker = (Subgroup.centralizer βH).subgroupOf (Subgroup.normalizer βH) - Subgroup.normalizerMonoidHom π Mathlib.GroupTheory.Subgroup.Centralizer
{G : Type u_1} [Group G] (H : Subgroup G) : β₯(Subgroup.normalizer βH) β* MulAut β₯H - Subgroup.normalizerMonoidHom_apply_apply_coe π Mathlib.GroupTheory.Subgroup.Centralizer
{G : Type u_1} [Group G] (H : Subgroup G) (x : β₯(Subgroup.normalizer βH)) (aβ : β₯H) : β((H.normalizerMonoidHom x) aβ) = βx * βaβ * (βx)β»ΒΉ - Subgroup.normalizerMonoidHom_apply_symm_apply_coe π Mathlib.GroupTheory.Subgroup.Centralizer
{G : Type u_1} [Group G] (H : Subgroup G) (x : β₯(Subgroup.normalizer βH)) (aβ : β₯H) : β((MulEquiv.symm (H.normalizerMonoidHom x)) aβ) = (βx)β»ΒΉ * βaβ * βx - MulAut.conjNormal π Mathlib.GroupTheory.GroupAction.ConjAct
{G : Type u_3} [Group G] {H : Subgroup G} [H.Normal] : G β* MulAut β₯H - ConjAct.toConjAct_smul_eq_mulAut_conj π Mathlib.GroupTheory.GroupAction.ConjAct
{G : Type u_3} [Group G] (g h : G) : ConjAct.toConjAct g β’ h = (MulAut.conj g) h - ConjAct.smul_eq_mulAut_conj π Mathlib.GroupTheory.GroupAction.ConjAct
{G : Type u_3} [Group G] (g : ConjAct G) (h : G) : g β’ h = (MulAut.conj (ConjAct.ofConjAct g)) h - MulAut.conjNormal_apply π Mathlib.GroupTheory.GroupAction.ConjAct
{G : Type u_3} [Group G] {H : Subgroup G} [H.Normal] (g : G) (h : β₯H) : β((MulAut.conjNormal g) h) = g * βh * gβ»ΒΉ - MulAut.conjNormal_symm_apply π Mathlib.GroupTheory.GroupAction.ConjAct
{G : Type u_3} [Group G] {H : Subgroup G} [H.Normal] (g : G) (h : β₯H) : β((MulEquiv.symm (MulAut.conjNormal g)) h) = gβ»ΒΉ * βh * g - MulAut.conjNormal_inv_apply π Mathlib.GroupTheory.GroupAction.ConjAct
{G : Type u_3} [Group G] {H : Subgroup G} [H.Normal] (g : G) (h : β₯H) : β((MulAut.conjNormal g)β»ΒΉ h) = gβ»ΒΉ * βh * g - MulAut.conjNormal_val π Mathlib.GroupTheory.GroupAction.ConjAct
{G : Type u_3} [Group G] {H : Subgroup G} [H.Normal] {h : β₯H} : MulAut.conjNormal βh = MulAut.conj h - Subgroup.Normal.conj_smul_eq_self π Mathlib.Algebra.Group.Subgroup.Pointwise
{G : Type u_2} [Group G] (g : G) (H : Subgroup G) [h : H.Normal] : MulAut.conj g β’ H = H - Subgroup.Normal.of_conjugate_fixed π Mathlib.Algebra.Group.Subgroup.Pointwise
{G : Type u_2} [Group G] {H : Subgroup G} (h : β (g : G), MulAut.conj g β’ H = H) : H.Normal - Subgroup.conj_smul_eq_self_of_mem π Mathlib.Algebra.Group.Subgroup.Pointwise
{G : Type u_2} [Group G] {H : Subgroup G} {h : G} (hh : h β H) : MulAut.conj h β’ H = H - Subgroup.conj_smul_le_of_le π Mathlib.Algebra.Group.Subgroup.Pointwise
{G : Type u_2} [Group G] {P H : Subgroup G} (hP : P β€ H) (h : β₯H) : MulAut.conj βh β’ P β€ H - Subgroup.conj_smul_subgroupOf π Mathlib.Algebra.Group.Subgroup.Pointwise
{G : Type u_2} [Group G] {P H : Subgroup G} (hP : P β€ H) (h : β₯H) : MulAut.conj h β’ P.subgroupOf H = (MulAut.conj βh β’ P).subgroupOf H - conj_eq_commutatorElement_mul π Mathlib.GroupTheory.Commutator.Basic
{G : Type u_1} [Group G] {gβ gβ : G} : (MulAut.conj gβ) gβ = β gβ, gββ * gβ - RingAut.toMulAut π Mathlib.Algebra.Ring.Aut
(R : Type u_1) [Mul R] [Add R] : RingAut R β* MulAut R - starMulAut π Mathlib.Algebra.Star.Basic
{R : Type u} [CommSemigroup R] [StarMul R] : MulAut R - MonoidAlgebra.domCongrAut π Mathlib.Algebra.MonoidAlgebra.Basic
{R : Type u_1} {A : Type u_4} {M : Type u_7} [CommSemiring R] [Semiring A] [Algebra R A] [Monoid M] : MulAut M β* MonoidAlgebra A M ββ[R] MonoidAlgebra A M - MonoidAlgebra.domCongrAut_apply π Mathlib.Algebra.MonoidAlgebra.Basic
{R : Type u_1} {A : Type u_4} {M : Type u_7} [CommSemiring R] [Semiring A] [Algebra R A] [Monoid M] (e : M β* M) : MonoidAlgebra.domCongrAut e = MonoidAlgebra.domCongr R A e - MulAction.stabilizer_smul_eq_stabilizer_map_conj π Mathlib.GroupTheory.GroupAction.Basic
{G : Type u_1} {Ξ± : Type u_2} [Group G] [MulAction G Ξ±] (g : G) (a : Ξ±) : MulAction.stabilizer G (g β’ a) = Subgroup.map (MulEquiv.toMonoidHom (MulAut.conj g)) (MulAction.stabilizer G a) - MulAction.stabilizerEquivStabilizer_apply π Mathlib.GroupTheory.GroupAction.Basic
{G : Type u_1} {Ξ± : Type u_2} [Group G] [MulAction G Ξ±] {g : G} {a b : Ξ±} (hg : b = g β’ a) (x : β₯(MulAction.stabilizer G a)) : β((MulAction.stabilizerEquivStabilizer hg) x) = (MulAut.conj g) βx - MulAction.stabilizerEquivStabilizer_symm_apply π Mathlib.GroupTheory.GroupAction.Basic
{G : Type u_1} {Ξ± : Type u_2} [Group G] [MulAction G Ξ±] {g : G} {a b : Ξ±} (hg : b = g β’ a) (x : β₯(MulAction.stabilizer G b)) : β((MulAction.stabilizerEquivStabilizer hg).symm x) = (MulAut.conj gβ»ΒΉ) βx - Ideal.inertia_smul π Mathlib.RingTheory.Ideal.Pointwise
{M : Type u_1} [Group M] {R : Type u_4} [Ring R] [MulSemiringAction M R] (g : M) (I : Ideal R) : Ideal.inertia M (g β’ I) = Subgroup.map (β(MulAut.conj g)) (Ideal.inertia M I) - IsCyclic.card_mulAut π Mathlib.GroupTheory.SpecificGroups.Cyclic
(G : Type u_2) [Group G] [Finite G] [h : IsCyclic G] : Nat.card (MulAut G) = (Nat.card G).totient - IsCyclic.mulAutMulEquiv π Mathlib.GroupTheory.SpecificGroups.Cyclic
(G : Type u_2) [Group G] [h : IsCyclic G] : MulAut G β* (ZMod (Nat.card G))Λ£ - IsCyclic.val_mulAutMulEquiv_apply π Mathlib.GroupTheory.SpecificGroups.Cyclic
(G : Type u_2) [Group G] [h : IsCyclic G] (aβ : MulAut G) : β((IsCyclic.mulAutMulEquiv G) aβ) = (Multiplicative.toAdd ((MulAutMultiplicative (ZMod (Nat.card G))) ((zmodCyclicMulEquiv h).trans (MulEquiv.trans aβ (zmodCyclicMulEquiv h).symm)))) 1 - IsCyclic.val_inv_mulAutMulEquiv_apply π Mathlib.GroupTheory.SpecificGroups.Cyclic
(G : Type u_2) [Group G] [h : IsCyclic G] (aβ : MulAut G) : β((IsCyclic.mulAutMulEquiv G) aβ)β»ΒΉ = (AddEquiv.symm (Multiplicative.toAdd ((MulAutMultiplicative (ZMod (Nat.card G))) ((zmodCyclicMulEquiv h).trans (MulEquiv.trans aβ (zmodCyclicMulEquiv h).symm))))) 1 - IsCyclic.mulAutMulEquiv_symm_apply_apply π Mathlib.GroupTheory.SpecificGroups.Cyclic
(G : Type u_2) [Group G] [h : IsCyclic G] (aβ : (ZMod (Nat.card G))Λ£) (aβΒΉ : G) : ((IsCyclic.mulAutMulEquiv G).symm aβ) aβΒΉ = (zmodCyclicMulEquiv h) (Multiplicative.ofAdd (((β(AddEquiv.toMultiplicative (ZMod.AddAutEquivUnits (Nat.card G)))).symm aβ) (Multiplicative.toAdd ((zmodCyclicMulEquiv h).symm aβΒΉ)))) - IsCyclic.mulAutMulEquiv_symm_apply_symm_apply π Mathlib.GroupTheory.SpecificGroups.Cyclic
(G : Type u_2) [Group G] [h : IsCyclic G] (aβ : (ZMod (Nat.card G))Λ£) (aβΒΉ : G) : (MulEquiv.symm ((IsCyclic.mulAutMulEquiv G).symm aβ)) aβΒΉ = (zmodCyclicMulEquiv h) (Multiplicative.ofAdd ((AddEquiv.symm ((β(AddEquiv.toMultiplicative (ZMod.AddAutEquivUnits (Nat.card G)))).symm aβ)) (Multiplicative.toAdd ((zmodCyclicMulEquiv h).symm aβΒΉ)))) - Sylow.coe_smul π Mathlib.GroupTheory.Sylow
{p : β} {G : Type u_1} [Group G] {g : G} {P : Sylow p G} : β(g β’ P) = MulAut.conj g β’ βP - Sylow.smul_def π Mathlib.GroupTheory.Sylow
{p : β} {G : Type u_1} [Group G] {g : G} {P : Sylow p G} : g β’ P = MulAut.conj g β’ P - Sylow.coe_subgroup_smul π Mathlib.GroupTheory.Sylow
{p : β} {G : Type u_1} [Group G] {g : G} {P : Sylow p G} : β(g β’ P) = MulAut.conj g β’ βP - IsGalois.map_fixingSubgroup π Mathlib.FieldTheory.Galois.Basic
{K : Type u_3} {L : Type u_4} [Field K] [Field L] [Algebra K L] (E : IntermediateField K L) (Ο : Gal(L/K)) : (IntermediateField.map (βΟ) E).fixingSubgroup = MulAut.conj Ο β’ E.fixingSubgroup - SemidirectProduct π Mathlib.GroupTheory.SemidirectProduct
(N : Type u_1) (G : Type u_2) [Group N] [Group G] (Ο : G β* MulAut N) : Type (max u_1 u_2) - SemidirectProduct.instGroup π Mathlib.GroupTheory.SemidirectProduct
{N : Type u_1} {G : Type u_2} [Group N] [Group G] {Ο : G β* MulAut N} : Group (N β[Ο] G) - SemidirectProduct.instInhabited π Mathlib.GroupTheory.SemidirectProduct
{N : Type u_1} {G : Type u_2} [Group N] [Group G] {Ο : G β* MulAut N} : Inhabited (N β[Ο] G) - SemidirectProduct.instInv π Mathlib.GroupTheory.SemidirectProduct
{N : Type u_1} {G : Type u_2} [Group N] [Group G] {Ο : G β* MulAut N} : Inv (N β[Ο] G) - SemidirectProduct.instMul π Mathlib.GroupTheory.SemidirectProduct
{N : Type u_1} {G : Type u_2} [Group N] [Group G] {Ο : G β* MulAut N} : Mul (N β[Ο] G) - SemidirectProduct.instOne π Mathlib.GroupTheory.SemidirectProduct
{N : Type u_1} {G : Type u_2} [Group N] [Group G] {Ο : G β* MulAut N} : One (N β[Ο] G) - SemidirectProduct.left π Mathlib.GroupTheory.SemidirectProduct
{N : Type u_1} {G : Type u_2} [Group N] [Group G] {Ο : G β* MulAut N} (self : N β[Ο] G) : N - SemidirectProduct.right π Mathlib.GroupTheory.SemidirectProduct
{N : Type u_1} {G : Type u_2} [Group N] [Group G] {Ο : G β* MulAut N} (self : N β[Ο] G) : G - SemidirectProduct.mk π Mathlib.GroupTheory.SemidirectProduct
{N : Type u_1} {G : Type u_2} [Group N] [Group G] {Ο : G β* MulAut N} (left : N) (right : G) : N β[Ο] G - SemidirectProduct.equivProd π Mathlib.GroupTheory.SemidirectProduct
{N : Type u_1} {G : Type u_2} [Group N] [Group G] {Ο : G β* MulAut N} : N β[Ο] G β N Γ G - instDecidableEqSemidirectProduct π Mathlib.GroupTheory.SemidirectProduct
{Nβ : Type u_4} {Gβ : Type u_5} {instβ : Group Nβ} {instβΒΉ : Group Gβ} {Οβ : Gβ β* MulAut Nβ} [DecidableEq Nβ] [DecidableEq Gβ] : DecidableEq (Nβ β[Οβ] Gβ) - SemidirectProduct.card π Mathlib.GroupTheory.SemidirectProduct
{N : Type u_1} {G : Type u_2} [Group N] [Group G] {Ο : G β* MulAut N} : Nat.card (N β[Ο] G) = Nat.card N * Nat.card G - instDecidableEqSemidirectProduct.decEq π Mathlib.GroupTheory.SemidirectProduct
{Nβ : Type u_4} {Gβ : Type u_5} {instβ : Group Nβ} {instβΒΉ : Group Gβ} {Οβ : Gβ β* MulAut Nβ} [DecidableEq Nβ] [DecidableEq Gβ] (xβ xβΒΉ : Nβ β[Οβ] Gβ) : Decidable (xβ = xβΒΉ) - SemidirectProduct.one_left π Mathlib.GroupTheory.SemidirectProduct
{N : Type u_1} {G : Type u_2} [Group N] [Group G] {Ο : G β* MulAut N} : SemidirectProduct.left 1 = 1 - SemidirectProduct.one_right π Mathlib.GroupTheory.SemidirectProduct
{N : Type u_1} {G : Type u_2} [Group N] [Group G] {Ο : G β* MulAut N} : SemidirectProduct.right 1 = 1 - SemidirectProduct.inv_right π Mathlib.GroupTheory.SemidirectProduct
{N : Type u_1} {G : Type u_2} [Group N] [Group G] {Ο : G β* MulAut N} (a : N β[Ο] G) : aβ»ΒΉ.right = a.rightβ»ΒΉ - SemidirectProduct.inl π Mathlib.GroupTheory.SemidirectProduct
{N : Type u_1} {G : Type u_2} [Group N] [Group G] {Ο : G β* MulAut N} : N β* N β[Ο] G - SemidirectProduct.inr π Mathlib.GroupTheory.SemidirectProduct
{N : Type u_1} {G : Type u_2} [Group N] [Group G] {Ο : G β* MulAut N} : G β* N β[Ο] G - SemidirectProduct.rightHom π Mathlib.GroupTheory.SemidirectProduct
{N : Type u_1} {G : Type u_2} [Group N] [Group G] {Ο : G β* MulAut N} : N β[Ο] G β* G - SemidirectProduct.ext π Mathlib.GroupTheory.SemidirectProduct
{N : Type u_1} {G : Type u_2} {instβ : Group N} {instβΒΉ : Group G} {Ο : G β* MulAut N} {x y : N β[Ο] G} (left : x.left = y.left) (right : x.right = y.right) : x = y - SemidirectProduct.ext_iff π Mathlib.GroupTheory.SemidirectProduct
{N : Type u_1} {G : Type u_2} {instβ : Group N} {instβΒΉ : Group G} {Ο : G β* MulAut N} {x y : N β[Ο] G} : x = y β x.left = y.left β§ x.right = y.right - SemidirectProduct.range_inl_eq_ker_rightHom π Mathlib.GroupTheory.SemidirectProduct
{N : Type u_1} {G : Type u_2} [Group N] [Group G] {Ο : G β* MulAut N} : SemidirectProduct.inl.range = SemidirectProduct.rightHom.ker - SemidirectProduct.equivProd_symm_apply_left π Mathlib.GroupTheory.SemidirectProduct
{N : Type u_1} {G : Type u_2} [Group N] [Group G] {Ο : G β* MulAut N} (x : N Γ G) : (SemidirectProduct.equivProd.symm x).left = x.1 - SemidirectProduct.equivProd_symm_apply_right π Mathlib.GroupTheory.SemidirectProduct
{N : Type u_1} {G : Type u_2} [Group N] [Group G] {Ο : G β* MulAut N} (x : N Γ G) : (SemidirectProduct.equivProd.symm x).right = x.2 - SemidirectProduct.mul_right π Mathlib.GroupTheory.SemidirectProduct
{N : Type u_1} {G : Type u_2} [Group N] [Group G] {Ο : G β* MulAut N} (a b : N β[Ο] G) : (a * b).right = a.right * b.right - SemidirectProduct.equivProd_apply π Mathlib.GroupTheory.SemidirectProduct
{N : Type u_1} {G : Type u_2} [Group N] [Group G] {Ο : G β* MulAut N} (x : N β[Ο] G) : SemidirectProduct.equivProd x = (x.left, x.right) - SemidirectProduct.rightHom_comp_inr π Mathlib.GroupTheory.SemidirectProduct
{N : Type u_1} {G : Type u_2} [Group N] [Group G] {Ο : G β* MulAut N} : SemidirectProduct.rightHom.comp SemidirectProduct.inr = MonoidHom.id G - SemidirectProduct.inl_injective π Mathlib.GroupTheory.SemidirectProduct
{N : Type u_1} {G : Type u_2} [Group N] [Group G] {Ο : G β* MulAut N} : Function.Injective βSemidirectProduct.inl - SemidirectProduct.inr_injective π Mathlib.GroupTheory.SemidirectProduct
{N : Type u_1} {G : Type u_2} [Group N] [Group G] {Ο : G β* MulAut N} : Function.Injective βSemidirectProduct.inr - SemidirectProduct.left_inl π Mathlib.GroupTheory.SemidirectProduct
{N : Type u_1} {G : Type u_2} [Group N] [Group G] {Ο : G β* MulAut N} (n : N) : (SemidirectProduct.inl n).left = n - SemidirectProduct.right_inr π Mathlib.GroupTheory.SemidirectProduct
{N : Type u_1} {G : Type u_2} [Group N] [Group G] {Ο : G β* MulAut N} (g : G) : (SemidirectProduct.inr g).right = g - SemidirectProduct.rightHom_surjective π Mathlib.GroupTheory.SemidirectProduct
{N : Type u_1} {G : Type u_2} [Group N] [Group G] {Ο : G β* MulAut N} : Function.Surjective βSemidirectProduct.rightHom - SemidirectProduct.rightHom_eq_right π Mathlib.GroupTheory.SemidirectProduct
{N : Type u_1} {G : Type u_2} [Group N] [Group G] {Ο : G β* MulAut N} : βSemidirectProduct.rightHom = SemidirectProduct.right - SemidirectProduct.left_inr π Mathlib.GroupTheory.SemidirectProduct
{N : Type u_1} {G : Type u_2} [Group N] [Group G] {Ο : G β* MulAut N} (g : G) : (SemidirectProduct.inr g).left = 1 - SemidirectProduct.right_inl π Mathlib.GroupTheory.SemidirectProduct
{N : Type u_1} {G : Type u_2} [Group N] [Group G] {Ο : G β* MulAut N} (n : N) : (SemidirectProduct.inl n).right = 1 - SemidirectProduct.rightHom_comp_inl π Mathlib.GroupTheory.SemidirectProduct
{N : Type u_1} {G : Type u_2} [Group N] [Group G] {Ο : G β* MulAut N} : SemidirectProduct.rightHom.comp SemidirectProduct.inl = 1 - SemidirectProduct.rightHom_inr π Mathlib.GroupTheory.SemidirectProduct
{N : Type u_1} {G : Type u_2} [Group N] [Group G] {Ο : G β* MulAut N} (g : G) : SemidirectProduct.rightHom (SemidirectProduct.inr g) = g - SemidirectProduct.inl_inj π Mathlib.GroupTheory.SemidirectProduct
{N : Type u_1} {G : Type u_2} [Group N] [Group G] {Ο : G β* MulAut N} {nβ nβ : N} : SemidirectProduct.inl nβ = SemidirectProduct.inl nβ β nβ = nβ - SemidirectProduct.inr_inj π Mathlib.GroupTheory.SemidirectProduct
{N : Type u_1} {G : Type u_2} [Group N] [Group G] {Ο : G β* MulAut N} {gβ gβ : G} : SemidirectProduct.inr gβ = SemidirectProduct.inr gβ β gβ = gβ - SemidirectProduct.rightHom_inl π Mathlib.GroupTheory.SemidirectProduct
{N : Type u_1} {G : Type u_2} [Group N] [Group G] {Ο : G β* MulAut N} (n : N) : SemidirectProduct.rightHom (SemidirectProduct.inl n) = 1 - SemidirectProduct.lift_unique π Mathlib.GroupTheory.SemidirectProduct
{N : Type u_1} {G : Type u_2} {H : Type u_3} [Group N] [Group G] [Group H] {Ο : G β* MulAut N} (F : N β[Ο] G β* H) : F = SemidirectProduct.lift (F.comp SemidirectProduct.inl) (F.comp SemidirectProduct.inr) β― - SemidirectProduct.mk_eq_inl_mul_inr π Mathlib.GroupTheory.SemidirectProduct
{N : Type u_1} {G : Type u_2} [Group N] [Group G] {Ο : G β* MulAut N} (g : G) (n : N) : β¨n, gβ© = SemidirectProduct.inl n * SemidirectProduct.inr g - SemidirectProduct.inl_left_mul_inr_right π Mathlib.GroupTheory.SemidirectProduct
{N : Type u_1} {G : Type u_2} [Group N] [Group G] {Ο : G β* MulAut N} (x : N β[Ο] G) : SemidirectProduct.inl x.left * SemidirectProduct.inr x.right = x - SemidirectProduct.inv_left π Mathlib.GroupTheory.SemidirectProduct
{N : Type u_1} {G : Type u_2} [Group N] [Group G] {Ο : G β* MulAut N} (a : N β[Ο] G) : aβ»ΒΉ.left = (Ο a.rightβ»ΒΉ) a.leftβ»ΒΉ - SemidirectProduct.mul_left π Mathlib.GroupTheory.SemidirectProduct
{N : Type u_1} {G : Type u_2} [Group N] [Group G] {Ο : G β* MulAut N} (a b : N β[Ο] G) : (a * b).left = a.left * (Ο a.right) b.left - SemidirectProduct.mul_def π Mathlib.GroupTheory.SemidirectProduct
{N : Type u_1} {G : Type u_2} [Group N] [Group G] {Ο : G β* MulAut N} (a b : N β[Ο] G) : a * b = β¨a.left * (Ο a.right) b.left, a.right * b.rightβ© - SemidirectProduct.hom_ext π Mathlib.GroupTheory.SemidirectProduct
{N : Type u_1} {G : Type u_2} {H : Type u_3} [Group N] [Group G] [Group H] {Ο : G β* MulAut N} {f g : N β[Ο] G β* H} (hl : f.comp SemidirectProduct.inl = g.comp SemidirectProduct.inl) (hr : f.comp SemidirectProduct.inr = g.comp SemidirectProduct.inr) : f = g - SemidirectProduct.mulEquivProd π Mathlib.GroupTheory.SemidirectProduct
{N : Type u_1} {G : Type u_2} [Group N] [Group G] : N β[1] G β* N Γ G - SemidirectProduct.lift π Mathlib.GroupTheory.SemidirectProduct
{N : Type u_1} {G : Type u_2} {H : Type u_3} [Group N] [Group G] [Group H] {Ο : G β* MulAut N} (fn : N β* H) (fg : G β* H) (h : β (g : G), fn.comp (MulEquiv.toMonoidHom (Ο g)) = (MulEquiv.toMonoidHom (MulAut.conj (fg g))).comp fn) : N β[Ο] G β* H - SemidirectProduct.lift_comp_inl π Mathlib.GroupTheory.SemidirectProduct
{N : Type u_1} {G : Type u_2} {H : Type u_3} [Group N] [Group G] [Group H] {Ο : G β* MulAut N} (fn : N β* H) (fg : G β* H) (h : β (g : G), fn.comp (MulEquiv.toMonoidHom (Ο g)) = (MulEquiv.toMonoidHom (MulAut.conj (fg g))).comp fn) : (SemidirectProduct.lift fn fg h).comp SemidirectProduct.inl = fn - SemidirectProduct.lift_comp_inr π Mathlib.GroupTheory.SemidirectProduct
{N : Type u_1} {G : Type u_2} {H : Type u_3} [Group N] [Group G] [Group H] {Ο : G β* MulAut N} (fn : N β* H) (fg : G β* H) (h : β (g : G), fn.comp (MulEquiv.toMonoidHom (Ο g)) = (MulEquiv.toMonoidHom (MulAut.conj (fg g))).comp fn) : (SemidirectProduct.lift fn fg h).comp SemidirectProduct.inr = fg - SemidirectProduct.congr π Mathlib.GroupTheory.SemidirectProduct
{Nβ : Type u_4} {Gβ : Type u_5} {Nβ : Type u_6} {Gβ : Type u_7} [Group Nβ] [Group Gβ] [Group Nβ] [Group Gβ] {Οβ : Gβ β* MulAut Nβ} {Οβ : Gβ β* MulAut Nβ} (fn : Nβ β* Nβ) (fg : Gβ β* Gβ) (h : β (g : Gβ), MulEquiv.trans (Οβ g) fn = fn.trans (Οβ (fg g))) : Nβ β[Οβ] Gβ β* Nβ β[Οβ] Gβ - SemidirectProduct.map π Mathlib.GroupTheory.SemidirectProduct
{Nβ : Type u_4} {Gβ : Type u_5} {Nβ : Type u_6} {Gβ : Type u_7} [Group Nβ] [Group Gβ] [Group Nβ] [Group Gβ] {Οβ : Gβ β* MulAut Nβ} {Οβ : Gβ β* MulAut Nβ} (fn : Nβ β* Nβ) (fg : Gβ β* Gβ) (h : β (g : Gβ), fn.comp (MulEquiv.toMonoidHom (Οβ g)) = (MulEquiv.toMonoidHom (Οβ (fg g))).comp fn) : Nβ β[Οβ] Gβ β* Nβ β[Οβ] Gβ - SemidirectProduct.inl_aut π Mathlib.GroupTheory.SemidirectProduct
{N : Type u_1} {G : Type u_2} [Group N] [Group G] {Ο : G β* MulAut N} (g : G) (n : N) : SemidirectProduct.inl ((Ο g) n) = SemidirectProduct.inr g * SemidirectProduct.inl n * SemidirectProduct.inr gβ»ΒΉ - SemidirectProduct.lift_inl π Mathlib.GroupTheory.SemidirectProduct
{N : Type u_1} {G : Type u_2} {H : Type u_3} [Group N] [Group G] [Group H] {Ο : G β* MulAut N} (fn : N β* H) (fg : G β* H) (h : β (g : G), fn.comp (MulEquiv.toMonoidHom (Ο g)) = (MulEquiv.toMonoidHom (MulAut.conj (fg g))).comp fn) (n : N) : (SemidirectProduct.lift fn fg h) (SemidirectProduct.inl n) = fn n - SemidirectProduct.lift_inr π Mathlib.GroupTheory.SemidirectProduct
{N : Type u_1} {G : Type u_2} {H : Type u_3} [Group N] [Group G] [Group H] {Ο : G β* MulAut N} (fn : N β* H) (fg : G β* H) (h : β (g : G), fn.comp (MulEquiv.toMonoidHom (Ο g)) = (MulEquiv.toMonoidHom (MulAut.conj (fg g))).comp fn) (g : G) : (SemidirectProduct.lift fn fg h) (SemidirectProduct.inr g) = fg g - SemidirectProduct.inl_aut_inv π Mathlib.GroupTheory.SemidirectProduct
{N : Type u_1} {G : Type u_2} [Group N] [Group G] {Ο : G β* MulAut N} (g : G) (n : N) : SemidirectProduct.inl ((Ο g)β»ΒΉ n) = SemidirectProduct.inr gβ»ΒΉ * SemidirectProduct.inl n * SemidirectProduct.inr g - SemidirectProduct.map_comp_inl π Mathlib.GroupTheory.SemidirectProduct
{Nβ : Type u_4} {Gβ : Type u_5} {Nβ : Type u_6} {Gβ : Type u_7} [Group Nβ] [Group Gβ] [Group Nβ] [Group Gβ] {Οβ : Gβ β* MulAut Nβ} {Οβ : Gβ β* MulAut Nβ} (fn : Nβ β* Nβ) (fg : Gβ β* Gβ) (h : β (g : Gβ), fn.comp (MulEquiv.toMonoidHom (Οβ g)) = (MulEquiv.toMonoidHom (Οβ (fg g))).comp fn) : (SemidirectProduct.map fn fg h).comp SemidirectProduct.inl = SemidirectProduct.inl.comp fn - SemidirectProduct.map_comp_inr π Mathlib.GroupTheory.SemidirectProduct
{Nβ : Type u_4} {Gβ : Type u_5} {Nβ : Type u_6} {Gβ : Type u_7} [Group Nβ] [Group Gβ] [Group Nβ] [Group Gβ] {Οβ : Gβ β* MulAut Nβ} {Οβ : Gβ β* MulAut Nβ} (fn : Nβ β* Nβ) (fg : Gβ β* Gβ) (h : β (g : Gβ), fn.comp (MulEquiv.toMonoidHom (Οβ g)) = (MulEquiv.toMonoidHom (Οβ (fg g))).comp fn) : (SemidirectProduct.map fn fg h).comp SemidirectProduct.inr = SemidirectProduct.inr.comp fg - SemidirectProduct.rightHom_comp_map π Mathlib.GroupTheory.SemidirectProduct
{Nβ : Type u_4} {Gβ : Type u_5} {Nβ : Type u_6} {Gβ : Type u_7} [Group Nβ] [Group Gβ] [Group Nβ] [Group Gβ] {Οβ : Gβ β* MulAut Nβ} {Οβ : Gβ β* MulAut Nβ} (fn : Nβ β* Nβ) (fg : Gβ β* Gβ) (h : β (g : Gβ), fn.comp (MulEquiv.toMonoidHom (Οβ g)) = (MulEquiv.toMonoidHom (Οβ (fg g))).comp fn) : SemidirectProduct.rightHom.comp (SemidirectProduct.map fn fg h) = fg.comp SemidirectProduct.rightHom - SemidirectProduct.congr_apply_left π Mathlib.GroupTheory.SemidirectProduct
{Nβ : Type u_4} {Gβ : Type u_5} {Nβ : Type u_6} {Gβ : Type u_7} [Group Nβ] [Group Gβ] [Group Nβ] [Group Gβ] {Οβ : Gβ β* MulAut Nβ} {Οβ : Gβ β* MulAut Nβ} (fn : Nβ β* Nβ) (fg : Gβ β* Gβ) (h : β (g : Gβ), MulEquiv.trans (Οβ g) fn = fn.trans (Οβ (fg g))) (x : Nβ β[Οβ] Gβ) : ((SemidirectProduct.congr fn fg h) x).left = fn x.left - SemidirectProduct.congr_apply_right π Mathlib.GroupTheory.SemidirectProduct
{Nβ : Type u_4} {Gβ : Type u_5} {Nβ : Type u_6} {Gβ : Type u_7} [Group Nβ] [Group Gβ] [Group Nβ] [Group Gβ] {Οβ : Gβ β* MulAut Nβ} {Οβ : Gβ β* MulAut Nβ} (fn : Nβ β* Nβ) (fg : Gβ β* Gβ) (h : β (g : Gβ), MulEquiv.trans (Οβ g) fn = fn.trans (Οβ (fg g))) (x : Nβ β[Οβ] Gβ) : ((SemidirectProduct.congr fn fg h) x).right = fg x.right - SemidirectProduct.map_left π Mathlib.GroupTheory.SemidirectProduct
{Nβ : Type u_4} {Gβ : Type u_5} {Nβ : Type u_6} {Gβ : Type u_7} [Group Nβ] [Group Gβ] [Group Nβ] [Group Gβ] {Οβ : Gβ β* MulAut Nβ} {Οβ : Gβ β* MulAut Nβ} (fn : Nβ β* Nβ) (fg : Gβ β* Gβ) (h : β (g : Gβ), fn.comp (MulEquiv.toMonoidHom (Οβ g)) = (MulEquiv.toMonoidHom (Οβ (fg g))).comp fn) (g : Nβ β[Οβ] Gβ) : ((SemidirectProduct.map fn fg h) g).left = fn g.left - SemidirectProduct.map_right π Mathlib.GroupTheory.SemidirectProduct
{Nβ : Type u_4} {Gβ : Type u_5} {Nβ : Type u_6} {Gβ : Type u_7} [Group Nβ] [Group Gβ] [Group Nβ] [Group Gβ] {Οβ : Gβ β* MulAut Nβ} {Οβ : Gβ β* MulAut Nβ} (fn : Nβ β* Nβ) (fg : Gβ β* Gβ) (h : β (g : Gβ), fn.comp (MulEquiv.toMonoidHom (Οβ g)) = (MulEquiv.toMonoidHom (Οβ (fg g))).comp fn) (g : Nβ β[Οβ] Gβ) : ((SemidirectProduct.map fn fg h) g).right = fg g.right - SemidirectProduct.mulEquivSubgroup π Mathlib.GroupTheory.SemidirectProduct
{G : Type u_2} [Group G] {H K : Subgroup G} [H.Normal] (h : H.IsComplement' K) : β₯H β[H.normalizerMonoidHom.comp (Subgroup.inclusion β―)] β₯K β* G - SemidirectProduct.congr_symm_apply_left π Mathlib.GroupTheory.SemidirectProduct
{Nβ : Type u_4} {Gβ : Type u_5} {Nβ : Type u_6} {Gβ : Type u_7} [Group Nβ] [Group Gβ] [Group Nβ] [Group Gβ] {Οβ : Gβ β* MulAut Nβ} {Οβ : Gβ β* MulAut Nβ} (fn : Nβ β* Nβ) (fg : Gβ β* Gβ) (h : β (g : Gβ), MulEquiv.trans (Οβ g) fn = fn.trans (Οβ (fg g))) (x : Nβ β[Οβ] Gβ) : ((SemidirectProduct.congr fn fg h).symm x).left = fn.symm x.left - SemidirectProduct.congr_symm_apply_right π Mathlib.GroupTheory.SemidirectProduct
{Nβ : Type u_4} {Gβ : Type u_5} {Nβ : Type u_6} {Gβ : Type u_7} [Group Nβ] [Group Gβ] [Group Nβ] [Group Gβ] {Οβ : Gβ β* MulAut Nβ} {Οβ : Gβ β* MulAut Nβ} (fn : Nβ β* Nβ) (fg : Gβ β* Gβ) (h : β (g : Gβ), MulEquiv.trans (Οβ g) fn = fn.trans (Οβ (fg g))) (x : Nβ β[Οβ] Gβ) : ((SemidirectProduct.congr fn fg h).symm x).right = fg.symm x.right - SemidirectProduct.map_inl π Mathlib.GroupTheory.SemidirectProduct
{Nβ : Type u_4} {Gβ : Type u_5} {Nβ : Type u_6} {Gβ : Type u_7} [Group Nβ] [Group Gβ] [Group Nβ] [Group Gβ] {Οβ : Gβ β* MulAut Nβ} {Οβ : Gβ β* MulAut Nβ} (fn : Nβ β* Nβ) (fg : Gβ β* Gβ) (h : β (g : Gβ), fn.comp (MulEquiv.toMonoidHom (Οβ g)) = (MulEquiv.toMonoidHom (Οβ (fg g))).comp fn) (n : Nβ) : (SemidirectProduct.map fn fg h) (SemidirectProduct.inl n) = SemidirectProduct.inl (fn n) - SemidirectProduct.map_inr π Mathlib.GroupTheory.SemidirectProduct
{Nβ : Type u_4} {Gβ : Type u_5} {Nβ : Type u_6} {Gβ : Type u_7} [Group Nβ] [Group Gβ] [Group Nβ] [Group Gβ] {Οβ : Gβ β* MulAut Nβ} {Οβ : Gβ β* MulAut Nβ} (fn : Nβ β* Nβ) (fg : Gβ β* Gβ) (h : β (g : Gβ), fn.comp (MulEquiv.toMonoidHom (Οβ g)) = (MulEquiv.toMonoidHom (Οβ (fg g))).comp fn) (g : Gβ) : (SemidirectProduct.map fn fg h) (SemidirectProduct.inr g) = SemidirectProduct.inr (fg g) - SemidirectProduct.monoidHomSubgroup π Mathlib.GroupTheory.SemidirectProduct
{G : Type u_2} [Group G] {H K : Subgroup G} (h : K β€ Subgroup.normalizer βH) : β₯H β[H.normalizerMonoidHom.comp (Subgroup.inclusion h)] β₯K β* G - SemidirectProduct.mulEquivProd_symm_apply_left π Mathlib.GroupTheory.SemidirectProduct
{N : Type u_1} {G : Type u_2} [Group N] [Group G] (x : N Γ G) : (SemidirectProduct.mulEquivProd.symm x).left = x.1 - SemidirectProduct.mulEquivProd_symm_apply_right π Mathlib.GroupTheory.SemidirectProduct
{N : Type u_1} {G : Type u_2} [Group N] [Group G] (x : N Γ G) : (SemidirectProduct.mulEquivProd.symm x).right = x.2 - SemidirectProduct.mulEquivProd_apply π Mathlib.GroupTheory.SemidirectProduct
{N : Type u_1} {G : Type u_2} [Group N] [Group G] (x : N β[1] G) : SemidirectProduct.mulEquivProd x = (x.left, x.right) - SemidirectProduct.congr' π Mathlib.GroupTheory.SemidirectProduct
{Nβ : Type u_4} {Gβ : Type u_5} {Nβ : Type u_6} {Gβ : Type u_7} [Group Nβ] [Group Gβ] [Group Nβ] [Group Gβ] {Οβ : Gβ β* MulAut Nβ} (fn : Nβ β* Nβ) (fg : Gβ β* Gβ) : Nβ β[Οβ] Gβ β* Nβ β[(β(MulAut.congr fn)).comp (Οβ.comp βfg.symm)] Gβ - SemidirectProduct.mulEquivSubgroup_apply π Mathlib.GroupTheory.SemidirectProduct
{G : Type u_2} [Group G] {H K : Subgroup G} [H.Normal] (h : H.IsComplement' K) (a : β₯H β[H.normalizerMonoidHom.comp (Subgroup.inclusion β―)] β₯K) : (SemidirectProduct.mulEquivSubgroup h) a = βa.left * βa.right - SemidirectProduct.monoidHomSubgroup_apply π Mathlib.GroupTheory.SemidirectProduct
{G : Type u_2} [Group G] {H K : Subgroup G} (h : K β€ Subgroup.normalizer βH) (a : β₯H β[H.normalizerMonoidHom.comp (Subgroup.inclusion h)] β₯K) : (SemidirectProduct.monoidHomSubgroup h) a = βa.left * βa.right - SemidirectProduct.congr'_apply_left π Mathlib.GroupTheory.SemidirectProduct
{Nβ : Type u_4} {Gβ : Type u_5} {Nβ : Type u_6} {Gβ : Type u_7} [Group Nβ] [Group Gβ] [Group Nβ] [Group Gβ] {Οβ : Gβ β* MulAut Nβ} (fn : Nβ β* Nβ) (fg : Gβ β* Gβ) (x : Nβ β[Οβ] Gβ) : ((SemidirectProduct.congr' fn fg) x).left = fn x.left - SemidirectProduct.congr'_apply_right π Mathlib.GroupTheory.SemidirectProduct
{Nβ : Type u_4} {Gβ : Type u_5} {Nβ : Type u_6} {Gβ : Type u_7} [Group Nβ] [Group Gβ] [Group Nβ] [Group Gβ] {Οβ : Gβ β* MulAut Nβ} (fn : Nβ β* Nβ) (fg : Gβ β* Gβ) (x : Nβ β[Οβ] Gβ) : ((SemidirectProduct.congr' fn fg) x).right = fg x.right - SemidirectProduct.mulEquivSubgroup_symm_apply π Mathlib.GroupTheory.SemidirectProduct
{G : Type u_2} [Group G] {H K : Subgroup G} [H.Normal] (h : H.IsComplement' K) (b : G) : (SemidirectProduct.mulEquivSubgroup h).symm b = Function.surjInv β― b - SemidirectProduct.congr'_symm_apply_left π Mathlib.GroupTheory.SemidirectProduct
{Nβ : Type u_4} {Gβ : Type u_5} {Nβ : Type u_6} {Gβ : Type u_7} [Group Nβ] [Group Gβ] [Group Nβ] [Group Gβ] {Οβ : Gβ β* MulAut Nβ} (fn : Nβ β* Nβ) (fg : Gβ β* Gβ) (x : Nβ β[(β(MulAut.congr fn)).comp (Οβ.comp βfg.symm)] Gβ) : ((SemidirectProduct.congr' fn fg).symm x).left = fn.symm x.left - SemidirectProduct.congr'_symm_apply_right π Mathlib.GroupTheory.SemidirectProduct
{Nβ : Type u_4} {Gβ : Type u_5} {Nβ : Type u_6} {Gβ : Type u_7} [Group Nβ] [Group Gβ] [Group Nβ] [Group Gβ] {Οβ : Gβ β* MulAut Nβ} (fn : Nβ β* Nβ) (fg : Gβ β* Gβ) (x : Nβ β[(β(MulAut.congr fn)).comp (Οβ.comp βfg.symm)] Gβ) : ((SemidirectProduct.congr' fn fg).symm x).right = fg.symm x.right - Subgroup.Commensurable.commensurator_mem_iff π Mathlib.GroupTheory.Commensurable
{G : Type u_1} [Group G] (H : Subgroup G) (g : G) : g β Subgroup.Commensurable.commensurator H β (MulAut.conj g β’ H).Commensurable H - CoxeterSystem.rightInvSeq_concat π Mathlib.GroupTheory.Coxeter.Inversion
{B : Type u_1} {W : Type u_2} [Group W] {M : CoxeterMatrix B} (cs : CoxeterSystem M W) (Ο : List B) (i : B) : cs.rightInvSeq (Ο.concat i) = (List.map (β(MulAut.conj (cs.simple i))) (cs.rightInvSeq Ο)).concat (cs.simple i) - CoxeterSystem.getElem_succ_leftInvSeq_alternatingWord π Mathlib.GroupTheory.Coxeter.Inversion
{B : Type u_1} {W : Type u_2} [Group W] {M : CoxeterMatrix B} (cs : CoxeterSystem M W) (i j : B) (p k : β) (h : k + 1 < 2 * p) : (cs.leftInvSeq (CoxeterSystem.alternatingWord i j (2 * p)))[k + 1] = (MulAut.conj (cs.simple i)) (cs.leftInvSeq (CoxeterSystem.alternatingWord j i (2 * p)))[k] - MulAction.IsBlock.of_subgroup_of_conjugate π Mathlib.GroupTheory.GroupAction.Blocks
{G : Type u_1} [Group G] {X : Type u_2} [MulAction G X] {B : Set X} {H : Subgroup G} (hB : MulAction.IsBlock (β₯H) B) (g : G) : MulAction.IsBlock (β₯(Subgroup.map (MulEquiv.toMonoidHom (MulAut.conj g)) H)) (g β’ B) - MulAction.IwasawaStructure.is_conj π Mathlib.GroupTheory.GroupAction.Iwasawa
{M : Type u_1} [Group M] {Ξ± : Type u_2} [MulAction M Ξ±] (self : MulAction.IwasawaStructure M Ξ±) (g : M) (x : Ξ±) : self.T (g β’ x) = MulAut.conj g β’ self.T x - MulAction.IwasawaStructure.mk π Mathlib.GroupTheory.GroupAction.Iwasawa
{M : Type u_1} [Group M] {Ξ± : Type u_2} [MulAction M Ξ±] (T : Ξ± β Subgroup M) (is_comm : β (x : Ξ±), IsMulCommutative β₯(T x)) (is_conj : β (g : M) (x : Ξ±), T (g β’ x) = MulAut.conj g β’ T x) (is_generator : iSup T = β€) : MulAction.IwasawaStructure M Ξ± - Equiv.Perm.cycleFactorsFinset_conj π Mathlib.GroupTheory.Perm.ConjAct
{Ξ± : Type u_1} [DecidableEq Ξ±] [Fintype Ξ±] (g k : Equiv.Perm Ξ±) : (ConjAct.toConjAct k β’ g).cycleFactorsFinset = Finset.map (MulAut.conj k).toEmbedding g.cycleFactorsFinset - alternatingGroup.conj_smul_range_ofSubtype π Mathlib.GroupTheory.SpecificGroups.Alternating
{Ξ± : Type u_1} [Fintype Ξ±] [DecidableEq Ξ±] (s : Finset Ξ±) (g : β₯(alternatingGroup Ξ±)) : MulAut.conj g β’ (alternatingGroup.ofSubtype s).range = (alternatingGroup.ofSubtype (g β’ s)).range - SubMulAction.fixingSubgroup_smul_eq_fixingSubgroup_map_conj π Mathlib.GroupTheory.GroupAction.SubMulAction.OfFixingSubgroup
{M : Type u_1} {Ξ± : Type u_2} [Group M] [MulAction M Ξ±] (s : Set Ξ±) (g : M) : fixingSubgroup M (g β’ s) = Subgroup.map (MulEquiv.toMonoidHom (MulAut.conj g)) (fixingSubgroup M s) - SubMulAction.fixingSubgroup_map_conj_eq π Mathlib.GroupTheory.GroupAction.SubMulAction.OfFixingSubgroup
{M : Type u_1} {Ξ± : Type u_2} [Group M] [MulAction M Ξ±] {s t : Set Ξ±} {g : M} (hg : g β’ t = s) : Subgroup.map (MulEquiv.toMonoidHom (MulAut.conj g)) (fixingSubgroup M t) = fixingSubgroup M s - Set.conj_mem_fixingSubgroup π Mathlib.GroupTheory.GroupAction.SubMulAction.OfFixingSubgroup
{M : Type u_1} {Ξ± : Type u_2} [Group M] [MulAction M Ξ±] {s t : Set Ξ±} {g : M} (hg : g β’ t = s) {k : M} (hk : k β fixingSubgroup M t) : (MulAut.conj g) k β fixingSubgroup M s - SubMulAction.fixingSubgroupEquivFixingSubgroup_coe_apply π Mathlib.GroupTheory.GroupAction.SubMulAction.OfFixingSubgroup
{M : Type u_1} {Ξ± : Type u_2} [Group M] [MulAction M Ξ±] {s t : Set Ξ±} {g : M} (hg : g β’ t = s) (x : β₯(fixingSubgroup M t)) : β((SubMulAction.fixingSubgroupEquivFixingSubgroup hg) x) = (MulAut.conj g) βx - GroupExtension.conjAct π Mathlib.GroupTheory.GroupExtension.Defs
{N : Type u_1} {E : Type u_2} {G : Type u_3} [Group N] [Group E] [Group G] (S : GroupExtension N E G) : E β* MulAut N - SemidirectProduct.toGroupExtension π Mathlib.GroupTheory.GroupExtension.Defs
{N : Type u_1} {G : Type u_3} [Group G] [Group N] (Ο : G β* MulAut N) : GroupExtension N (N β[Ο] G) G - SemidirectProduct.inr_splitting π Mathlib.GroupTheory.GroupExtension.Defs
{N : Type u_1} {G : Type u_3} [Group G] [Group N] (Ο : G β* MulAut N) : (SemidirectProduct.toGroupExtension Ο).Splitting - SemidirectProduct.toGroupExtension_inl π Mathlib.GroupTheory.GroupExtension.Defs
{N : Type u_1} {G : Type u_3} [Group G] [Group N] (Ο : G β* MulAut N) : (SemidirectProduct.toGroupExtension Ο).inl = SemidirectProduct.inl - SemidirectProduct.toGroupExtension_rightHom π Mathlib.GroupTheory.GroupExtension.Defs
{N : Type u_1} {G : Type u_3} [Group G] [Group N] (Ο : G β* MulAut N) : (SemidirectProduct.toGroupExtension Ο).rightHom = SemidirectProduct.rightHom - GroupExtension.inl_conjAct_comm π Mathlib.GroupTheory.GroupExtension.Defs
{N : Type u_1} {E : Type u_2} {G : Type u_3} [Group N] [Group E] [Group G] (S : GroupExtension N E G) {e : E} {n : N} : S.inl ((S.conjAct e) n) = e * S.inl n * eβ»ΒΉ - GroupExtension.Splitting.conjAct π Mathlib.GroupTheory.GroupExtension.Basic
{N : Type u_1} {G : Type u_2} [Group N] [Group G] {E : Type u_3} [Group E] {S : GroupExtension N E G} (s : S.Splitting) : G β* MulAut N - SemidirectProduct.right_splitting π Mathlib.GroupTheory.GroupExtension.Basic
{N : Type u_1} {G : Type u_2} [Group N] [Group G] {Ο : G β* MulAut N} (s : (SemidirectProduct.toGroupExtension Ο).Splitting) (g : G) : (s g).right = g - alternatingGroup.map_kleinFour_conj π Mathlib.GroupTheory.SpecificGroups.Alternating.Simple
{Ξ± : Type u_1} [DecidableEq Ξ±] [Fintype Ξ±] (s : Finset Ξ±) (hs : s.card = 4) (g : β₯(alternatingGroup Ξ±)) : Subgroup.map (alternatingGroup.ofSubtype (g β’ s)) (alternatingGroup.kleinFour β₯(g β’ s)) = MulAut.conj g β’ Subgroup.map (alternatingGroup.ofSubtype s) (alternatingGroup.kleinFour β₯s) - isZGroup_iff_exists_mulEquiv π Mathlib.GroupTheory.SpecificGroups.ZGroup
{G : Type u_1} [Group G] [Finite G] : IsZGroup G β β N H Ο x, IsCyclic β₯H β§ IsCyclic β₯N β§ (Nat.card β₯N).Coprime (Nat.card β₯H) - Matrix.SpecialLinearGroup.lineStab_smul π Mathlib.LinearAlgebra.Projectivization.PSL.Stabilizer
{F : Type u_1} [Field F] {ΞΉ : Type u_2} [DecidableEq ΞΉ] [Fintype ΞΉ] (g : Matrix.SpecialLinearGroup ΞΉ F) (L : Submodule F (ΞΉ β F)) : Matrix.SpecialLinearGroup.lineStab (g β’ L) = MulAut.conj g β’ Matrix.SpecialLinearGroup.lineStab L - PSL.iwasawaT_map_conj π Mathlib.LinearAlgebra.Projectivization.PSL.Stabilizer
{F : Type u_1} [Field F] {ΞΉ : Type u_2} [DecidableEq ΞΉ] [Fintype ΞΉ] (g : Matrix.SpecialLinearGroup ΞΉ F) (H : Subgroup (Matrix.SpecialLinearGroup ΞΉ F)) : Subgroup.map (QuotientGroup.mk' (Subgroup.center (Matrix.SpecialLinearGroup ΞΉ F))) (MulAut.conj g β’ H) = MulAut.conj βg β’ Subgroup.map (QuotientGroup.mk' (Subgroup.center (Matrix.SpecialLinearGroup ΞΉ F))) H - Representation.stabilizer_conj π Mathlib.RepresentationTheory.Stabilizer
{k : Type u_1} {G : Type u_2} [Group G] [Semiring k] {V : Type u_3} [AddCommMonoid V] [Module k V] (Ο : Representation k G V) (g : G) (v : V) : Ο.stabilizer ((Ο g) v) = Subgroup.map (β(MulAut.conj g)) (Ο.stabilizer v)
About
Loogle searches Lean and Mathlib definitions and theorems.
You can use Loogle from within the Lean4 VSCode language extension
using the Loogle command from the command palette. You can also try the
#loogle command from LeanSearchClient,
the CLI version, the Loogle
VS Code extension, the lean.nvim
integration or the Zulip bot.
Usage
Loogle finds definitions and lemmas in various ways:
By constant:
πReal.sin
finds all lemmas whose statement somehow mentions the sine function.By lemma name substring:
π"differ"
finds all lemmas that have"differ"somewhere in their lemma name.By subexpression:
π_ * (_ ^ _)
finds all lemmas whose statements somewhere include a product where the second argument is raised to some power.The pattern can also be non-linear, as in
πReal.sqrt ?a * Real.sqrt ?aIf the pattern has parameters, they are matched in any order. Both of these will find
List.map:
π(?a -> ?b) -> List ?a -> List ?b
πList ?a -> (?a -> ?b) -> List ?bBy main conclusion:
π|- tsum _ = _ * tsum _
finds all lemmas where the conclusion (the subexpression to the right of allβandβ) has the given shape.As before, if the pattern has parameters, they are matched against the hypotheses of the lemma in any order; for example,
π|- _ < _ β tsum _ < tsum _
will findtsum_lt_tsumeven though the hypothesisf i < g iis not the last.You can filter for definitions vs theorems: Using
β’ (_ : Type _)finds all definitions which provide data whileβ’ (_ : Prop)finds all theorems (and definitions of proofs).
If you pass more than one such search filter, separated by commas
Loogle will return lemmas which match all of them. The
search
π Real.sin, "two", tsum, _ * _, _ ^ _, |- _ < _ β _
would find all lemmas which mention the constants Real.sin
and tsum, have "two" as a substring of the
lemma name, include a product and a power somewhere in the type,
and have a hypothesis of the form _ < _ (if
there were any such lemmas). Metavariables (?a) are
assigned independently in each filter.
The #lucky button will directly send you to the
documentation of the first hit.
Source code
You can find the source code for this service at https://github.com/nomeata/loogle. The https://loogle.lean-lang.org/ service is provided by the Lean FRO. Please review the Lean FRO Terms of Use and Privacy Policy.
This is Loogle revision 9f11169 serving mathlib revision ce5dd8c