English
Let f: R → S be surjective and suppose R has a ring structure. If f preserves the ring operations (addition, multiplication, negation, subtraction, and scalar actions) and f(0)=0, f(1)=1, then S inherits a ring structure transported along f.
Русский
Пусть f: R → S — суръекция и R имеет кольцевую структуру. Если f сохраняет операции кольца (сложение, умножение, отрицание, вычитание и скаляры) и f(0)=0, f(1)=1, тогда S наследует кольцевую структуру, перенесённую по f.
LaTeX
$$$\text{Pushforward along } f\;:\; R\to S \text{ yields a Ring structure on } S.$$$
Lean4
/-- Pushforward a `Ring` instance along a surjective function. -/
-- See note [reducible non-instances]
protected abbrev ring [Ring 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) : Ring S
where
toSemiring := hf.semiring f zero one add mul nsmul npow natCast
__ := hf.addGroupWithOne f zero one add neg sub nsmul zsmul natCast intCast
__ := hf.addCommGroup f zero add neg sub (swap nsmul) (swap zsmul)