English
If R injects into a local ring S and every nonzero-divisor maps to a unit, then R is local.
Русский
Если R инъективно внедряется в локальное кольцо S и каждый ненулевой делитель образуется единицей, то R локально.
LaTeX
$$$\text{IsLocalRing } S \Rightarrow \text{IsLocalRing } R$ под условием инъекции и модуля$$
Lean4
/-- If a (semi)ring `R` in which every element is either invertible or a zero divisor
embeds in a local (semi)ring `S`, then `R` is local. -/
theorem of_injective [IsLocalRing S] {f : R →+* S} (hf : Function.Injective f) (h : ∀ a, a ∈ R⁰ → IsUnit a) :
IsLocalRing R := by
haveI : Nontrivial R := f.domain_nontrivial
refine
.of_is_unit_or_is_unit_of_add_one fun {a b} hab ↦
(IsLocalRing.isUnit_or_isUnit_of_add_one (map_add f .. ▸ map_one f ▸ congrArg f hab)).imp ?_ ?_ <;>
exact h _ ∘ mem_nonZeroDivisors_of_injective hf ∘ IsUnit.mem_nonZeroDivisors