Documentation

LeanPool.SetTheory.Omega

The first infinite ordinal in models of ZF #

This module develops the theory of ω and the natural numbers inside a von Neumann model of ZF, providing the infinitary tools needed for the Kunen inconsistency argument.

def Set.toZFSet {A : ZFSet.{u_1}} (B : Set A) :

The toZFSet declaration.

Equations
Instances For
    @[simp]
    theorem Set.mem_toZFSet {A : ZFSet.{u_1}} (B : Set A) (x : ZFSet.{u_1}) :
    x B.toZFSet ∃ (hx : x A), x, hx B

    The IsWellFoundedRevMem declaration.

    Equations
    Instances For
      theorem SetTheory.IsWellFoundedRevMem.elementarity {M : Type 1} [sM : ZFStructure M] [cM₁ : IsVonNeumann M] {N : Type 1} [sN : ZFStructure N] [cN₁ : IsVonNeumann N] (x₁ : M) {F : Type u_1} [FunLike F M N] [ElementaryEmbeddingClass F M N] (j : F) :
      def SetTheory.MemOmega {M : Type 1} [ZFStructure M] [hM : IsVonNeumann M] (x : M) :

      The MemOmega declaration.

      Equations
      Instances For
        theorem SetTheory.MemOmega.elementarity {M : Type 1} [sM : ZFStructure M] [cM₁ : IsVonNeumann M] {N : Type 1} [sN : ZFStructure N] [cN₁ : IsVonNeumann N] (x₁ : M) {F : Type u_1} [FunLike F M N] [ElementaryEmbeddingClass F M N] (j : F) :
        MemOmega (j x₁) MemOmega x₁
        theorem SetTheory.forall_set {x : ZFSet.{u_1}} {p : Set xProp} :
        (∀ (y : Set x), p y) yx, p {z : x | z y}
        theorem SetTheory.IsWellFoundedRevMem.toZFSet {M : Type 1} [ZFStructure M] [hM : IsVonNeumann M] (x : M) :
        IsWellFoundedRevMem x IsWellFounded x fun (a b : x) => b a
        noncomputable def SetTheory.ωₛ :

        The ωₛ declaration.

        Equations
        Instances For
          @[implicit_reducible]
          noncomputable instance SetTheory.instNatCastM {M : Type 1} [ZFStructure M] [hM : IsVonNeumann M] :
          Equations
          • One or more equations did not get rendered due to their size.
          @[implicit_reducible]
          noncomputable instance SetTheory.instOfNatM {M : Type 1} [ZFStructure M] [hM : IsVonNeumann M] {n : } :
          OfNat M n
          Equations
          theorem SetTheory.NatCast.natCast.toZFSet {M : Type 1} [ZFStructure M] [hM : IsVonNeumann M] {n : } :
          n = (↑n).toZFSet
          theorem SetTheory.natCast_succ {M : Type 1} [ZFStructure M] [hM : IsVonNeumann M] {n : } :
          ↑(n + 1) = succ n
          theorem SetTheory.eq_natCast_of_mem_ωₛ {α : ZFSet.{u_1}} ( : α ωₛ) :
          ∃ (n : ), α = (↑n).toZFSet
          theorem SetTheory.nwf_rev_of_ωₛ_le {α : ZFSet.{0}} ( : ωₛ α) :
          ¬IsWellFounded α fun (x y : α) => y x
          theorem SetTheory.wf_rev_of_lt_ωₛ {α : ZFSet.{0}} ( : α ωₛ) :
          IsWellFounded α fun (x y : α) => y x
          theorem SetTheory.eq_natCast_of_memOmega {M : Type 1} [ZFStructure M] [hM : IsVonNeumann M] {α : M} ( : MemOmega α) :
          ∃ (n : ), α = n
          theorem SetTheory.ωₘ.eu {M₀ : Type 1} [ZFStructure M₀] [hM₀ : IsVonNeumannWithOmega M₀] :
          IsSet {n : M₀ | MemOmega n}
          noncomputable def SetTheory.ωₘ {M : Type 1} [sM : ZFStructure M] [cM₁ : IsVonNeumannWithOmega M] :
          M

          The set-theoretic function automatically realized from its defining property.

          Equations
          Instances For
            theorem SetTheory.ωₘ.elementarity {M : Type 1} [sM : ZFStructure M] [cM₁ : IsVonNeumannWithOmega M] {N : Type 1} [sN : ZFStructure N] [cN₁ : IsVonNeumannWithOmega N] {F : Type u_1} [FunLike F M N] [ElementaryEmbeddingClass F M N] (j : F) :
            theorem SetTheory.ωₘ.spec {M : Type 1} [sM : ZFStructure M] [cM₁ : IsVonNeumannWithOmega M] (y : M) :
            theorem SetTheory.ωₘ.eq_iff {M : Type 1} [sM : ZFStructure M] [cM₁ : IsVonNeumannWithOmega M] (v : M) :
            ωₘ = v ∀ (y : M), y v MemOmega y
            @[simp]
            theorem SetTheory.natCast_mem_ωₘ {M₀ : Type 1} [ZFStructure M₀] [hM₀ : IsVonNeumannWithOmega M₀] {n : } :
            n ωₘ
            @[simp]
            noncomputable def SetTheory.omegaEquiv {M₀ : Type 1} [ZFStructure M₀] [hM₀ : IsVonNeumannWithOmega M₀] :

            The omegaEquiv declaration.

            Equations
            Instances For
              @[implicit_reducible]
              noncomputable instance SetTheory.instOfNatOrdinals {M : Type 1} [ZFStructure M] [hM : IsVonNeumann M] {n : } :
              Equations