Documentation

Mathlib.Algebra.Ring.InjSurj

Pulling back rings along injective maps, and pushing them forward along surjective maps #

theorem Function.Injective.leftDistribClass {R : Type u_1} {S : Type u_2} (f : SR) (hf : Injective f) [Add S] [Mul S] [Mul R] [Add R] [LeftDistribClass R] (add : ∀ (x y : S), f (x + y) = f x + f y) (mul : ∀ (x y : S), f (x * y) = f x * f y) :

Pullback a LeftDistribClass instance along an injective function.

theorem Function.Injective.rightDistribClass {R : Type u_1} {S : Type u_2} (f : SR) (hf : Injective f) [Add S] [Mul S] [Mul R] [Add R] [RightDistribClass R] (add : ∀ (x y : S), f (x + y) = f x + f y) (mul : ∀ (x y : S), f (x * y) = f x * f y) :

Pullback a RightDistribClass instance along an injective function.

@[reducible, inline]
abbrev Function.Injective.distrib {R : Type u_1} {S : Type u_2} (f : SR) (hf : Injective f) [Add S] [Mul S] [Distrib R] (add : ∀ (x y : S), f (x + y) = f x + f y) (mul : ∀ (x y : S), f (x * y) = f x * f y) :

Pullback a Distrib instance along an injective function.

Equations
@[reducible, inline]
abbrev Function.Injective.hasDistribNeg {R : Type u_1} {S : Type u_2} [Mul S] [Neg S] (f : SR) (hf : Injective f) [Mul R] [HasDistribNeg R] (neg : ∀ (a : S), f (-a) = -f a) (mul : ∀ (a b : S), f (a * b) = f a * f b) :

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
@[reducible, inline]
abbrev Function.Injective.nonUnitalNonAssocSemiring {R : Type u_1} {S : Type u_2} (f : SR) (hf : Injective f) [Add S] [Mul S] [Zero S] [SMul S] [NonUnitalNonAssocSemiring R] (zero : f 0 = 0) (add : ∀ (x y : S), f (x + y) = f x + f y) (mul : ∀ (x y : S), f (x * y) = f x * f y) (nsmul : ∀ (n : ) (x : S), f (n x) = n f x) :

Pullback a NonUnitalNonAssocSemiring instance along an injective function.

Equations
  • One or more equations did not get rendered due to their size.
@[reducible, inline]
abbrev Function.Injective.nonUnitalSemiring {R : Type u_1} {S : Type u_2} (f : SR) (hf : Injective f) [Add S] [Mul S] [Zero S] [SMul S] [NonUnitalSemiring R] (zero : f 0 = 0) (add : ∀ (x y : S), f (x + y) = f x + f y) (mul : ∀ (x y : S), f (x * y) = f x * f y) (nsmul : ∀ (n : ) (x : S), f (n x) = n f x) :

Pullback a NonUnitalSemiring instance along an injective function.

Equations
@[reducible, inline]
abbrev Function.Injective.nonAssocSemiring {R : Type u_1} {S : Type u_2} (f : SR) (hf : Injective f) [Add S] [Mul S] [Zero S] [One S] [SMul S] [NatCast S] [NonAssocSemiring R] (zero : f 0 = 0) (one : f 1 = 1) (add : ∀ (x y : S), f (x + y) = f x + f y) (mul : ∀ (x y : S), f (x * y) = f x * f y) (nsmul : ∀ (n : ) (x : S), f (n x) = n f x) (natCast : ∀ (n : ), f n = n) :

Pullback a NonAssocSemiring instance along an injective function.

Equations
  • One or more equations did not get rendered due to their size.
@[reducible, inline]
abbrev Function.Injective.semiring {R : Type u_1} {S : Type u_2} (f : SR) (hf : Injective f) [Add S] [Mul S] [Zero S] [One S] [SMul S] [Pow S ] [NatCast S] [Semiring R] (zero : f 0 = 0) (one : f 1 = 1) (add : ∀ (x y : S), f (x + y) = f x + f y) (mul : ∀ (x y : S), f (x * y) = f x * f y) (nsmul : ∀ (n : ) (x : S), f (n x) = n f x) (npow : ∀ (x : S) (n : ), f (x ^ n) = f x ^ n) (natCast : ∀ (n : ), f n = n) :

Pullback a Semiring instance along an injective function.

