Documentation

Mathlib.Algebra.Group.Subgroup.MulOppositeLemmas

Mul-opposite subgroups #

This file contains a somewhat arbitrary assortment of results on the opposite subgroup H.op that rely on further theory to define. As such it is a somewhat arbitrary assortment of results, which might be organized and split up further.

Tags #

subgroup, subgroups

@[instance_reducible]
instance Subgroup.instSMul {G : Type u_2} [Group G] (H : Subgroup G) :
SMul (↥H.op) G

We redeclare this instance to get keys SMul (@Subtype (MulOpposite _) (@Membership.mem (MulOpposite _) (Subgroup (MulOpposite _) _) _ (@Subgroup.op _ _ _))) _ compared to the keys for Submonoid.smul SMul (@Subtype _ (@Membership.mem _ (Submonoid _ _) _ _)) _

Equations
@[instance_reducible]
instance AddSubgroup.instVAdd {G : Type u_2} [AddGroup G] (H : AddSubgroup G) :
VAdd (↥H.op) G
Equations

Lattice results #

@[simp]
theorem Subgroup.op_bot {G : Type u_2} [Group G] :
@[simp]
theorem AddSubgroup.op_bot {G : Type u_2} [AddGroup G] :
@[simp]
theorem Subgroup.op_eq_bot {G : Type u_2} [Group G] {S : Subgroup G} :
S.op = ⊥ ↔ S = ⊥
@[simp]
theorem AddSubgroup.op_eq_bot {G : Type u_2} [AddGroup G] {S : AddSubgroup G} :
S.op = ⊥ ↔ S = ⊥
@[simp]
theorem Subgroup.unop_bot {G : Type u_2} [Group G] :
@[simp]
theorem AddSubgroup.unop_bot {G : Type u_2} [AddGroup G] :
@[simp]
theorem Subgroup.unop_eq_bot {G : Type u_2} [Group G] {S : Subgroup Gᵐᵒᵖ} :
@[simp]
@[simp]
theorem Subgroup.op_top {G : Type u_2} [Group G] :
@[simp]
theorem AddSubgroup.op_top {G : Type u_2} [AddGroup G] :
@[simp]
theorem Subgroup.op_eq_top {G : Type u_2} [Group G] {S : Subgroup G} :
S.op = ⊤ ↔ S = ⊤
@[simp]
theorem AddSubgroup.op_eq_top {G : Type u_2} [AddGroup G] {S : AddSubgroup G} :
S.op = ⊤ ↔ S = ⊤
@[simp]
theorem Subgroup.unop_top {G : Type u_2} [Group G] :
@[simp]
theorem AddSubgroup.unop_top {G : Type u_2} [AddGroup G] :
@[simp]
theorem Subgroup.unop_eq_top {G : Type u_2} [Group G] {S : Subgroup Gᵐᵒᵖ} :
@[simp]
theorem Subgroup.op_sup {G : Type u_2} [Group G] (S₁ S₂ : Subgroup G) :
(S₁ ⊔ S₂).op = S₁.op ⊔ S₂.op
theorem AddSubgroup.op_sup {G : Type u_2} [AddGroup G] (S₁ S₂ : AddSubgroup G) :
(S₁ ⊔ S₂).op = S₁.op ⊔ S₂.op
theorem Subgroup.unop_sup {G : Type u_2} [Group G] (S₁ S₂ : Subgroup Gᵐᵒᵖ) :
(S₁ ⊔ S₂).unop = S₁.unop ⊔ S₂.unop
theorem AddSubgroup.unop_sup {G : Type u_2} [AddGroup G] (S₁ S₂ : AddSubgroup Gᵃᵒᵖ) :
(S₁ ⊔ S₂).unop = S₁.unop ⊔ S₂.unop
theorem Subgroup.op_inf {G : Type u_2} [Group G] (S₁ S₂ : Subgroup G) :
(S₁ ⊓ S₂).op = S₁.op ⊓ S₂.op
theorem AddSubgroup.op_inf {G : Type u_2} [AddGroup G] (S₁ S₂ : AddSubgroup G) :
(S₁ ⊓ S₂).op = S₁.op ⊓ S₂.op
theorem Subgroup.unop_inf {G : Type u_2} [Group G] (S₁ S₂ : Subgroup Gᵐᵒᵖ) :
(S₁ ⊓ S₂).unop = S₁.unop ⊓ S₂.unop
theorem AddSubgroup.unop_inf {G : Type u_2} [AddGroup G] (S₁ S₂ : AddSubgroup Gᵃᵒᵖ) :
(S₁ ⊓ S₂).unop = S₁.unop ⊓ S₂.unop
theorem Subgroup.op_sSup {G : Type u_2} [Group G] (S : Set (Subgroup G)) :
theorem Subgroup.op_sInf {G : Type u_2} [Group G] (S : Set (Subgroup G)) :
theorem Subgroup.op_iSup {ι : Sort u_1} {G : Type u_2} [Group G] (S : ι → Subgroup G) :
(iSup S).op = ⨆ (i : ι), (S i).op
theorem AddSubgroup.op_iSup {ι : Sort u_1} {G : Type u_2} [AddGroup G] (S : ι → AddSubgroup G) :
(iSup S).op = ⨆ (i : ι), (S i).op
theorem Subgroup.unop_iSup {ι : Sort u_1} {G : Type u_2} [Group G] (S : ι → Subgroup Gᵐᵒᵖ) :
(iSup S).unop = ⨆ (i : ι), (S i).unop
theorem AddSubgroup.unop_iSup {ι : Sort u_1} {G : Type u_2} [AddGroup G] (S : ι → AddSubgroup Gᵃᵒᵖ) :
(iSup S).unop = ⨆ (i : ι), (S i).unop
theorem Subgroup.op_iInf {ι : Sort u_1} {G : Type u_2} [Group G] (S : ι → Subgroup G) :
(iInf S).op = ⨅ (i : ι), (S i).op
theorem AddSubgroup.op_iInf {ι : Sort u_1} {G : Type u_2} [AddGroup G] (S : ι → AddSubgroup G) :
(iInf S).op = ⨅ (i : ι), (S i).op
theorem Subgroup.unop_iInf {ι : Sort u_1} {G : Type u_2} [Group G] (S : ι → Subgroup Gᵐᵒᵖ) :
(iInf S).unop = ⨅ (i : ι), (S i).unop
theorem AddSubgroup.unop_iInf {ι : Sort u_1} {G : Type u_2} [AddGroup G] (S : ι → AddSubgroup Gᵃᵒᵖ) :
(iInf S).unop = ⨅ (i : ι), (S i).unop
theorem Subgroup.smul_opposite_mul {G : Type u_2} [Group G] {H : Subgroup G} (x g : G) (h : ↥H.op) :
h • (g * x) = g * h • x
theorem AddSubgroup.vadd_opposite_add {G : Type u_2} [AddGroup G] {H : AddSubgroup G} (x g : G) (h : ↥H.op) :
h +ᵥ g + x = g + (h +ᵥ x)
@[simp]
theorem Subgroup.normal_op {G : Type u_2} [Group G] {H : Subgroup G} :
@[simp]
theorem AddSubgroup.normal_op {G : Type u_2} [AddGroup G] {H : AddSubgroup G} :
theorem Subgroup.Normal.of_op {G : Type u_2} [Group G] {H : Subgroup G} :
H.op.Normal → H.Normal

