English
Let f: S → R be injective. If R has a NonUnitalCommRing structure (with 0, 1, +, ×, neg, etc.), then S inherits a NonUnitalCommRing structure pulled back along f, with f preserving all ring operations.
Русский
Пусть f: S → R инъективна. Если R имеет структуру NonUnitalCommRing, то S наследует её через перенос по f.
LaTeX
$$$\\exists\\, \\mathcal{S}: \\text{NonUnitalCommRing}(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).$$$
Lean4
/-- Pullback a `NonUnitalCommRing` instance along an injective function. -/
-- -- See note [reducible non-instances]
protected abbrev nonUnitalCommRing [NonUnitalCommRing R] (f : S → R) (hf : Injective f) (zero : f 0 = 0)
(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) : NonUnitalCommRing S
where
toNonUnitalRing := hf.nonUnitalRing f zero add mul neg sub nsmul zsmul
__ := hf.nonUnitalNonAssocCommRing f zero add mul neg sub nsmul zsmul