Pi instances for groups with zero #
This file defines monoid with zero, group with zero, and related structure instances for pi types.
@[instance_reducible]
instance Pi.mulZeroClass {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → MulZeroClass (α i)] :
MulZeroClass ((i : ι) → α i)
Equations
- Pi.mulZeroClass = { toMul := Pi.instMul, toZero := Pi.instZero, zero_mul := ⋯, mul_zero := ⋯ }
def MulHom.single {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → MulZeroClass (α i)] [DecidableEq ι] (i : ι) :
The multiplicative homomorphism including a single MulZeroClass
into a dependent family of MulZeroClasses, as functions supported at a point.
This is the MulHom version of Pi.single.
Equations
- MulHom.single i = { toFun := Pi.single i, map_mul' := ⋯ }
Instances For
@[simp]
theorem MulHom.single_apply {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → MulZeroClass (α i)] [DecidableEq ι] (i : ι) (x : α i) (j : ι) :
theorem Pi.single_mul {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → MulZeroClass (α i)] [DecidableEq ι] (i : ι) (x y : α i) :
theorem Pi.single_mul_left_apply {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → MulZeroClass (α i)] [DecidableEq ι] (i j : ι) (a : α i) (f : (i : ι) → α i) :
theorem Pi.single_mul_right_apply {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → MulZeroClass (α i)] [DecidableEq ι] (i j : ι) (f : (i : ι) → α i) (a : α i) :
theorem Pi.single_mul_left {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → MulZeroClass (α i)] [DecidableEq ι] {i : ι} {f : (i : ι) → α i} (a : α i) :
theorem Pi.single_mul_right {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → MulZeroClass (α i)] [DecidableEq ι] {i : ι} {f : (i : ι) → α i} (a : α i) :
@[instance_reducible]
instance Pi.mulZeroOneClass {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → MulZeroOneClass (α i)] :
MulZeroOneClass ((i : ι) → α i)
Equations
- Pi.mulZeroOneClass = { toOne := Pi.mulOneClass.toOne, toMul := Pi.mulZeroClass.toMul, one_mul := ⋯, mul_one := ⋯, toZero := Pi.mulZeroClass.toZero, zero_mul := ⋯, mul_zero := ⋯ }
@[instance_reducible]
instance Pi.monoidWithZero {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → MonoidWithZero (α i)] :
MonoidWithZero ((i : ι) → α i)
Equations
- Pi.monoidWithZero = { toMonoid := Pi.monoid, toZero := Pi.mulZeroClass.toZero, zero_mul := ⋯, mul_zero := ⋯ }
@[instance_reducible]
instance Pi.commMonoidWithZero {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → CommMonoidWithZero (α i)] :
CommMonoidWithZero ((i : ι) → α i)
Equations
- Pi.commMonoidWithZero = { toMonoid := Pi.monoidWithZero.toMonoid, mul_comm := ⋯, toZero := Pi.monoidWithZero.toZero, zero_mul := ⋯, mul_zero := ⋯ }
@[instance_reducible]
instance Pi.semigroupWithZero {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → SemigroupWithZero (α i)] :
SemigroupWithZero ((i : ι) → α i)
Equations
- Pi.semigroupWithZero = { toSemigroup := Pi.semigroup, toZero := Pi.mulZeroClass.toZero, zero_mul := ⋯, mul_zero := ⋯ }