Documentation

Mathlib.Algebra.Group.Action.Basic

More lemmas about group actions #

This file contains lemmas about group actions that require more imports than Mathlib.Algebra.Group.Action.Defs offers.

def AddAction.toPerm {α : Type u_1} {β : Type u_2} [AddGroup α] [AddAction α β] (a : α) :

Given an action of an additive group α on β, each g : α defines a permutation of β.

Equations
  • AddAction.toPerm a = { toFun := fun (x : β) => a +ᵥ x, invFun := fun (x : β) => -a +ᵥ x, left_inv := , right_inv := }
@[simp]
theorem AddAction.toPerm_symm_apply {α : Type u_1} {β : Type u_2} [AddGroup α] [AddAction α β] (a : α) (x : β) :
@[simp]
theorem MulAction.toPerm_apply {α : Type u_1} {β : Type u_2} [Group α] [MulAction α β] (a : α) (x : β) :
@[simp]
theorem MulAction.toPerm_symm_apply {α : Type u_1} {β : Type u_2} [Group α] [MulAction α β] (a : α) (x : β) :
@[simp]
theorem AddAction.toPerm_apply {α : Type u_1} {β : Type u_2} [AddGroup α] [AddAction α β] (a : α) (x : β) :
def MulAction.toPerm {α : Type u_1} {β : Type u_2} [Group α] [MulAction α β] (a : α) :

Given an action of a group α on β, each g : α defines a permutation of β.

Equations
theorem AddAction.toPerm_injective {α : Type u_1} {β : Type u_2} [AddGroup α] [AddAction α β] [FaithfulVAdd α β] :
Function.Injective AddAction.toPerm

AddAction.toPerm is injective on faithful actions.

theorem MulAction.toPerm_injective {α : Type u_1} {β : Type u_2} [Group α] [MulAction α β] [FaithfulSMul α β] :
Function.Injective MulAction.toPerm

MulAction.toPerm is injective on faithful actions.

@[simp]
theorem MulAction.toPermHom_apply (α : Type u_1) (β : Type u_2) [Group α] [MulAction α β] (a : α) :
def MulAction.toPermHom (α : Type u_1) (β : Type u_2) [Group α] [MulAction α β] :

Given an action of a group α on a set β, each g : α defines a permutation of β.

Equations
@[simp]
theorem AddAction.toPermHom_apply_symm_apply (β : Type u_2) (α : Type u_3) [AddGroup α] [AddAction α β] (a : α) (x : β) :
(Equiv.symm ((AddAction.toPermHom β α) a)) x = (Multiplicative.ofAdd a)⁻¹ x
@[simp]
theorem AddAction.toPermHom_apply_apply (β : Type u_2) (α : Type u_3) [AddGroup α] [AddAction α β] (a : α) (x : β) :
((AddAction.toPermHom β α) a) x = a +ᵥ x
def AddAction.toPermHom (β : Type u_2) (α : Type u_3) [AddGroup α] [AddAction α β] :

Given an action of an additive group α on a set β, each g : α defines a permutation of β.

Equations
instance Equiv.Perm.applyMulAction (α : Type u_3) :

The tautological action by Equiv.Perm α on α.

This generalizes Function.End.applyMulAction.

Equations
@[simp]
theorem Equiv.Perm.smul_def {α : Type u_3} (f : Equiv.Perm α) (a : α) :
f a = f a

Equiv.Perm.applyMulAction is faithful.

Equations
  • =
