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 ↥x → Prop} :
        (∀ (y : Set ↥x), p y) ↔ ∀ y ⊆ x, p {z : ↥x | ↑z ∈ y}
        noncomputable def SetTheory.ωₛ :

        The ωₛ declaration.

        Equations
        Instances For
          @[instance_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.
          @[instance_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}} (hα : α ∈ ωₛ) :
          ∃ (n : ℕ), α = (↑n).toZFSet
          theorem SetTheory.nwf_rev_of_ωₛ_le {α : ZFSet.{0}} (hα : ωₛ ⊆ α) :
          ¬WellFounded fun (x y : ↥α) => y ∈ x
          theorem SetTheory.wf_rev_of_lt_ωₛ {α : ZFSet.{0}} (hα : α ∈ ωₛ) :
          WellFounded fun (x y : ↥α) => y ∈ x
          theorem SetTheory.eq_natCast_of_memOmega {M : Type 1} [ZFStructure M] [hM : IsVonNeumann M] {α : M} (hα : 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
              @[instance_reducible]
              noncomputable instance SetTheory.instOfNatOrdinals {M : Type 1} [ZFStructure M] [hM : IsVonNeumann M] {n : ℕ} :
              Equations