Documentation

LeanPool.ArtinWedderburn.PrimeRing

Prime rings #

Defines IsPrimeRing R (the ideal product version) and proves equivalence to the elementwise version aRb = 0 → a = 0 ∨ b = 0 and to the two-sided ideal version. Concludes that simple rings are prime.

A ring is prime when the product of two left ideals can be zero only if at least one of the factors is zero.

Equations
Instances For
    theorem LeanPool.ArtinWedderburn.prime_ring_equiv {R : Type u_1} [Ring R] :
    IsPrimeRing R ∀ (a b : R), bothMul a b = {0}a = 0 b = 0
    theorem LeanPool.ArtinWedderburn.ideal_equality {R : Type u_1} [Ring R] (I J : Ideal R) :
    I = J I = J
    def LeanPool.ArtinWedderburn.mulClosure {R : Type u_1} [Ring R] (a : R) :
    Set R

    The two-sided multiplicative closure RaR = {y * a * z | y, z : R} of a.

    Equations
    Instances For
      theorem LeanPool.ArtinWedderburn.mul_closure_left {R : Type u_1} [Ring R] (a x y : R) :
      y mulClosure ax * y mulClosure a
      theorem LeanPool.ArtinWedderburn.mul_closure_right {R : Type u_1} [Ring R] (a y x : R) :
      y mulClosure ay * x mulClosure a
      theorem LeanPool.ArtinWedderburn.sub_span {R : Type u_1} [Ring R] (s : Set R) (I : TwoSidedIdeal R) :
      s ITwoSidedIdeal.span s I
      theorem LeanPool.ArtinWedderburn.both_mul_zero {R : Type u_1} [Ring R] {a b x y : R} (hab : bothMul a b = {0}) (hx : x mulClosure a) (hy : y mulClosure b) :
      x * y = 0
      theorem LeanPool.ArtinWedderburn.span_mul_closure_bot_forall {R : Type u_1} [Ring R] {a b x y : R} (hab : bothMul a b = {0}) (hx : x AddSubgroup.closure (mulClosure a)) (hy : y mulClosure b) :
      x * y = 0
      theorem LeanPool.ArtinWedderburn.span_mul_closure_bot_forall' {R : Type u_1} [Ring R] {a b x y : R} (hab : bothMul a b = {0}) (hx : x TwoSidedIdeal.span {a}) (hy : y mulClosure b) :
      x * y = 0
      theorem LeanPool.ArtinWedderburn.two_sided_span_bot_forall {R : Type u_1} [Ring R] {a b x y : R} (hab : bothMul a b = {0}) (hx : x TwoSidedIdeal.span {a}) (hy : y AddSubgroup.closure (mulClosure b)) :
      x * y = 0
      theorem LeanPool.ArtinWedderburn.prime_for_two_sided_implies_condition2 {R : Type u_1} [Ring R] :
      (∀ (I J : TwoSidedIdeal R), I * J = I = J = )∀ (a b : R), bothMul a b = {0}a = 0 b = 0