Local rings
module ring-theory.local-rings where
Imports
open import foundation.dependent-pair-types open import foundation.disjunction open import foundation.propositions open import foundation.sets open import foundation.universe-levels open import ring-theory.invertible-elements-rings open import ring-theory.rings
Idea
A local ring is a ring such that whenever a sum of elements is invertible, then one of its summands is invertible. This implies that the non-invertible elements form an ideal. However, the law of excluded middle is needed to show that any ring of which the non-invertible elements form an ideal is a local ring.
Definition
is-local-ring-Prop : {l : Level} (R : Ring l) → Prop l is-local-ring-Prop R = Π-Prop ( type-Ring R) ( λ a → Π-Prop ( type-Ring R) ( λ b → function-Prop ( is-invertible-element-Ring R (add-Ring R a b)) ( disj-Prop ( is-invertible-element-ring-Prop R a) ( is-invertible-element-ring-Prop R b)))) is-local-Ring : {l : Level} → Ring l → UU l is-local-Ring R = type-Prop (is-local-ring-Prop R) is-prop-is-local-Ring : {l : Level} (R : Ring l) → is-prop (is-local-Ring R) is-prop-is-local-Ring R = is-prop-type-Prop (is-local-ring-Prop R) Local-Ring : (l : Level) → UU (lsuc l) Local-Ring l = Σ (Ring l) is-local-Ring module _ {l : Level} (R : Local-Ring l) where ring-Local-Ring : Ring l ring-Local-Ring = pr1 R set-Local-Ring : Set l set-Local-Ring = set-Ring ring-Local-Ring type-Local-Ring : UU l type-Local-Ring = type-Ring ring-Local-Ring is-local-ring-Local-Ring : is-local-Ring ring-Local-Ring is-local-ring-Local-Ring = pr2 R