Equations
  • One or more equations did not get rendered due to their size.
@[reducible, inline]
abbrev Function.Injective.nonUnitalNonAssocRing {R : Type u_1} {S : Type u_2} [Add S] [Mul S] [Zero S] [Neg S] [Sub S] [SMul S] [SMul S] [NonUnitalNonAssocRing R] (f : SR) (hf : Injective f) (zero : f 0 = 0) (add : ∀ (x y : S), f (x + y) = f x + f y) (mul : ∀ (x y : S), f (x * y) = f x * f y) (neg : ∀ (x : S), f (-x) = -f x) (sub : ∀ (x y : S), f (x - y) = f x - f y) (nsmul : ∀ (n : ) (x : S), f (n x) = n f x) (zsmul : ∀ (n : ) (x : S), f (n x) = n f x) :

Pullback a NonUnitalNonAssocRing instance along an injective function.

Equations
  • One or more equations did not get rendered due to their size.
@[reducible, inline]
abbrev Function.Injective.nonUnitalRing {R : Type u_1} {S : Type u_2} (f : SR) (hf : Injective f) [Add S] [Mul S] [Zero S] [Neg S] [Sub S] [SMul S] [SMul S] [NonUnitalRing R] (zero : f 0 = 0) (add : ∀ (x y : S), f (x + y) = f x + f y) (mul : ∀ (x y : S), f (x * y) = f x * f y) (neg : ∀ (x : S), f (-x) = -f x) (sub : ∀ (x y : S), f (x - y) = f x - f y) (nsmul : ∀ (n : ) (x : S), f (n x) = n f x) (zsmul : ∀ (n : ) (x : S), f (n x) = n f x) :

Pullback a NonUnitalRing instance along an injective function.

Equations
  • One or more equations did not get rendered due to their size.
@[reducible, inline]
abbrev Function.Injective.nonAssocRing {R : Type u_1} {S : Type u_2} (f : SR) (hf : Injective f) [Add S] [Mul S] [Zero S] [One S] [Neg S] [Sub S] [SMul S] [SMul S] [NatCast S] [IntCast S] [NonAssocRing R] (zero : f 0 = 0) (one : f 1 = 1) (add : ∀ (x y : S), f (x + y) = f x + f y) (mul : ∀ (x y : S), f (x * y) = f x * f y) (neg : ∀ (x : S), f (-x) = -f x) (sub : ∀ (x y : S), f (x - y) = f x - f y) (nsmul : ∀ (n : ) (x : S), f (n x) = n f x) (zsmul : ∀ (n : ) (x : S), f (n x) = n f x) (natCast : ∀ (n : ), f n = n) (intCast : ∀ (n : ), f n = n) :

Pullback a NonAssocRing instance along an injective function.

Equations
  • One or more equations did not get rendered due to their size.
@[reducible, inline]
abbrev Function.Injective.ring {R : Type u_1} {S : Type u_2} (f : SR) (hf : Injective f) [Add S] [Mul S] [Zero S] [One S] [Neg S] [Sub S] [SMul S] [SMul S] [Pow S ] [NatCast S] [IntCast S] [Ring R] (zero : f 0 = 0) (one : f 1 = 1) (add : ∀ (x y : S), f (x + y) = f x + f y) (mul : ∀ (x y : S), f (x * y) = f x * f y) (neg : ∀ (x : S), f (-x) = -f x) (sub : ∀ (x y : S), f (x - y) = f x - f y) (nsmul : ∀ (n : ) (x : S), f (n x) = n f x) (zsmul : ∀ (n : ) (x : S), f (n x) = n f x) (npow : ∀ (x : S) (n : ), f (x ^ n) = f x ^ n) (natCast : ∀ (n : ), f n = n) (intCast : ∀ (n : ), f n = n) :

Pullback a Ring instance along an injective function.

Equations
  • One or more equations did not get rendered due to their size.
@[reducible, inline]
abbrev Function.Injective.nonUnitalNonAssocCommSemiring {R : Type u_1} {S : Type u_2} (f : SR) (hf : Injective f) [Add S] [Mul S] [Zero S] [SMul S] [NonUnitalNonAssocCommSemiring R] (zero : f 0 = 0) (add : ∀ (x y : S), f (x + y) = f x + f y) (mul : ∀ (x y : S), f (x * y) = f x * f y) (nsmul : ∀ (n : ) (x : S), f (n x) = n f x) :

