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.
Instances For
A FunLike type with (f * g) x = f (g x) is a Ring.
Instances For
A FunLike type with (f * g) x = f x * g x is a Distrib if β is a Distrib.
Instances For
A FunLike type with (f * g) x = f x * g x is a HasDistribNeg if β is a
HasDistribNeg.
Instances For
A FunLike type with (f * g) x = f x * g x is an AddMonoidWithOne if β is an
AddMonoidWithOne.
Instances For
A FunLike type with (f * g) x = f x * g x is an AddGroupWithOne if β is an
AddGroupWithOne.
Instances For
A FunLike type with (f * g) x = f x * g x is a NonUnitalNonAssocSemiring if β is a
NonUnitalNonAssocSemiring.
Instances For
A FunLike type with (f * g) x = f x * g x is a NonUnitalSemiring if β is a
NonUnitalSemiring.
Instances For
A FunLike type with (f * g) x = f x * g x is a NonAssocSemiring if β is a
NonAssocSemiring.
Instances For
A FunLike type with (f * g) x = f x * g x is a Semiring if β is a Semiring.
Instances For
A FunLike type with (f * g) x = f x * g x is a NonUnitalCommSemiring if β is a
NonUnitalCommSemiring.
Instances For
A FunLike type with (f * g) x = f x * g x is a CommSemiring if β is a CommSemiring.
Instances For
A FunLike type with (f * g) x = f x * g x is a NonUnitalNonAssocRing if β is a
NonUnitalNonAssocRing.
Instances For
A FunLike type with (f * g) x = f x * g x is a NonUnitalRing if β is a
NonUnitalRing.
Instances For
A FunLike type with (f * g) x = f x * g x is a NonAssocRing if β is a NonAssocRing.
Instances For
A FunLike type with (f * g) x = f x * g x is a Ring if β is a Ring.
Instances For
A FunLike type with (f * g) x = f x * g x is a NonUnitalCommRing if β is a
NonUnitalCommRing.
Instances For
A FunLike type with (f * g) x = f x * g x is a CommRing if β is a CommRing.