Ring instances for FunLike types #
In this file we define various instances related to ring for FunLike types.
There are two different variants: either the multiplication is given by composition or it is
pointwise multiplication.
Note that currently, these are not registered as instances, but only abbrevs to avoid long
typeclass searches.
A FunLike type with (f * g) x = f (g x) is a Semiring.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A FunLike type with (f * g) x = f (g x) is a Ring.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A FunLike type with (f * g) x = f x * g x is a Distrib if β is a Distrib.
Equations
- FunLike.distrib = Function.Injective.distrib (fun (f : F) => ⇑f) ⋯ ⋯ ⋯
Instances For
A FunLike type with (f * g) x = f x * g x is a HasDistribNeg if β is a
HasDistribNeg.
Equations
- FunLike.hasDistribNeg = Function.Injective.hasDistribNeg (fun (f : F) => ⇑f) ⋯ ⋯ ⋯
Instances For
A FunLike type with (f * g) x = f x * g x is an AddMonoidWithOne if β is an
AddMonoidWithOne.
Equations
- FunLike.addMonoidWithOne = Function.Injective.addMonoidWithOne (fun (f : F) => ⇑f) ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Instances For
A FunLike type with (f * g) x = f x * g x is an AddGroupWithOne if β is an
AddGroupWithOne.
Equations
- FunLike.addGroupWithOne = Function.Injective.addGroupWithOne (fun (f : F) => ⇑f) ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Instances For
A FunLike type with (f * g) x = f x * g x is a NonUnitalNonAssocSemiring if β is a
NonUnitalNonAssocSemiring.
Equations
- FunLike.nonUnitalNonAssocSemiring = Function.Injective.nonUnitalNonAssocSemiring (fun (f : F) => ⇑f) ⋯ ⋯ ⋯ ⋯ ⋯
Instances For
A FunLike type with (f * g) x = f x * g x is a NonUnitalSemiring if β is a
NonUnitalSemiring.
Equations
- FunLike.nonUnitalSemiring = Function.Injective.nonUnitalSemiring (fun (f : F) => ⇑f) ⋯ ⋯ ⋯ ⋯ ⋯
Instances For
A FunLike type with (f * g) x = f x * g x is a NonAssocSemiring if β is a
NonAssocSemiring.
Equations
- FunLike.nonAssocSemiring = Function.Injective.nonAssocSemiring (fun (f : F) => ⇑f) ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Instances For
A FunLike type with (f * g) x = f x * g x is a Semiring if β is a Semiring.
Equations
- FunLike.semiring = Function.Injective.semiring (fun (f : F) => ⇑f) ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Instances For
A FunLike type with (f * g) x = f x * g x is a NonUnitalCommSemiring if β is a
NonUnitalCommSemiring.
Equations
- FunLike.nonUnitalCommSemiring = Function.Injective.nonUnitalCommSemiring (fun (f : F) => ⇑f) ⋯ ⋯ ⋯ ⋯ ⋯
Instances For
A FunLike type with (f * g) x = f x * g x is a CommSemiring if β is a CommSemiring.
Equations
- FunLike.commSemiring = Function.Injective.commSemiring (fun (f : F) => ⇑f) ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Instances For
A FunLike type with (f * g) x = f x * g x is a NonUnitalNonAssocRing if β is a
NonUnitalNonAssocRing.
Equations
- FunLike.nonUnitalNonAssocRing = Function.Injective.nonUnitalNonAssocRing (fun (f : F) => ⇑f) ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Instances For
A FunLike type with (f * g) x = f x * g x is a NonUnitalRing if β is a
NonUnitalRing.
Equations
- FunLike.nonUnitalRing = Function.Injective.nonUnitalRing (fun (f : F) => ⇑f) ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Instances For
A FunLike type with (f * g) x = f x * g x is a NonAssocRing if β is a NonAssocRing.
Equations
- FunLike.nonAssocRing = Function.Injective.nonAssocRing (fun (f : F) => ⇑f) ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Instances For
A FunLike type with (f * g) x = f x * g x is a Ring if β is a Ring.
Equations
- FunLike.ring = Function.Injective.ring (fun (f : F) => ⇑f) ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Instances For
A FunLike type with (f * g) x = f x * g x is a NonUnitalCommRing if β is a
NonUnitalCommRing.
Equations
- FunLike.nonUnitalCommRing = Function.Injective.nonUnitalCommRing (fun (f : F) => ⇑f) ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Instances For
A FunLike type with (f * g) x = f x * g x is a CommRing if β is a CommRing.
Equations
- FunLike.commRing = Function.Injective.commRing (fun (f : F) => ⇑f) ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