Pullback a NonUnitalNonAssocCommSemiring instance along an injective function.

Equations
@[reducible, inline]
abbrev Function.Injective.nonUnitalCommSemiring {R : Type u_1} {S : Type u_2} [Add S] [Mul S] [Zero S] [SMul S] [NonUnitalCommSemiring R] (f : SR) (hf : Injective f) (zero : f 0 = 0) (add : ∀ (x y : S), f (x + y) = f x + f y) (mul : ∀ (x y : S), f (x * y) = f x * f y) (nsmul : ∀ (n : ) (x : S), f (n x) = n f x) :

Pullback a NonUnitalCommSemiring instance along an injective function.

Equations
@[reducible, inline]
abbrev Function.Injective.commSemiring {R : Type u_1} {S : Type u_2} (f : SR) (hf : Injective f) [Add S] [Mul S] [Zero S] [One S] [SMul S] [Pow S ] [NatCast S] [CommSemiring R] (zero : f 0 = 0) (one : f 1 = 1) (add : ∀ (x y : S), f (x + y) = f x + f y) (mul : ∀ (x y : S), f (x * y) = f x * f y) (nsmul : ∀ (n : ) (x : S), f (n x) = n f x) (npow : ∀ (x : S) (n : ), f (x ^ n) = f x ^ n) (natCast : ∀ (n : ), f n = n) :

Pullback a CommSemiring instance along an injective function.

Equations
@[reducible, inline]
abbrev Function.Injective.nonUnitalNonAssocCommRing {R : Type u_1} {S : Type u_2} [Add S] [Mul S] [Zero S] [Neg S] [Sub S] [SMul S] [SMul S] [NonUnitalNonAssocCommRing R] (f : SR) (hf : Injective f) (zero : f 0 = 0) (add : ∀ (x y : S), f (x + y) = f x + f y) (mul : ∀ (x y : S), f (x * y) = f x * f y) (neg : ∀ (x : S), f (-x) = -f x) (sub : ∀ (x y : S), f (x - y) = f x - f y) (nsmul : ∀ (n : ) (x : S), f (n x) = n f x) (zsmul : ∀ (n : ) (x : S), f (n x) = n f x) :

Pullback a NonUnitalNonAssocCommRing instance along an injective function.

Equations
  • One or more equations did not get rendered due to their size.
@[reducible, inline]
abbrev Function.Injective.nonUnitalCommRing {R : Type u_1} {S : Type u_2} [Add S] [Mul S] [Zero S] [Neg S] [Sub S] [SMul S] [SMul S] [NonUnitalCommRing R] (f : SR) (hf : Injective f) (zero : f 0 = 0) (add : ∀ (x y : S), f (x + y) = f x + f y) (mul : ∀ (x y : S), f (x * y) = f x * f y) (neg : ∀ (x : S), f (-x) = -f x) (sub : ∀ (x y : S), f (x - y) = f x - f y) (nsmul : ∀ (n : ) (x : S), f (n x) = n f x) (zsmul : ∀ (n : ) (x : S), f (n x) = n f x) :

Pullback a NonUnitalCommRing instance along an injective function.

Equations
@[reducible, inline]
abbrev Function.Injective.commRing {R : Type u_1} {S : Type u_2} (f : SR) (hf : Injective f) [Add S] [Mul S] [Zero S] [One S] [Neg S] [Sub S] [SMul S] [SMul S] [Pow S ] [NatCast S] [IntCast S] [CommRing R] (zero : f 0 = 0) (one : f 1 = 1) (add : ∀ (x y : S), f (x + y) = f x + f y) (mul : ∀ (x y : S), f (x * y) = f x * f y) (neg : ∀ (x : S), f (-x) = -f x) (sub : ∀ (x y : S), f (x - y) = f x - f y) (nsmul : ∀ (n : ) (x : S), f (n x) = n f x) (zsmul : ∀ (n : ) (x : S), f (n x) = n f x) (npow : ∀ (x : S) (n : ), f (x ^ n) = f x ^ n) (natCast : ∀ (n : ), f n = n) (intCast : ∀ (n : ), f n = n) :

Pullback a CommRing instance along an injective function.

Equations
  • One or more equations did not get rendered due to their size.
