Pointwise instances on subgroup
and add_subgroup
s #
This file provides the actions
which matches the action of mul_action_set
.
These actions are available in the pointwise
locale.
Implementation notes #
This file is almost identical to group_theory/submonoid/pointwise.lean
. Where possible, try to
keep them in sync.
@[protected, instance]
def
subgroup.pointwise_mul_action
{α : Type u_1}
{G : Type u_2}
[group G]
[monoid α]
[mul_distrib_mul_action α G] :
mul_action α (subgroup G)
The action on a subgroup corresponding to applying the action to every element.
This is available as an instance in the pointwise
locale.
Equations
- subgroup.pointwise_mul_action = {to_has_scalar := {smul := λ (a : α) (S : subgroup G), subgroup.map (⇑(mul_distrib_mul_action.to_monoid_End α G) a) S}, one_smul := _, mul_smul := _}
theorem
subgroup.pointwise_smul_def
{α : Type u_1}
{G : Type u_2}
[group G]
[monoid α]
[mul_distrib_mul_action α G]
{a : α}
(S : subgroup G) :
a • S = subgroup.map (⇑(mul_distrib_mul_action.to_monoid_End α G) a) S
@[simp]
theorem
subgroup.pointwise_smul_to_submonoid
{α : Type u_1}
{G : Type u_2}
[group G]
[monoid α]
[mul_distrib_mul_action α G]
(a : α)
(S : subgroup G) :
(a • S).to_submonoid = a • S.to_submonoid
theorem
subgroup.smul_mem_pointwise_smul
{α : Type u_1}
{G : Type u_2}
[group G]
[monoid α]
[mul_distrib_mul_action α G]
(m : G)
(a : α)
(S : subgroup G) :
@[protected, instance]
def
subgroup.pointwise_central_scalar
{α : Type u_1}
{G : Type u_2}
[group G]
[monoid α]
[mul_distrib_mul_action α G]
[mul_distrib_mul_action αᵐᵒᵖ G]
[is_central_scalar α G] :
is_central_scalar α (subgroup G)
@[simp]
theorem
subgroup.equiv_smul_apply_coe
{α : Type u_1}
{G : Type u_2}
[group G]
[group α]
[mul_distrib_mul_action α G]
(a : α)
(H : subgroup G)
(x : ↥(H.to_submonoid)) :
def
subgroup.equiv_smul
{α : Type u_1}
{G : Type u_2}
[group G]
[group α]
[mul_distrib_mul_action α G]
(a : α)
(H : subgroup G) :
Applying a mul_distrib_mul_action
results in an isomorphic subgroup
Equations
@[simp]
theorem
subgroup.equiv_smul_symm_apply_coe
{α : Type u_1}
{G : Type u_2}
[group G]
[group α]
[mul_distrib_mul_action α G]
(a : α)
(H : subgroup G)
(x : ↥(submonoid.map (mul_distrib_mul_action.to_mul_equiv G a).to_monoid_hom H.to_submonoid)) :
@[simp]
theorem
subgroup.smul_mem_pointwise_smul_iff₀
{α : Type u_1}
{G : Type u_2}
[group G]
[group_with_zero α]
[mul_distrib_mul_action α G]
{a : α}
(ha : a ≠ 0)
(S : subgroup G)
(x : G) :
theorem
subgroup.mem_pointwise_smul_iff_inv_smul_mem₀
{α : Type u_1}
{G : Type u_2}
[group G]
[group_with_zero α]
[mul_distrib_mul_action α G]
{a : α}
(ha : a ≠ 0)
(S : subgroup G)
(x : G) :
theorem
subgroup.mem_inv_pointwise_smul_iff₀
{α : Type u_1}
{G : Type u_2}
[group G]
[group_with_zero α]
[mul_distrib_mul_action α G]
{a : α}
(ha : a ≠ 0)
(S : subgroup G)
(x : G) :
@[simp]
theorem
subgroup.pointwise_smul_le_pointwise_smul_iff₀
{α : Type u_1}
{G : Type u_2}
[group G]
[group_with_zero α]
[mul_distrib_mul_action α G]
{a : α}
(ha : a ≠ 0)
{S T : subgroup G} :
theorem
subgroup.pointwise_smul_le_iff₀
{α : Type u_1}
{G : Type u_2}
[group G]
[group_with_zero α]
[mul_distrib_mul_action α G]
{a : α}
(ha : a ≠ 0)
{S T : subgroup G} :
theorem
subgroup.le_pointwise_smul_iff₀
{α : Type u_1}
{G : Type u_2}
[group G]
[group_with_zero α]
[mul_distrib_mul_action α G]
{a : α}
(ha : a ≠ 0)
{S T : subgroup G} :
@[protected, instance]
def
add_subgroup.pointwise_mul_action
{α : Type u_1}
{A : Type u_3}
[add_group A]
[monoid α]
[distrib_mul_action α A] :
mul_action α (add_subgroup A)
The action on an additive subgroup corresponding to applying the action to every element.
This is available as an instance in the pointwise
locale.
Equations
- add_subgroup.pointwise_mul_action = {to_has_scalar := {smul := λ (a : α) (S : add_subgroup A), add_subgroup.map (⇑(distrib_mul_action.to_add_monoid_End α A) a) S}, one_smul := _, mul_smul := _}
@[simp]
theorem
add_subgroup.coe_pointwise_smul
{α : Type u_1}
{A : Type u_3}
[add_group A]
[monoid α]
[distrib_mul_action α A]
(a : α)
(S : add_subgroup A) :
@[simp]
theorem
add_subgroup.pointwise_smul_to_add_submonoid
{α : Type u_1}
{A : Type u_3}
[add_group A]
[monoid α]
[distrib_mul_action α A]
(a : α)
(S : add_subgroup A) :
(a • S).to_add_submonoid = a • S.to_add_submonoid
theorem
add_subgroup.smul_mem_pointwise_smul
{α : Type u_1}
{A : Type u_3}
[add_group A]
[monoid α]
[distrib_mul_action α A]
(m : A)
(a : α)
(S : add_subgroup A) :
theorem
add_subgroup.mem_smul_pointwise_iff_exists
{α : Type u_1}
{A : Type u_3}
[add_group A]
[monoid α]
[distrib_mul_action α A]
(m : A)
(a : α)
(S : add_subgroup A) :
@[protected, instance]
def
add_subgroup.pointwise_central_scalar
{α : Type u_1}
{A : Type u_3}
[add_group A]
[monoid α]
[distrib_mul_action α A]
[distrib_mul_action αᵐᵒᵖ A]
[is_central_scalar α A] :
@[simp]
theorem
add_subgroup.smul_mem_pointwise_smul_iff
{α : Type u_1}
{A : Type u_3}
[add_group A]
[group α]
[distrib_mul_action α A]
{a : α}
{S : add_subgroup A}
{x : A} :
theorem
add_subgroup.mem_pointwise_smul_iff_inv_smul_mem
{α : Type u_1}
{A : Type u_3}
[add_group A]
[group α]
[distrib_mul_action α A]
{a : α}
{S : add_subgroup A}
{x : A} :
theorem
add_subgroup.mem_inv_pointwise_smul_iff
{α : Type u_1}
{A : Type u_3}
[add_group A]
[group α]
[distrib_mul_action α A]
{a : α}
{S : add_subgroup A}
{x : A} :
@[simp]
theorem
add_subgroup.pointwise_smul_le_pointwise_smul_iff
{α : Type u_1}
{A : Type u_3}
[add_group A]
[group α]
[distrib_mul_action α A]
{a : α}
{S T : add_subgroup A} :
theorem
add_subgroup.pointwise_smul_le_iff
{α : Type u_1}
{A : Type u_3}
[add_group A]
[group α]
[distrib_mul_action α A]
{a : α}
{S T : add_subgroup A} :
theorem
add_subgroup.le_pointwise_smul_iff
{α : Type u_1}
{A : Type u_3}
[add_group A]
[group α]
[distrib_mul_action α A]
{a : α}
{S T : add_subgroup A} :
@[simp]
theorem
add_subgroup.smul_mem_pointwise_smul_iff₀
{α : Type u_1}
{A : Type u_3}
[add_group A]
[group_with_zero α]
[distrib_mul_action α A]
{a : α}
(ha : a ≠ 0)
(S : add_subgroup A)
(x : A) :
theorem
add_subgroup.mem_pointwise_smul_iff_inv_smul_mem₀
{α : Type u_1}
{A : Type u_3}
[add_group A]
[group_with_zero α]
[distrib_mul_action α A]
{a : α}
(ha : a ≠ 0)
(S : add_subgroup A)
(x : A) :
theorem
add_subgroup.mem_inv_pointwise_smul_iff₀
{α : Type u_1}
{A : Type u_3}
[add_group A]
[group_with_zero α]
[distrib_mul_action α A]
{a : α}
(ha : a ≠ 0)
(S : add_subgroup A)
(x : A) :
@[simp]
theorem
add_subgroup.pointwise_smul_le_pointwise_smul_iff₀
{α : Type u_1}
{A : Type u_3}
[add_group A]
[group_with_zero α]
[distrib_mul_action α A]
{a : α}
(ha : a ≠ 0)
{S T : add_subgroup A} :
theorem
add_subgroup.pointwise_smul_le_iff₀
{α : Type u_1}
{A : Type u_3}
[add_group A]
[group_with_zero α]
[distrib_mul_action α A]
{a : α}
(ha : a ≠ 0)
{S T : add_subgroup A} :
theorem
add_subgroup.le_pointwise_smul_iff₀
{α : Type u_1}
{A : Type u_3}
[add_group A]
[group_with_zero α]
[distrib_mul_action α A]
{a : α}
(ha : a ≠ 0)
{S T : add_subgroup A} :