HepLean Documentation

Mathlib.RingTheory.Ideal.Prime

Prime ideals #

This file contains the definition of Ideal.IsPrime for prime ideals.

TODO #

Support right ideals, and two-sided ideals over non-commutative rings.

class Ideal.IsPrime {α : Type u} [Semiring α] (I : Ideal α) :

An ideal P of a ring R is prime if P ≠ R and xy ∈ P → x ∈ P ∨ y ∈ P

  • ne_top' : I

    The prime ideal is not the entire ring.

  • mem_or_mem' : ∀ {x y : α}, x * y Ix I y I

    If a product lies in the prime ideal, then at least one element lies in the prime ideal.

Instances
    theorem Ideal.IsPrime.ne_top' {α : Type u} :
    ∀ {inst : Semiring α} {I : Ideal α} [self : I.IsPrime], I

    The prime ideal is not the entire ring.

    theorem Ideal.IsPrime.mem_or_mem' {α : Type u} :
    ∀ {inst : Semiring α} {I : Ideal α} [self : I.IsPrime] {x y : α}, x * y Ix I y I

    If a product lies in the prime ideal, then at least one element lies in the prime ideal.

    theorem Ideal.isPrime_iff {α : Type u} [Semiring α] {I : Ideal α} :
    I.IsPrime I ∀ {x y : α}, x * y Ix I y I
    theorem Ideal.IsPrime.ne_top {α : Type u} [Semiring α] {I : Ideal α} (hI : I.IsPrime) :
    theorem Ideal.IsPrime.mem_or_mem {α : Type u} [Semiring α] {I : Ideal α} (hI : I.IsPrime) {x : α} {y : α} :
    x * y Ix I y I
    theorem Ideal.IsPrime.mem_or_mem_of_mul_eq_zero {α : Type u} [Semiring α] {I : Ideal α} (hI : I.IsPrime) {x : α} {y : α} (h : x * y = 0) :
    x I y I
    theorem Ideal.IsPrime.mem_of_pow_mem {α : Type u} [Semiring α] {I : Ideal α} (hI : I.IsPrime) {r : α} (n : ) (H : r ^ n I) :
    r I
    theorem Ideal.not_isPrime_iff {α : Type u} [Semiring α] {I : Ideal α} :
    ¬I.IsPrime I = ∃ (x : α) (_ : xI) (y : α) (_ : yI), x * y I
    theorem Ideal.bot_prime {α : Type u} [Semiring α] [IsDomain α] :
    .IsPrime
    theorem Ideal.IsPrime.mul_mem_iff_mem_or_mem {α : Type u} [CommSemiring α] {I : Ideal α} (hI : I.IsPrime) {x : α} {y : α} :
    x * y I x I y I
    theorem Ideal.IsPrime.pow_mem_iff_mem {α : Type u} [CommSemiring α] {I : Ideal α} (hI : I.IsPrime) {r : α} (n : ) (hn : 0 < n) :
    r ^ n I r I
    theorem Ideal.eq_bot_of_prime {K : Type u} [DivisionSemiring K] (I : Ideal K) [h : I.IsPrime] :
    I =