theorem Function.Surjective.leftDistribClass {R : Type u_1} {S : Type u_2} (f : RS) (hf : Surjective f) [Add S] [Mul S] [Mul R] [Add R] [LeftDistribClass R] (add : ∀ (x y : R), f (x + y) = f x + f y) (mul : ∀ (x y : R), f (x * y) = f x * f y) :

Pushforward a LeftDistribClass instance along a surjective function.

theorem Function.Surjective.rightDistribClass {R : Type u_1} {S : Type u_2} (f : RS) (hf : Surjective f) [Add S] [Mul S] [Mul R] [Add R] [RightDistribClass R] (add : ∀ (x y : R), f (x + y) = f x + f y) (mul : ∀ (x y : R), f (x * y) = f x * f y) :

Pushforward a RightDistribClass instance along a surjective function.

@[reducible, inline]
abbrev Function.Surjective.distrib {R : Type u_1} {S : Type u_2} (f : RS) (hf : Surjective f) [Add S] [Mul S] [Distrib R] (add : ∀ (x y : R), f (x + y) = f x + f y) (mul : ∀ (x y : R), f (x * y) = f x * f y) :

Pushforward a Distrib instance along a surjective function.

Equations
@[reducible, inline]
abbrev Function.Surjective.hasDistribNeg {R : Type u_1} {S : Type u_2} (f : RS) (hf : Surjective f) [Mul S] [Neg S] [Mul R] [HasDistribNeg R] (neg : ∀ (a : R), f (-a) = -f a) (mul : ∀ (a b : R), f (a * b) = f a * f b) :

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
@[reducible, inline]
abbrev Function.Surjective.nonUnitalNonAssocSemiring {R : Type u_1} {S : Type u_2} (f : RS) (hf : Surjective f) [Add S] [Mul S] [Zero S] [SMul S] [NonUnitalNonAssocSemiring R] (zero : f 0 = 0) (add : ∀ (x y : R), f (x + y) = f x + f y) (mul : ∀ (x y : R), f (x * y) = f x * f y) (nsmul : ∀ (n : ) (x : R), f (n x) = n f x) :

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.
@[reducible, inline]
abbrev Function.Surjective.nonUnitalSemiring {R : Type u_1} {S : Type u_2} (f : RS) (hf : Surjective f) [Add S] [Mul S] [Zero S] [SMul S] [NonUnitalSemiring R] (zero : f 0 = 0) (add : ∀ (x y : R), f (x + y) = f x + f y) (mul : ∀ (x y : R), f (x * y) = f x * f y) (nsmul : ∀ (n : ) (x : R), f (n x) = n f x) :

Pushforward a NonUnitalSemiring instance along a surjective function.

Equations
@[reducible, inline]
abbrev Function.Surjective.nonAssocSemiring {R : Type u_1} {S : Type u_2} (f : RS) (hf : Surjective f) [Add S] [Mul S] [Zero S] [One S] [SMul S] [NatCast S] [NonAssocSemiring R] (zero : f 0 = 0) (one : f 1 = 1) (add : ∀ (x y : R), f (x + y) = f x + f y) (mul : ∀ (x y : R), f (x * y) = f x * f y) (nsmul : ∀ (n : ) (x : R), f (n x) = n f x) (natCast : ∀ (n : ), f n = n) :

Pushforward a NonAssocSemiring instance along a surjective function.

Equations
  • One or more equations did not get rendered due to their size.
@[reducible, inline]
abbrev Function.Surjective.semiring {R : Type u_1} {S : Type u_2} (f : RS) (hf : Surjective f) [Add S] [Mul S] [Zero S] [One S] [SMul S] [Pow S ] [NatCast S] [Semiring R] (zero : f 0 = 0) (one : f 1 = 1) (add : ∀ (x y : R), f (x + y) = f x + f y) (mul : ∀ (x y : R), f (x * y) = f x * f y) (nsmul : ∀ (n : ) (x : R), f (n x) = n f x) (npow : ∀ (x : R) (n : ), f (x ^ n) = f x ^ n) (natCast : ∀ (n : ), f n = n) :

Pushforward a Semiring instance along a surjective function.

Equations
  • One or more equations did not get rendered due to their size.
