English
Let f: S → R be injective. If R has a CommRing structure, then S inherits a CommRing structure pulled back along f, with f preserving 0, 1, +, ×, neg, and related casts.
Русский
Пусть f: S → R инъективна. Если R имеет структуру CommRing, то S наследует её через перенос по f.
LaTeX
$$$\\exists\\, \\mathcal{S}: \\text{CommRing}(S),\\quad f(0)=0,\\quad f(1)=1,\\quad \\forall x,y, f(x+y)=f(x)+f(y),\\quad \\forall x,y, f(x\\cdot y)=f(x)\\cdot f(y),\\quad \\forall x, f(-x)=-f(x),\\quad \\forall n, f(n\\cdot x)=n\\cdot f(x).$$$
Lean4
/-- Pullback a `CommRing` instance along an injective function. -/
-- -- See note [reducible non-instances]
protected abbrev commRing [CommRing R] (zero : f 0 = 0) (one : f 1 = 1) (add : ∀ x y, f (x + y) = f x + f y)
(mul : ∀ x y, f (x * y) = f x * f y) (neg : ∀ x, f (-x) = -f x) (sub : ∀ x y, f (x - y) = f x - f y)
(nsmul : ∀ (n : ℕ) (x), f (n • x) = n • f x) (zsmul : ∀ (n : ℤ) (x), f (n • x) = n • f x)
(npow : ∀ (x) (n : ℕ), f (x ^ n) = f x ^ n) (natCast : ∀ n : ℕ, f n = n) (intCast : ∀ n : ℤ, f n = n) : CommRing S
where
toRing := hf.ring f zero one add mul neg sub nsmul zsmul npow natCast intCast
__ := hf.commMonoid f one mul npow