Pulling back rings along injective maps, and pushing them forward along surjective maps #
Pullback a LeftDistribClass instance along an injective function.
Pullback a RightDistribClass instance along an injective function.
Pullback a Distrib instance along an injective function.
Equations
- Function.Injective.distrib f hf add mul = Distrib.mk ⋯ ⋯
Instances For
A type endowed with - and * has distributive negation, if it admits an injective map that
preserves - and * to a type which has distributive negation.
Equations
- Function.Injective.hasDistribNeg f hf neg mul = HasDistribNeg.mk ⋯ ⋯
Instances For
Pullback a NonUnitalNonAssocSemiring instance along an injective function.
Equations
- Function.Injective.nonUnitalNonAssocSemiring f hf zero add mul nsmul = NonUnitalNonAssocSemiring.mk ⋯ ⋯ ⋯ ⋯
Instances For
Pullback a NonUnitalSemiring instance along an injective function.
Equations
- Function.Injective.nonUnitalSemiring f hf zero add mul nsmul = NonUnitalSemiring.mk ⋯
Instances For
Pullback a NonAssocSemiring instance along an injective function.
Equations
- Function.Injective.nonAssocSemiring f hf zero one add mul nsmul natCast = NonAssocSemiring.mk ⋯ ⋯ ⋯ ⋯
Instances For
Pullback a Semiring instance along an injective function.
Equations
- Function.Injective.semiring f hf zero one add mul nsmul npow natCast = Semiring.mk ⋯ ⋯ ⋯ ⋯ Monoid.npow ⋯ ⋯
Instances For
Pullback a NonUnitalNonAssocRing instance along an injective function.
Equations
- Function.Injective.nonUnitalNonAssocRing f hf zero add mul neg sub nsmul zsmul = NonUnitalNonAssocRing.mk ⋯ ⋯ ⋯ ⋯
Instances For
Pullback a NonUnitalRing instance along an injective function.
Equations
- Function.Injective.nonUnitalRing f hf zero add mul neg sub nsmul zsmul = NonUnitalRing.mk ⋯
Instances For
Pullback a NonAssocRing instance along an injective function.
Equations
- Function.Injective.nonAssocRing f hf zero one add mul neg sub nsmul zsmul natCast intCast = NonAssocRing.mk ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Instances For
Pullback a Ring instance along an injective function.
Equations
- Function.Injective.ring f hf zero one add mul neg sub nsmul zsmul npow natCast intCast = Ring.mk ⋯ AddGroupWithOne.zsmul ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Instances For
Pullback a NonUnitalNonAssocCommSemiring instance along an injective function.
Equations
- Function.Injective.nonUnitalNonAssocCommSemiring f hf zero add mul nsmul = NonUnitalNonAssocCommSemiring.mk ⋯
Instances For
Pullback a NonUnitalCommSemiring instance along an injective function.
Equations
- Function.Injective.nonUnitalCommSemiring f hf zero add mul nsmul = NonUnitalCommSemiring.mk ⋯
Instances For
Pullback a CommSemiring instance along an injective function.
Equations
- Function.Injective.commSemiring f hf zero one add mul nsmul npow natCast = CommSemiring.mk ⋯
Instances For
Pullback a NonUnitalNonAssocCommRing instance along an injective function.
Equations
- Function.Injective.nonUnitalNonAssocCommRing f hf zero add mul neg sub nsmul zsmul = NonUnitalNonAssocCommRing.mk ⋯
Instances For
Pullback a NonUnitalCommRing instance along an injective function.
Equations
- Function.Injective.nonUnitalCommRing f hf zero add mul neg sub nsmul zsmul = NonUnitalCommRing.mk ⋯
Instances For
Pullback a CommRing instance along an injective function.
Equations
- Function.Injective.commRing f hf zero one add mul neg sub nsmul zsmul npow natCast intCast = CommRing.mk ⋯
Instances For
Pushforward a LeftDistribClass instance along a surjective function.
Pushforward a RightDistribClass instance along a surjective function.
Pushforward a Distrib instance along a surjective function.
Equations
- Function.Surjective.distrib f hf add mul = Distrib.mk ⋯ ⋯
Instances For
A type endowed with - and * has distributive negation, if it admits a surjective map that
preserves - and * from a type which has distributive negation.
Equations
- Function.Surjective.hasDistribNeg f hf neg mul = HasDistribNeg.mk ⋯ ⋯
Instances For
Pushforward a NonUnitalNonAssocSemiring instance along a surjective function.
See note [reducible non-instances].
Equations
- Function.Surjective.nonUnitalNonAssocSemiring f hf zero add mul nsmul = NonUnitalNonAssocSemiring.mk ⋯ ⋯ ⋯ ⋯
Instances For
Pushforward a NonUnitalSemiring instance along a surjective function.
Equations
- Function.Surjective.nonUnitalSemiring f hf zero add mul nsmul = NonUnitalSemiring.mk ⋯
Instances For
Pushforward a NonAssocSemiring instance along a surjective function.
Equations
- Function.Surjective.nonAssocSemiring f hf zero one add mul nsmul natCast = NonAssocSemiring.mk ⋯ ⋯ ⋯ ⋯
Instances For
Pushforward a Semiring instance along a surjective function.
Equations
- Function.Surjective.semiring f hf zero one add mul nsmul npow natCast = Semiring.mk ⋯ ⋯ ⋯ ⋯ Monoid.npow ⋯ ⋯
Instances For
Pushforward a NonUnitalNonAssocRing instance along a surjective function.
Equations
- Function.Surjective.nonUnitalNonAssocRing f hf zero add mul neg sub nsmul zsmul = NonUnitalNonAssocRing.mk ⋯ ⋯ ⋯ ⋯
Instances For
Pushforward a NonUnitalRing instance along a surjective function.
Equations
- Function.Surjective.nonUnitalRing f hf zero add mul neg sub nsmul zsmul = NonUnitalRing.mk ⋯
Instances For
Pushforward a NonAssocRing instance along a surjective function.
Equations
- Function.Surjective.nonAssocRing f hf zero one add mul neg sub nsmul zsmul natCast intCast = NonAssocRing.mk ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Instances For
Pushforward a Ring instance along a surjective function.
Equations
- Function.Surjective.ring f hf zero one add mul neg sub nsmul zsmul npow natCast intCast = Ring.mk ⋯ AddGroupWithOne.zsmul ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Instances For
Pushforward a NonUnitalNonAssocCommSemiring instance along a surjective function.
Equations
- Function.Surjective.nonUnitalNonAssocCommSemiring f hf zero add mul nsmul = NonUnitalNonAssocCommSemiring.mk ⋯
Instances For
Pushforward a NonUnitalCommSemiring instance along a surjective function.
Equations
- Function.Surjective.nonUnitalCommSemiring f hf zero add mul nsmul = NonUnitalCommSemiring.mk ⋯
Instances For
Pushforward a CommSemiring instance along a surjective function.
Equations
- Function.Surjective.commSemiring f hf zero one add mul nsmul npow natCast = CommSemiring.mk ⋯
Instances For
Pushforward a NonUnitalNonAssocCommRing instance along a surjective function.
Equations
- Function.Surjective.nonUnitalNonAssocCommRing f hf zero add mul neg sub nsmul zsmul = NonUnitalNonAssocCommRing.mk ⋯
Instances For
Pushforward a NonUnitalCommRing instance along a surjective function.
Equations
- Function.Surjective.nonUnitalCommRing f hf zero add mul neg sub nsmul zsmul = NonUnitalCommRing.mk ⋯
Instances For
Pushforward a CommRing instance along a surjective function.
Equations
- Function.Surjective.commRing f hf zero one add mul neg sub nsmul zsmul npow natCast intCast = CommRing.mk ⋯