@[reducible, inline]
abbrev Function.Surjective.nonUnitalNonAssocRing {R : Type u_1} {S : Type u_2} (f : RS) (hf : Surjective f) [Add S] [Mul S] [Zero S] [Neg S] [Sub S] [SMul S] [SMul S] [NonUnitalNonAssocRing R] (zero : f 0 = 0) (add : ∀ (x y : R), f (x + y) = f x + f y) (mul : ∀ (x y : R), f (x * y) = f x * f y) (neg : ∀ (x : R), f (-x) = -f x) (sub : ∀ (x y : R), f (x - y) = f x - f y) (nsmul : ∀ (n : ) (x : R), f (n x) = n f x) (zsmul : ∀ (n : ) (x : R), f (n x) = n f x) :

Pushforward a NonUnitalNonAssocRing instance along a surjective function.

Equations
  • One or more equations did not get rendered due to their size.
@[reducible, inline]
abbrev Function.Surjective.nonUnitalRing {R : Type u_1} {S : Type u_2} (f : RS) (hf : Surjective f) [Add S] [Mul S] [Zero S] [Neg S] [Sub S] [SMul S] [SMul S] [NonUnitalRing R] (zero : f 0 = 0) (add : ∀ (x y : R), f (x + y) = f x + f y) (mul : ∀ (x y : R), f (x * y) = f x * f y) (neg : ∀ (x : R), f (-x) = -f x) (sub : ∀ (x y : R), f (x - y) = f x - f y) (nsmul : ∀ (n : ) (x : R), f (n x) = n f x) (zsmul : ∀ (n : ) (x : R), f (n x) = n f x) :

Pushforward a NonUnitalRing instance along a surjective function.

Equations
  • One or more equations did not get rendered due to their size.
@[reducible, inline]
abbrev Function.Surjective.nonAssocRing {R : Type u_1} {S : Type u_2} (f : RS) (hf : Surjective f) [Add S] [Mul S] [Zero S] [One S] [Neg S] [Sub S] [SMul S] [SMul S] [NatCast S] [IntCast S] [NonAssocRing R] (zero : f 0 = 0) (one : f 1 = 1) (add : ∀ (x y : R), f (x + y) = f x + f y) (mul : ∀ (x y : R), f (x * y) = f x * f y) (neg : ∀ (x : R), f (-x) = -f x) (sub : ∀ (x y : R), f (x - y) = f x - f y) (nsmul : ∀ (n : ) (x : R), f (n x) = n f x) (zsmul : ∀ (n : ) (x : R), f (n x) = n f x) (natCast : ∀ (n : ), f n = n) (intCast : ∀ (n : ), f n = n) :

Pushforward a NonAssocRing instance along a surjective function.

Equations
  • One or more equations did not get rendered due to their size.
@[reducible, inline]
abbrev Function.Surjective.ring {R : Type u_1} {S : Type u_2} (f : RS) (hf : Surjective f) [Add S] [Mul S] [Zero S] [One S] [Neg S] [Sub S] [SMul S] [SMul S] [Pow S ] [NatCast S] [IntCast S] [Ring R] (zero : f 0 = 0) (one : f 1 = 1) (add : ∀ (x y : R), f (x + y) = f x + f y) (mul : ∀ (x y : R), f (x * y) = f x * f y) (neg : ∀ (x : R), f (-x) = -f x) (sub : ∀ (x y : R), f (x - y) = f x - f y) (nsmul : ∀ (n : ) (x : R), f (n x) = n f x) (zsmul : ∀ (n : ) (x : R), f (n x) = n f x) (npow : ∀ (x : R) (n : ), f (x ^ n) = f x ^ n) (natCast : ∀ (n : ), f n = n) (intCast : ∀ (n : ), f n = n) :

Pushforward a Ring instance along a surjective function.

Equations
  • One or more equations did not get rendered due to their size.
@[reducible, inline]
abbrev Function.Surjective.nonUnitalNonAssocCommSemiring {R : Type u_1} {S : Type u_2} (f : RS) (hf : Surjective f) [Add S] [Mul S] [Zero S] [SMul S] [NonUnitalNonAssocCommSemiring R] (zero : f 0 = 0) (add : ∀ (x y : R), f (x + y) = f x + f y) (mul : ∀ (x y : R), f (x * y) = f x * f y) (nsmul : ∀ (n : ) (x : R), f (n x) = n f x) :

