Documentation

Mathlib.GroupTheory.GroupAction.Option

Option instances for additive and multiplicative actions #

This file defines instances for additive and multiplicative actions on Option type. Scalar multiplication is defined by a • some b = some (a • b) and a • none = none.

See also #

instance Option.VAdd {M : Type u_1} {α : Type u_3} [VAdd M α] :
VAdd M (Option α)
Equations
  • Option.VAdd = { vadd := fun (a : M) => Option.map fun (x : α) => a +ᵥ x }
instance Option.instSMulOption {M : Type u_1} {α : Type u_3} [SMul M α] :
SMul M (Option α)
Equations
  • Option.instSMulOption = { smul := fun (a : M) => Option.map fun (x : α) => a x }
theorem Option.vadd_def {M : Type u_1} {α : Type u_3} [VAdd M α] (a : M) (x : Option α) :
a +ᵥ x = Option.map (fun (x : α) => a +ᵥ x) x
theorem Option.smul_def {M : Type u_1} {α : Type u_3} [SMul M α] (a : M) (x : Option α) :
a x = Option.map (fun (x : α) => a x) x
@[simp]
theorem Option.vadd_none {M : Type u_1} {α : Type u_3} [VAdd M α] (a : M) :
a +ᵥ none = none
@[simp]
theorem Option.smul_none {M : Type u_1} {α : Type u_3} [SMul M α] (a : M) :
a none = none
@[simp]
theorem Option.vadd_some {M : Type u_1} {α : Type u_3} [VAdd M α] (a : M) (b : α) :
a +ᵥ some b = some (a +ᵥ b)
@[simp]
theorem Option.smul_some {M : Type u_1} {α : Type u_3} [SMul M α] (a : M) (b : α) :
a some b = some (a b)
instance Option.instIsScalarTowerOptionInstVAddOptionInstVAddOption {M : Type u_1} {N : Type u_2} {α : Type u_3} [VAdd M α] [VAdd N α] [VAdd M N] [VAddAssocClass M N α] :
Equations
  • =
instance Option.instIsScalarTowerOptionInstSMulOptionInstSMulOption {M : Type u_1} {N : Type u_2} {α : Type u_3} [SMul M α] [SMul N α] [SMul M N] [IsScalarTower M N α] :
Equations
  • =
instance Option.instVAddCommClassOptionInstVAddOptionInstVAddOption {M : Type u_1} {N : Type u_2} {α : Type u_3} [VAdd M α] [VAdd N α] [VAddCommClass M N α] :
Equations
  • =
instance Option.instSMulCommClassOptionInstSMulOptionInstSMulOption {M : Type u_1} {N : Type u_2} {α : Type u_3} [SMul M α] [SMul N α] [SMulCommClass M N α] :
Equations
  • =
Equations
  • =
instance Option.instFaithfulVAddOptionInstVAddOption {M : Type u_1} {α : Type u_3} [VAdd M α] [FaithfulVAdd M α] :
Equations
  • =
instance Option.instFaithfulSMulOptionInstSMulOption {M : Type u_1} {α : Type u_3} [SMul M α] [FaithfulSMul M α] :
Equations
  • =
instance Option.instMulActionOption {M : Type u_1} {α : Type u_3} [Monoid M] [MulAction M α] :
Equations