Alias of the forward direction of Subgroup.normal_op.

theorem Subgroup.Normal.op {G : Type u_2} [Group G] {H : Subgroup G} :
H.Normal → H.op.Normal

Alias of the reverse direction of Subgroup.normal_op.

theorem AddSubgroup.Normal.of_op {G : Type u_2} [AddGroup G] {H : AddSubgroup G} :
H.op.Normal → H.Normal

Alias of the forward direction of AddSubgroup.normal_op.

theorem AddSubgroup.Normal.op {G : Type u_2} [AddGroup G] {H : AddSubgroup G} :
H.Normal → H.op.Normal

Alias of the reverse direction of AddSubgroup.normal_op.

instance Subgroup.op.instNormal {G : Type u_2} [Group G] {H : Subgroup G} [H.Normal] :
@[simp]
theorem Subgroup.Normal.of_unop {G : Type u_2} [Group G] {H : Subgroup Gᵐᵒᵖ} :

Alias of the forward direction of Subgroup.normal_unop.

theorem Subgroup.Normal.unop {G : Type u_2} [Group G] {H : Subgroup Gᵐᵒᵖ} :

Alias of the reverse direction of Subgroup.normal_unop.

Alias of the reverse direction of AddSubgroup.normal_unop.

Alias of the forward direction of AddSubgroup.normal_unop.