Documentation

Mathlib.GroupTheory.GroupAction.Units

Group actions on and by Mˣ #

This file provides the action of a unit on a type α, SMul Mˣ α, in the presence of SMul M α, with the obvious definition stated in Units.smul_def. This definition preserves MulAction and DistribMulAction structures too.

Additionally, a MulAction G M for some group G satisfying some additional properties admits a MulAction G Mˣ structure, again with the obvious definition stated in Units.coe_smul. These instances use a primed name.

The results are repeated for AddUnits and VAdd where relevant.

Action of the units of M on a type α #

instance AddUnits.instVAddAddUnits {M : Type u_3} {α : Type u_5} [AddMonoid M] [VAdd M α] :
VAdd (AddUnits M) α
Equations
  • AddUnits.instVAddAddUnits = { vadd := fun m a => ↑m +ᵥ a }
instance Units.instSMulUnits {M : Type u_3} {α : Type u_5} [Monoid M] [SMul M α] :
SMul Mˣ α
Equations
  • Units.instSMulUnits = { smul := fun m a => ↑m • a }
theorem AddUnits.vadd_def {M : Type u_3} {α : Type u_5} [AddMonoid M] [VAdd M α] (m : AddUnits M) (a : α) :
m +ᵥ a = ↑m +ᵥ a
theorem Units.smul_def {M : Type u_3} {α : Type u_5} [Monoid M] [SMul M α] (m : Mˣ) (a : α) :
m • a = ↑m • a
@[simp]
theorem Units.smul_isUnit {M : Type u_3} {α : Type u_5} [Monoid M] [SMul M α] {m : M} (hm : IsUnit m) (a : α) :
IsUnit.unit hm • a = m • a
theorem IsUnit.inv_smul {α : Type u_5} [Monoid α] {a : α} (h : IsUnit a) :
theorem AddUnits.instAddActionAddUnitsToAddMonoidToSubNegAddMonoidInstAddGroupAddUnits.proof_1 {M : Type u_1} {α : Type u_2} [AddMonoid M] [AddAction M α] (m : AddUnits M) (n : AddUnits M) (b : α) :
↑m + ↑n +ᵥ b = ↑m +ᵥ (↑n +ᵥ b)
Equations
  • AddUnits.instAddActionAddUnitsToAddMonoidToSubNegAddMonoidInstAddGroupAddUnits = AddAction.mk (_ : ∀ (b : α), 0 +ᵥ b = b) (_ : ∀ (m n : AddUnits M) (b : α), ↑m + ↑n +ᵥ b = ↑m +ᵥ (↑n +ᵥ b))
Equations
  • Units.instMulActionUnitsToMonoidToDivInvMonoidInstGroupUnits = MulAction.mk (_ : ∀ (b : α), 1 • b = b) (_ : ∀ (m n : Mˣ) (b : α), (↑m * ↑n) • b = ↑m • ↑n • b)
instance Units.instSMulZeroClassUnits {M : Type u_3} {α : Type u_5} [Monoid M] [Zero α] [SMulZeroClass M α] :
Equations
instance Units.instDistribSMulUnits {M : Type u_3} {α : Type u_5} [Monoid M] [AddZeroClass α] [DistribSMul M α] :
Equations
Equations
  • One or more equations did not get rendered due to their size.
Equations
  • Units.instMulDistribMulActionUnitsToMonoidToDivInvMonoidInstGroupUnits = MulDistribMulAction.mk (_ : ∀ (m : Mˣ) (b₁ b₂ : α), ↑m • (b₁ * b₂) = ↑m • b₁ * ↑m • b₂) (_ : ∀ (m : Mˣ), ↑m • 1 = 1)

Action of a group G on units of M #

instance Units.mulAction' {G : Type u_1} {M : Type u_3} [Group G] [Monoid M] [MulAction G M] [SMulCommClass G M M] [IsScalarTower G M M] :

If an action G associates and commutes with multiplication on M, then it lifts to an action on Mˣ. Notably, this provides MulAction Mˣ Nˣ under suitable conditions.

Equations
@[simp]
theorem Units.val_smul {G : Type u_1} {M : Type u_3} [Group G] [Monoid M] [MulAction G M] [SMulCommClass G M M] [IsScalarTower G M M] (g : G) (m : Mˣ) :
↑(g • m) = g • ↑m
@[simp]
theorem Units.smul_inv {G : Type u_1} {M : Type u_3} [Group G] [Monoid M] [MulAction G M] [SMulCommClass G M M] [IsScalarTower G M M] (g : G) (m : Mˣ) :

Note that this lemma exists more generally as the global smul_inv

instance Units.smulCommClass' {G : Type u_1} {H : Type u_2} {M : Type u_3} [Group G] [Group H] [Monoid M] [MulAction G M] [SMulCommClass G M M] [MulAction H M] [SMulCommClass H M M] [IsScalarTower G M M] [IsScalarTower H M M] [SMulCommClass G H M] :

Transfer SMulCommClass G H M to SMulCommClass G H Mˣ

Equations
instance Units.isScalarTower' {G : Type u_1} {H : Type u_2} {M : Type u_3} [SMul G H] [Group G] [Group H] [Monoid M] [MulAction G M] [SMulCommClass G M M] [MulAction H M] [SMulCommClass H M M] [IsScalarTower G M M] [IsScalarTower H M M] [IsScalarTower G H M] :

Transfer IsScalarTower G H M to IsScalarTower G H Mˣ

Equations
instance Units.isScalarTower'_left {G : Type u_1} {M : Type u_3} {α : Type u_5} [Group G] [Monoid M] [MulAction G M] [SMul M α] [SMul G α] [SMulCommClass G M M] [IsScalarTower G M M] [IsScalarTower G M α] :

Transfer IsScalarTower G M α to IsScalarTower G Mˣ α

Equations

A stronger form of Units.mul_action'.

Equations
theorem IsUnit.smul {G : Type u_1} {M : Type u_3} [Group G] [Monoid M] [MulAction G M] [SMulCommClass G M M] [IsScalarTower G M M] {m : M} (g : G) (h : IsUnit m) :
IsUnit (g • m)