Pushforward a NonUnitalNonAssocCommSemiring instance along a surjective function.

Equations
  • One or more equations did not get rendered due to their size.
@[reducible, inline]
abbrev Function.Surjective.nonUnitalCommSemiring {R : Type u_1} {S : Type u_2} (f : RS) (hf : Surjective f) [Add S] [Mul S] [Zero S] [SMul S] [NonUnitalCommSemiring R] (zero : f 0 = 0) (add : ∀ (x y : R), f (x + y) = f x + f y) (mul : ∀ (x y : R), f (x * y) = f x * f y) (nsmul : ∀ (n : ) (x : R), f (n x) = n f x) :

Pushforward a NonUnitalCommSemiring instance along a surjective function.

Equations
@[reducible, inline]
abbrev Function.Surjective.commSemiring {R : Type u_1} {S : Type u_2} (f : RS) (hf : Surjective f) [Add S] [Mul S] [Zero S] [One S] [SMul S] [Pow S ] [NatCast S] [CommSemiring R] (zero : f 0 = 0) (one : f 1 = 1) (add : ∀ (x y : R), f (x + y) = f x + f y) (mul : ∀ (x y : R), f (x * y) = f x * f y) (nsmul : ∀ (n : ) (x : R), f (n x) = n f x) (npow : ∀ (x : R) (n : ), f (x ^ n) = f x ^ n) (natCast : ∀ (n : ), f n = n) :

Pushforward a CommSemiring instance along a surjective function.

Equations
@[reducible, inline]
abbrev Function.Surjective.nonUnitalNonAssocCommRing {R : Type u_1} {S : Type u_2} (f : RS) (hf : Surjective f) [Add S] [Mul S] [Zero S] [Neg S] [Sub S] [SMul S] [SMul S] [NonUnitalNonAssocCommRing R] (zero : f 0 = 0) (add : ∀ (x y : R), f (x + y) = f x + f y) (mul : ∀ (x y : R), f (x * y) = f x * f y) (neg : ∀ (x : R), f (-x) = -f x) (sub : ∀ (x y : R), f (x - y) = f x - f y) (nsmul : ∀ (n : ) (x : R), f (n x) = n f x) (zsmul : ∀ (n : ) (x : R), f (n x) = n f x) :

Pushforward a NonUnitalNonAssocCommRing instance along a surjective function.

Equations
  • One or more equations did not get rendered due to their size.
@[reducible, inline]
abbrev Function.Surjective.nonUnitalCommRing {R : Type u_1} {S : Type u_2} (f : RS) (hf : Surjective f) [Add S] [Mul S] [Zero S] [Neg S] [Sub S] [SMul S] [SMul S] [NonUnitalCommRing R] (zero : f 0 = 0) (add : ∀ (x y : R), f (x + y) = f x + f y) (mul : ∀ (x y : R), f (x * y) = f x * f y) (neg : ∀ (x : R), f (-x) = -f x) (sub : ∀ (x y : R), f (x - y) = f x - f y) (nsmul : ∀ (n : ) (x : R), f (n x) = n f x) (zsmul : ∀ (n : ) (x : R), f (n x) = n f x) :

Pushforward a NonUnitalCommRing instance along a surjective function.

Equations
@[reducible, inline]
abbrev Function.Surjective.commRing {R : Type u_1} {S : Type u_2} (f : RS) (hf : Surjective f) [Add S] [Mul S] [Zero S] [One S] [Neg S] [Sub S] [SMul S] [SMul S] [Pow S ] [NatCast S] [IntCast S] [CommRing R] (zero : f 0 = 0) (one : f 1 = 1) (add : ∀ (x y : R), f (x + y) = f x + f y) (mul : ∀ (x y : R), f (x * y) = f x * f y) (neg : ∀ (x : R), f (-x) = -f x) (sub : ∀ (x y : R), f (x - y) = f x - f y) (nsmul : ∀ (n : ) (x : R), f (n x) = n f x) (zsmul : ∀ (n : ) (x : R), f (n x) = n f x) (npow : ∀ (x : R) (n : ), f (x ^ n) = f x ^ n) (natCast : ∀ (n : ), f n = n) (intCast : ∀ (n : ), f n = n) :

Pushforward a CommRing instance along a surjective function.

Equations
  • One or more equations did not get rendered due to their size.