File tree Expand file tree Collapse file tree 1 file changed +20
-0
lines changed
Mathlib/RingTheory/Artinian Expand file tree Collapse file tree 1 file changed +20
-0
lines changed Original file line number Diff line number Diff line change @@ -91,6 +91,26 @@ theorem isField_of_isReduced_of_isLocalRing [IsReduced R] [IsLocalRing R] : IsFi
9191 (IsArtinianRing.equivPi R).trans (RingEquiv.piUnique _) |>.toMulEquiv.isField
9292 _ (Ideal.Quotient.field _).toIsField
9393
94+ section IsUnit
95+
96+ open nonZeroDivisors
97+
98+ /-- If an element of an artinian ring is not a zero divisor then it is a unit. -/
99+ theorem isUnit_of_mem_nonZeroDivisors {a : R} (ha : a ∈ R⁰) : IsUnit a :=
100+ IsUnit.isUnit_iff_mulLeft_bijective.mpr <|
101+ IsArtinian.bijective_of_injective_endomorphism (LinearMap.mulLeft R a)
102+ fun _ _ ↦ (mul_cancel_left_mem_nonZeroDivisors ha).mp
103+
104+ /-- In an artinian ring, an element is a unit iff it is a non-zero-divisor.
105+ See also `isUnit_iff_mem_nonZeroDivisors_of_finite`.-/
106+ theorem isUnit_iff_mem_nonZeroDivisors {a : R} : IsUnit a ↔ a ∈ R⁰ :=
107+ ⟨IsUnit.mem_nonZeroDivisors, isUnit_of_mem_nonZeroDivisors⟩
108+
109+ theorem isUnit_submonoid_eq : IsUnit.submonoid R = R⁰ := by
110+ ext; simp [IsUnit.mem_submonoid_iff, isUnit_iff_mem_nonZeroDivisors]
111+
112+ end IsUnit
113+
94114section Localization
95115
96116variable (S : Submonoid R) (L : Type *) [CommSemiring L] [Algebra R L] [IsLocalization S L]
You can’t perform that action at this time.
0 commit comments