Documentation

Mathlib.Order.PrimeIdeal

Prime ideals #

Main definitions #

Throughout this file, P is at least a preorder, but some sections require more structure, such as a bottom element, a top element, or a join-semilattice structure.

References #

Tags #

ideal, prime

structure Order.Ideal.PrimePair (P : Type u_2) [Preorder P] :
Type u_2

A pair of an Order.Ideal and an Order.PFilter which form a partition of P.

Instances For
    theorem Order.Ideal.PrimePair.compl_I_eq_F {P : Type u_1} [Preorder P] (IF : Order.Ideal.PrimePair P) :
    (↑IF.I) = IF.F
    theorem Order.Ideal.PrimePair.compl_F_eq_I {P : Type u_1} [Preorder P] (IF : Order.Ideal.PrimePair P) :
    (↑IF.F) = IF.I
    theorem Order.Ideal.PrimePair.I_isProper {P : Type u_1} [Preorder P] (IF : Order.Ideal.PrimePair P) :
    IF.I.IsProper
    theorem Order.Ideal.PrimePair.disjoint {P : Type u_1} [Preorder P] (IF : Order.Ideal.PrimePair P) :
    Disjoint IF.I IF.F
    theorem Order.Ideal.PrimePair.I_union_F {P : Type u_1} [Preorder P] (IF : Order.Ideal.PrimePair P) :
    IF.I IF.F = Set.univ
    theorem Order.Ideal.PrimePair.F_union_I {P : Type u_1} [Preorder P] (IF : Order.Ideal.PrimePair P) :
    IF.F IF.I = Set.univ
    class Order.Ideal.IsPrime {P : Type u_1} [Preorder P] (I : Order.Ideal P) extends I.IsProper :

    An ideal I is prime if its complement is a filter.

    Instances
      theorem Order.Ideal.isPrime_iff {P : Type u_1} [Preorder P] (I : Order.Ideal P) :
      I.IsPrime I.IsProper Order.IsPFilter (↑I)

      Create an element of type Order.Ideal.PrimePair from an ideal satisfying the predicate Order.Ideal.IsPrime.

      Equations
      • h.toPrimePair = { I := I, F := .toPFilter, isCompl_I_F := }
      Instances For
        theorem Order.Ideal.PrimePair.I_isPrime {P : Type u_1} [Preorder P] (IF : Order.Ideal.PrimePair P) :
        IF.I.IsPrime
        theorem Order.Ideal.IsPrime.mem_or_mem {P : Type u_1} [SemilatticeInf P] {I : Order.Ideal P} (hI : I.IsPrime) {x y : P} :
        x y Ix I y I
        theorem Order.Ideal.IsPrime.of_mem_or_mem {P : Type u_1} [SemilatticeInf P] {I : Order.Ideal P} [I.IsProper] (hI : ∀ {x y : P}, x y Ix I y I) :
        I.IsPrime
        theorem Order.Ideal.isPrime_iff_mem_or_mem {P : Type u_1} [SemilatticeInf P] {I : Order.Ideal P} [I.IsProper] :
        I.IsPrime ∀ {x y : P}, x y Ix I y I
        @[instance 100]
        instance Order.Ideal.IsMaximal.isPrime {P : Type u_1} [DistribLattice P] {I : Order.Ideal P} [I.IsMaximal] :
        I.IsPrime
        theorem Order.Ideal.IsPrime.mem_or_compl_mem {P : Type u_1} [BooleanAlgebra P] {x : P} {I : Order.Ideal P} (hI : I.IsPrime) :
        x I x I
        theorem Order.Ideal.IsPrime.mem_compl_of_not_mem {P : Type u_1} [BooleanAlgebra P] {x : P} {I : Order.Ideal P} (hI : I.IsPrime) (hxnI : xI) :
        x I
        theorem Order.Ideal.isPrime_of_mem_or_compl_mem {P : Type u_1} [BooleanAlgebra P] {I : Order.Ideal P} [I.IsProper] (h : ∀ {x : P}, x I x I) :
        I.IsPrime
        theorem Order.Ideal.isPrime_iff_mem_or_compl_mem {P : Type u_1} [BooleanAlgebra P] {I : Order.Ideal P} [I.IsProper] :
        I.IsPrime ∀ {x : P}, x I x I
        @[instance 100]
        instance Order.Ideal.IsPrime.isMaximal {P : Type u_1} [BooleanAlgebra P] {I : Order.Ideal P} [I.IsPrime] :
        I.IsMaximal

        A filter F is prime if its complement is an ideal.

        Instances
          theorem Order.PFilter.isPrime_iff {P : Type u_1} [Preorder P] (F : Order.PFilter P) :
          F.IsPrime Order.IsIdeal (↑F)

          Create an element of type Order.Ideal.PrimePair from a filter satisfying the predicate Order.PFilter.IsPrime.

          Equations
          • h.toPrimePair = { I := .toIdeal, F := F, isCompl_I_F := }
          Instances For
            theorem Order.Ideal.PrimePair.F_isPrime {P : Type u_1} [Preorder P] (IF : Order.Ideal.PrimePair P) :
            IF.F.IsPrime