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 = { toMul := inst✝¹, toAdd := inst✝², left_distrib := ⋯, right_distrib := ⋯ }
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 = { toInvolutiveNeg := Function.Injective.involutiveNeg f hf neg, neg_mul := ⋯, mul_neg := ⋯ }
Instances For
Pullback a NonUnitalNonAssocSemiring instance along an injective function.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Pullback a NonUnitalSemiring instance along an injective function.
Equations
- Function.Injective.nonUnitalSemiring f hf zero add mul nsmul = { toNonUnitalNonAssocSemiring := Function.Injective.nonUnitalNonAssocSemiring f hf zero add mul nsmul, mul_assoc := ⋯ }
Instances For
Pullback a NonAssocSemiring instance along an injective function.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Pullback a Semiring instance along an injective function.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Pullback a NonUnitalNonAssocRing instance along an injective function.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Pullback a NonUnitalRing instance along an injective function.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Pullback a NonAssocRing instance along an injective function.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Pullback a Ring instance along an injective function.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Pullback a NonUnitalNonAssocCommSemiring instance along an injective function.
Equations
- Function.Injective.nonUnitalNonAssocCommSemiring f hf zero add mul nsmul = { toNonUnitalNonAssocSemiring := Function.Injective.nonUnitalNonAssocSemiring f hf zero add mul nsmul, mul_comm := ⋯ }
Instances For
Pullback a NonUnitalCommSemiring instance along an injective function.
Equations
- Function.Injective.nonUnitalCommSemiring f hf zero add mul nsmul = { toNonUnitalSemiring := Function.Injective.nonUnitalSemiring f hf zero add mul nsmul, mul_comm := ⋯ }
Instances For
Pullback a CommSemiring instance along an injective function.
Equations
- Function.Injective.commSemiring f hf zero one add mul nsmul npow natCast = { toSemiring := Function.Injective.semiring f hf zero one add mul nsmul npow natCast, mul_comm := ⋯ }
Instances For
Pullback a NonUnitalNonAssocCommRing instance along an injective function.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Pullback a NonUnitalCommRing instance along an injective function.
Equations
- Function.Injective.nonUnitalCommRing f hf zero add mul neg sub nsmul zsmul = { toNonUnitalRing := Function.Injective.nonUnitalRing f hf zero add mul neg sub nsmul zsmul, mul_comm := ⋯ }
Instances For
Pullback a CommRing instance along an injective function.
Equations
- One or more equations did not get rendered due to their size.
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 = { toMul := inst✝¹, toAdd := inst✝², left_distrib := ⋯, right_distrib := ⋯ }
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 = { toInvolutiveNeg := Function.Surjective.involutiveNeg f hf neg, neg_mul := ⋯, mul_neg := ⋯ }
Instances For
Pushforward a NonUnitalNonAssocSemiring instance along a surjective function.
See note [reducible non-instances].
Equations
- One or more equations did not get rendered due to their size.
Instances For
Pushforward a NonUnitalSemiring instance along a surjective function.
Equations
- Function.Surjective.nonUnitalSemiring f hf zero add mul nsmul = { toNonUnitalNonAssocSemiring := Function.Surjective.nonUnitalNonAssocSemiring f hf zero add mul nsmul, mul_assoc := ⋯ }
Instances For
Pushforward a NonAssocSemiring instance along a surjective function.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Pushforward a Semiring instance along a surjective function.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Pushforward a NonUnitalNonAssocRing instance along a surjective function.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Pushforward a NonUnitalRing instance along a surjective function.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Pushforward a NonAssocRing instance along a surjective function.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Pushforward a Ring instance along a surjective function.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Pushforward a NonUnitalNonAssocCommSemiring instance along a surjective function.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Pushforward a NonUnitalCommSemiring instance along a surjective function.
Equations
- Function.Surjective.nonUnitalCommSemiring f hf zero add mul nsmul = { toNonUnitalSemiring := Function.Surjective.nonUnitalSemiring f hf zero add mul nsmul, mul_comm := ⋯ }
Instances For
Pushforward a CommSemiring instance along a surjective function.
Equations
- Function.Surjective.commSemiring f hf zero one add mul nsmul npow natCast = { toSemiring := Function.Surjective.semiring f hf zero one add mul nsmul npow natCast, mul_comm := ⋯ }
Instances For
Pushforward a NonUnitalNonAssocCommRing instance along a surjective function.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Pushforward a NonUnitalCommRing instance along a surjective function.
Equations
- Function.Surjective.nonUnitalCommRing f hf zero add mul neg sub nsmul zsmul = { toNonUnitalRing := Function.Surjective.nonUnitalRing f hf zero add mul neg sub nsmul zsmul, mul_comm := ⋯ }
Instances For
Pushforward a CommRing instance along a surjective function.
Equations
- One or more equations did not get rendered due to their size.