theorem AddAction.bijective {α : Type u_1} {β : Type u_2} [AddGroup α] [AddAction α β] (g : α) :
Function.Bijective fun (x : β) => g +ᵥ x
theorem MulAction.bijective {α : Type u_1} {β : Type u_2} [Group α] [MulAction α β] (g : α) :
Function.Bijective fun (x : β) => g x
theorem AddAction.injective {α : Type u_1} {β : Type u_2} [AddGroup α] [AddAction α β] (g : α) :
Function.Injective fun (x : β) => g +ᵥ x
theorem MulAction.injective {α : Type u_1} {β : Type u_2} [Group α] [MulAction α β] (g : α) :
Function.Injective fun (x : β) => g x
theorem AddAction.surjective {α : Type u_1} {β : Type u_2} [AddGroup α] [AddAction α β] (g : α) :
Function.Surjective fun (x : β) => g +ᵥ x
theorem MulAction.surjective {α : Type u_1} {β : Type u_2} [Group α] [MulAction α β] (g : α) :
Function.Surjective fun (x : β) => g x
theorem vadd_left_cancel {α : Type u_1} {β : Type u_2} [AddGroup α] [AddAction α β] (g : α) {x : β} {y : β} (h : g +ᵥ x = g +ᵥ y) :
x = y
theorem smul_left_cancel {α : Type u_1} {β : Type u_2} [Group α] [MulAction α β] (g : α) {x : β} {y : β} (h : g x = g y) :
x = y
@[simp]
theorem vadd_left_cancel_iff {α : Type u_1} {β : Type u_2} [AddGroup α] [AddAction α β] (g : α) {x : β} {y : β} :
g +ᵥ x = g +ᵥ y x = y
@[simp]
theorem smul_left_cancel_iff {α : Type u_1} {β : Type u_2} [Group α] [MulAction α β] (g : α) {x : β} {y : β} :
g x = g y x = y
theorem vadd_eq_iff_eq_neg_vadd {α : Type u_1} {β : Type u_2} [AddGroup α] [AddAction α β] (g : α) {x : β} {y : β} :
g +ᵥ x = y x = -g +ᵥ y
theorem smul_eq_iff_eq_inv_smul {α : Type u_1} {β : Type u_2} [Group α] [MulAction α β] (g : α) {x : β} {y : β} :
g x = y x = g⁻¹ y
@[simp]
theorem invOf_smul_smul {α : Type u_1} {β : Type u_2} [Monoid α] [MulAction α β] (c : α) (x : β) [Invertible c] :
c c x = x
@[simp]
theorem smul_invOf_smul {α : Type u_1} {β : Type u_2} [Monoid α] [MulAction α β] (c : α) (x : β) [Invertible c] :
c c x = x
theorem invOf_smul_eq_iff {α : Type u_1} {β : Type u_2} [Monoid α] [MulAction α β] {c : α} {x : β} {y : β} [Invertible c] :
c x = y x = c y
theorem smul_eq_iff_eq_invOf_smul {α : Type u_1} {β : Type u_2} [Monoid α] [MulAction α β] {c : α} {x : β} {y : β} [Invertible c] :
c x = y x = c y
def arrowAddAction {G : Type u_3} {A : Type u_4} {B : Type u_5} [SubtractionMonoid G] [AddAction G A] :
AddAction G (AB)

If G acts on A, then it acts also on A → B, by (g +ᵥ F) a = F (g⁻¹ +ᵥ a)

Equations
@[simp]
theorem arrowAction_smul {G : Type u_3} {A : Type u_4} {B : Type u_5} [DivisionMonoid G] [MulAction G A] (g : G) (F : AB) (a : A) :
SMul.smul g F a = F (g⁻¹ a)
@[simp]
theorem arrowAddAction_vadd {G : Type u_3} {A : Type u_4} {B : Type u_5} [SubtractionMonoid G] [AddAction G A] (g : G) (F : AB) (a : A) :
VAdd.vadd g F a = F (-g +ᵥ a)
def arrowAction {G : Type u_3} {A : Type u_4} {B : Type u_5} [DivisionMonoid G] [MulAction G A] :
MulAction G (AB)

If G acts on A, then it acts also on A → B, by (g • F) a = F (g⁻¹ • a).

Equations
theorem IsAddUnit.vadd_left_cancel {α : Type u_1} {β : Type u_2} [AddMonoid α] [AddAction α β] {a : α} (ha : IsAddUnit a) {x : β} {y : β} :
a +ᵥ x = a +ᵥ y x = y
theorem IsUnit.smul_left_cancel {α : Type u_1} {β : Type u_2} [Monoid α] [MulAction α β] {a : α} (ha : IsUnit a) {x : β} {y : β} :
a x = a y x = y
@[simp]
theorem isUnit_smul_iff {α : Type u_1} {β : Type u_2} [Group α] [Monoid β] [MulAction α β] [SMulCommClass α β β] [IsScalarTower α β β] (g : α) (m : β) :