# 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.

• GroupTheory.GroupAction.Pi
• GroupTheory.GroupAction.Prod
• GroupTheory.GroupAction.Sigma
• GroupTheory.GroupAction.Sum
instance Option.VAdd {M : Type u_1} {α : Type u_2} [inst : VAdd M α] :
Equations
instance Option.instSMulOption {M : Type u_1} {α : Type u_2} [inst : SMul M α] :
SMul M ()
Equations
• Option.instSMulOption = { smul := fun a => Option.map fun x => a x }
theorem Option.vadd_def {M : Type u_2} {α : Type u_1} [inst : VAdd M α] (a : M) (x : ) :
a +ᵥ x = Option.map ((fun x x_1 => x +ᵥ x_1) a) x
theorem Option.smul_def {M : Type u_2} {α : Type u_1} [inst : SMul M α] (a : M) (x : ) :
a x = Option.map ((fun x x_1 => x x_1) a) x
@[simp]
theorem Option.vadd_none {M : Type u_2} {α : Type u_1} [inst : VAdd M α] (a : M) :
a +ᵥ none = none
@[simp]
theorem Option.smul_none {M : Type u_2} {α : Type u_1} [inst : SMul M α] (a : M) :
a none = none
@[simp]
theorem Option.vadd_some {M : Type u_2} {α : Type u_1} [inst : VAdd M α] (a : M) (b : α) :
a +ᵥ some b = some (a +ᵥ b)
@[simp]
theorem Option.smul_some {M : Type u_2} {α : Type u_1} [inst : SMul M α] (a : M) (b : α) :
a some b = some (a b)
def Option.instIsScalarTowerOptionInstVAddOptionInstVAddOption.proof_1 {M : Type u_1} {N : Type u_2} {α : Type u_3} [inst : VAdd M α] [inst : VAdd N α] [inst : VAdd M N] [inst : ] :
Equations
instance Option.instIsScalarTowerOptionInstVAddOptionInstVAddOption {M : Type u_1} {N : Type u_2} {α : Type u_3} [inst : VAdd M α] [inst : VAdd N α] [inst : VAdd M N] [inst : ] :
Equations
instance Option.instIsScalarTowerOptionInstSMulOptionInstSMulOption {M : Type u_1} {N : Type u_2} {α : Type u_3} [inst : SMul M α] [inst : SMul N α] [inst : SMul M N] [inst : ] :
Equations
def Option.instVAddCommClassOptionInstVAddOptionInstVAddOption.proof_1 {M : Type u_1} {N : Type u_2} {α : Type u_3} [inst : VAdd M α] [inst : VAdd N α] [inst : ] :
Equations
instance Option.instVAddCommClassOptionInstVAddOptionInstVAddOption {M : Type u_1} {N : Type u_2} {α : Type u_3} [inst : VAdd M α] [inst : VAdd N α] [inst : ] :
Equations
instance Option.instSMulCommClassOptionInstSMulOptionInstSMulOption {M : Type u_1} {N : Type u_2} {α : Type u_3} [inst : SMul M α] [inst : SMul N α] [inst : ] :
Equations
Equations