Pi instances for groups and monoids #
This file defines instances for group, monoid, semigroup and related structures on Pi types.
Equations
- Pi.addCommSemigroup = let src := Pi.addSemigroup; AddCommSemigroup.mk (_ : ∀ (a b : (i : I) → f i), a + b = b + a)
Equations
- Pi.commSemigroup = let src := Pi.semigroup; CommSemigroup.mk (_ : ∀ (a b : (i : I) → f i), a * b = b * a)
Equations
- Pi.negZeroClass = NegZeroClass.mk (_ : -0 = 0)
Equations
- Pi.invOneClass = InvOneClass.mk (_ : 1⁻¹ = 1)
Equations
- Pi.addMonoidWithOne = let src := Pi.addMonoid; AddMonoidWithOne.mk
Equations
- Pi.addCommMonoid = let src := Pi.addMonoid; let src_1 := Pi.addCommSemigroup; AddCommMonoid.mk (_ : ∀ (a b : (i : I) → f i), a + b = b + a)
Equations
- Pi.commMonoid = let src := Pi.monoid; let src_1 := Pi.commSemigroup; CommMonoid.mk (_ : ∀ (a b : (i : I) → f i), a * b = b * a)
Equations
- Pi.subNegMonoid = let src := Pi.addMonoid; SubNegMonoid.mk fun (z : ℤ) (x : (i : I) → f i) (i : I) => z • x i
Equations
- Pi.divInvMonoid = let src := Pi.monoid; DivInvMonoid.mk fun (z : ℤ) (x : (i : I) → f i) (i : I) => x i ^ z
Equations
- Pi.subNegZeroMonoid = let src := Pi.subNegMonoid; SubNegZeroMonoid.mk (_ : -0 = 0)
Equations
- Pi.divInvOneMonoid = let src := Pi.divInvMonoid; DivInvOneMonoid.mk (_ : 1⁻¹ = 1)
Equations
- Pi.involutiveNeg = InvolutiveNeg.mk (_ : ∀ (x : (i : I) → f i), - -x = x)
Equations
- Pi.involutiveInv = InvolutiveInv.mk (_ : ∀ (x : (i : I) → f i), x⁻¹⁻¹ = x)
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- Pi.subtractionCommMonoid = let src := Pi.subtractionMonoid; let src_1 := Pi.addCommSemigroup; SubtractionCommMonoid.mk (_ : ∀ (a b : (i : I) → f i), a + b = b + a)
Equations
- Pi.instDivisionCommMonoidForAll = let src := Pi.divisionMonoid; let src_1 := Pi.commSemigroup; DivisionCommMonoid.mk (_ : ∀ (a b : (i : I) → f i), a * b = b * a)
Equations
- Pi.addGroupWithOne = let src := Pi.addGroup; let src_1 := Pi.addMonoidWithOne; AddGroupWithOne.mk SubNegMonoid.zsmul (_ : ∀ (a : (i : I) → f i), -a + a = 0)
Equations
- Pi.addCommGroup = let src := Pi.addGroup; let src_1 := Pi.addCommMonoid; AddCommGroup.mk (_ : ∀ (a b : (i : I) → f i), a + b = b + a)
Equations
- (_ : IsLeftCancelAdd ((i : I) → f i)) = (_ : IsLeftCancelAdd ((i : I) → f i))
Equations
- (_ : IsLeftCancelMul ((i : I) → f i)) = (_ : IsLeftCancelMul ((i : I) → f i))
Equations
- (_ : IsRightCancelAdd ((i : I) → f i)) = (_ : IsRightCancelAdd ((i : I) → f i))
Equations
- (_ : IsRightCancelMul ((i : I) → f i)) = (_ : IsRightCancelMul ((i : I) → f i))
Equations
- (_ : IsCancelAdd ((i : I) → f i)) = (_ : IsCancelAdd ((i : I) → f i))
Equations
- (_ : IsCancelMul ((i : I) → f i)) = (_ : IsCancelMul ((i : I) → f i))
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- Pi.addCancelCommMonoid = let src := Pi.addLeftCancelMonoid; let src_1 := Pi.addCommMonoid; AddCancelCommMonoid.mk (_ : ∀ (a b : (i : I) → f i), a + b = b + a)
Equations
- Pi.cancelCommMonoid = let src := Pi.leftCancelMonoid; let src_1 := Pi.commMonoid; CancelCommMonoid.mk (_ : ∀ (a b : (i : I) → f i), a * b = b * a)
A family of AddHom's f a : γ → β a
defines an AddHom Pi.addHom f : γ → Π a, β a
given by
Pi.addHom f x b = f b x
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A family of MulHom's f a : γ →ₙ* β a
defines a MulHom Pi.mulHom f : γ →ₙ* Π a, β a
given by Pi.mulHom f x b = f b x
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A family of additive monoid homomorphisms f a : γ →+ β a
defines a monoid homomorphism
Pi.addMonoidHom f : γ →+ Π a, β a
given by Pi.addMonoidHom f x b = f b x
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A family of monoid homomorphisms f a : γ →* β a
defines a monoid homomorphism
Pi.monoidHom f : γ →* Π a, β a
given by Pi.monoidHom f x b = f b x
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Evaluation of functions into an indexed collection of additive semigroups at a point is an
additive semigroup homomorphism. This is Function.eval i
as an AddHom
.
Equations
Instances For
Evaluation of functions into an indexed collection of semigroups at a point is a semigroup
homomorphism.
This is Function.eval i
as a MulHom
.
Equations
Instances For
Function.const
as an AddHom
.
Equations
- Pi.constAddHom α β = { toFun := Function.const α, map_add' := (_ : ∀ (x x_1 : β), Function.const α (x + x_1) = Function.const α (x + x_1)) }
Instances For
Function.const
as a MulHom
.
Equations
- Pi.constMulHom α β = { toFun := Function.const α, map_mul' := (_ : ∀ (x x_1 : β), Function.const α (x * x_1) = Function.const α (x * x_1)) }
Instances For
Coercion of an AddHom
into a function is itself an AddHom
.
See also AddHom.eval
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Additive semigroup homomorphism between the function spaces I → α
and I → β
, induced by an additive semigroup homomorphism f
between α
and β
Equations
- One or more equations did not get rendered due to their size.
Instances For
Semigroup homomorphism between the function spaces I → α
and I → β
, induced by a semigroup
homomorphism f
between α
and β
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Evaluation of functions into an indexed collection of additive
monoids at a point is an additive monoid homomorphism. This is Function.eval i
as an
AddMonoidHom
.
Equations
Instances For
Evaluation of functions into an indexed collection of monoids at a point is a monoid
homomorphism.
This is Function.eval i
as a MonoidHom
.
Equations
Instances For
Function.const
as an AddMonoidHom
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Function.const
as a MonoidHom
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Coercion of an AddMonoidHom
into a function is itself
an AddMonoidHom
.
See also AddMonoidHom.eval
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Coercion of a MonoidHom
into a function is itself a MonoidHom
.
See also MonoidHom.eval
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Additive monoid homomorphism between the function spaces I → α
and I → β
, induced by an
additive monoid homomorphism f
between α
and β
Equations
- One or more equations did not get rendered due to their size.
Instances For
Monoid homomorphism between the function spaces I → α
and I → β
, induced by a monoid
homomorphism f
between α
and β
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The zero-preserving homomorphism including a single value into a dependent family of values, as functions supported at a point.
This is the ZeroHom
version of Pi.single
.
Equations
- ZeroHom.single f i = { toFun := Pi.single i, map_zero' := (_ : Pi.single i 0 = 0) }
Instances For
The one-preserving homomorphism including a single value into a dependent family of values, as functions supported at a point.
This is the OneHom
version of Pi.mulSingle
.
Equations
- OneHom.single f i = { toFun := Pi.mulSingle i, map_one' := (_ : Pi.mulSingle i 1 = 1) }
Instances For
The additive monoid homomorphism including a single additive monoid into a dependent family of additive monoids, as functions supported at a point.
This is the AddMonoidHom
version of Pi.single
.
Equations
- AddMonoidHom.single f i = let src := ZeroHom.single f i; { toZeroHom := src, map_add' := (_ : ∀ (x₁ x₂ : f i), Pi.single i (x₁ + x₂) = fun (j : I) => Pi.single i x₁ j + Pi.single i x₂ j) }
Instances For
The monoid homomorphism including a single monoid into a dependent family of additive monoids, as functions supported at a point.
This is the MonoidHom
version of Pi.mulSingle
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The multiplicative homomorphism including a single MulZeroClass
into a dependent family of MulZeroClass
es, as functions supported at a point.
This is the MulHom
version of Pi.single
.
Equations
Instances For
The injection into an additive pi group at different indices commutes.
For injections of commuting elements at the same index, see AddCommute.map
The injection into a pi group at different indices commutes.
For injections of commuting elements at the same index, see Commute.map
The injection into an additive pi group with the same values commutes.
The injection into a pi group with the same values commutes.
Function.extend s f 0
as a bundled hom.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Function.extend s f 1
as a bundled hom.
Equations
- One or more equations did not get rendered due to their size.