Documentation

Foundation.FirstOrder.SetTheory.Z

Zermelo set theory #

reference: Ralf Schindler, "Set Theory, Exploring Independence and Truth" [Sch14]

Axiom of extentionality #

theorem LO.FirstOrder.SetTheory.mem_ext_iff {V : Type u_1} [SetStructure V] [Nonempty V] [V↓[ℒₛₑₜ] ⊧* 𝗭] {x y : V} :
x = y ∀ (z : V), z x z y
theorem LO.FirstOrder.SetTheory.mem_ext {V : Type u_1} [SetStructure V] [Nonempty V] [V↓[ℒₛₑₜ] ⊧* 𝗭] {x y : V} :
(∀ (z : V), z x z y)x = y

Alias of the reverse direction of LO.FirstOrder.SetTheory.mem_ext_iff.

theorem LO.FirstOrder.SetTheory.subset_antisymm {V : Type u_1} [SetStructure V] [Nonempty V] [V↓[ℒₛₑₜ] ⊧* 𝗭] {x y : V} (hxy : x y) (hyx : y x) :
x = y
theorem LO.FirstOrder.SetTheory.SSubset.iff {V : Type u_1} [SetStructure V] [Nonempty V] [V↓[ℒₛₑₜ] ⊧* 𝗭] {x y : V} :
x y x y zy, zx
theorem LO.FirstOrder.SetTheory.SSubset.exists_not_mem {V : Type u_1} [SetStructure V] [Nonempty V] [V↓[ℒₛₑₜ] ⊧* 𝗭] {x y : V} (hxy : x y) :
zy, zx
theorem LO.FirstOrder.SetTheory.SSubset.of_subset_of_not_mem_of_mem {V : Type u_1} [SetStructure V] [Nonempty V] [V↓[ℒₛₑₜ] ⊧* 𝗭] {x y z : V} (ss : x y) (hzx : zx) (hzy : z y) :
x y

Axiom of empty set #

@[implicit_reducible]
Equations
Instances For

    Axiom of pairing #

    theorem LO.FirstOrder.SetTheory.pairing_exists {V : Type u_1} [SetStructure V] [Nonempty V] [V↓[ℒₛₑₜ] ⊧* 𝗭] (x y : V) :
    ∃ (z : V), ∀ (w : V), w z w = x w = y
    theorem LO.FirstOrder.SetTheory.pairing_existsUnique {V : Type u_1} [SetStructure V] [Nonempty V] [V↓[ℒₛₑₜ] ⊧* 𝗭] (x y : V) :
    ∃! z : V, ∀ (w : V), w z w = x w = y
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For

      Axiom of union #

      theorem LO.FirstOrder.SetTheory.union_exists {V : Type u_1} [SetStructure V] [Nonempty V] [V↓[ℒₛₑₜ] ⊧* 𝗭] (x : V) :
      ∃ (y : V), ∀ (z : V), z y wx, z w
      theorem LO.FirstOrder.SetTheory.union_existsUnique {V : Type u_1} [SetStructure V] [Nonempty V] [V↓[ℒₛₑₜ] ⊧* 𝗭] (x : V) :
      ∃! y : V, ∀ (z : V), z y wx, z w
      noncomputable def LO.FirstOrder.SetTheory.sUnion {V : Type u_1} [SetStructure V] [Nonempty V] [V↓[ℒₛₑₜ] ⊧* 𝗭] (x : V) :
      V
      Equations
      Instances For
        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          Equations
          • One or more equations did not get rendered due to their size.
          Instances For

            Union of two sets #

            @[implicit_reducible]
            Equations
            Instances For
              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                @[simp]

                Insert #

                noncomputable def LO.FirstOrder.SetTheory.insert {V : Type u_1} [SetStructure V] [Nonempty V] [V↓[ℒₛₑₜ] ⊧* 𝗭] (x y : V) :
                V
                Equations
                Instances For
                  @[implicit_reducible]
                  Equations
                  Instances For
                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For
                      @[simp]
                      theorem LO.FirstOrder.SetTheory.mem_insert {V : Type u_1} [SetStructure V] [Nonempty V] [V↓[ℒₛₑₜ] ⊧* 𝗭] {x y z : V} :
                      z insert x y z = x z y
                      @[simp]
                      @[simp]

                      Axiom of power set #

                      theorem LO.FirstOrder.SetTheory.power_exists {V : Type u_1} [SetStructure V] [Nonempty V] [V↓[ℒₛₑₜ] ⊧* 𝗭] (x : V) :
                      ∃ (y : V), ∀ (z : V), z y z x
                      noncomputable def LO.FirstOrder.SetTheory.power {V : Type u_1} [SetStructure V] [Nonempty V] [V↓[ℒₛₑₜ] ⊧* 𝗭] (x : V) :
                      V
                      Equations
                      Instances For
                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For

                          Aussonderungsaxiom #

                          theorem LO.FirstOrder.SetTheory.separation_exists {V : Type u_1} [SetStructure V] [Nonempty V] [V↓[ℒₛₑₜ] ⊧* 𝗭] (x : V) (P : VProp) (hP : ℒₛₑₜ-predicate P) :
                          ∃ (y : V), ∀ (z : V), z y z x P z
                          theorem LO.FirstOrder.SetTheory.separation_existsUnique {V : Type u_1} [SetStructure V] [Nonempty V] [V↓[ℒₛₑₜ] ⊧* 𝗭] (x : V) (P : VProp) (hP : ℒₛₑₜ-predicate P) :
                          ∃! y : V, ∀ (z : V), z y z x P z
                          noncomputable def LO.FirstOrder.SetTheory.sep {V : Type u_1} [SetStructure V] [Nonempty V] [V↓[ℒₛₑₜ] ⊧* 𝗭] (x : V) (P : VProp) (hP : ℒₛₑₜ-predicate P) :
                          V
                          Equations
                          Instances For
                            @[simp]
                            theorem LO.FirstOrder.SetTheory.mem_sep_iff {V : Type u_1} [SetStructure V] [Nonempty V] [V↓[ℒₛₑₜ] ⊧* 𝗭] {P : VProp} {hP : ℒₛₑₜ-predicate P} {z x : V} :
                            z sep x P hP z x P z
                            @[simp]
                            theorem LO.FirstOrder.SetTheory.sep_subset {V : Type u_1} [SetStructure V] [Nonempty V] [V↓[ℒₛₑₜ] ⊧* 𝗭] {P : VProp} {hP : ℒₛₑₜ-predicate P} {x : V} :
                            sep x P hP x

                            Set-builder notation.

                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For
                              Equations
                              • One or more equations did not get rendered due to their size.
                              Instances For
                                Equations
                                • One or more equations did not get rendered due to their size.
                                Instances For

                                  Intersection #

                                  noncomputable def LO.FirstOrder.SetTheory.sInter {V : Type u_1} [SetStructure V] [Nonempty V] [V↓[ℒₛₑₜ] ⊧* 𝗭] (x : V) :
                                  V
                                  Equations
                                  Instances For
                                    Equations
                                    • One or more equations did not get rendered due to their size.
                                    Instances For
                                      Equations
                                      • One or more equations did not get rendered due to their size.
                                      Instances For
                                        @[simp]

                                        Intersection of two sets #

                                        noncomputable def LO.FirstOrder.SetTheory.inter {V : Type u_1} [SetStructure V] [Nonempty V] [V↓[ℒₛₑₜ] ⊧* 𝗭] (x y : V) :
                                        V
                                        Equations
                                        Instances For
                                          @[simp]
                                          Equations
                                          • One or more equations did not get rendered due to their size.
                                          Instances For
                                            @[simp]
                                            theorem LO.FirstOrder.SetTheory.intsert_inter_of_mem {V : Type u_1} [SetStructure V] [Nonempty V] [V↓[ℒₛₑₜ] ⊧* 𝗭] (x y z : V) (hx : x z) :
                                            insert x y z = insert x (y z)
                                            @[simp]
                                            theorem LO.FirstOrder.SetTheory.intsert_inter_of_not_mem {V : Type u_1} [SetStructure V] [Nonempty V] [V↓[ℒₛₑₜ] ⊧* 𝗭] (x y z : V) (hx : xz) :
                                            insert x y z = y z
                                            @[simp]

                                            Set difference #

                                            noncomputable def LO.FirstOrder.SetTheory.sdiff {V : Type u_1} [SetStructure V] [Nonempty V] [V↓[ℒₛₑₜ] ⊧* 𝗭] (x y : V) :
                                            V
                                            Equations
                                            Instances For
                                              theorem LO.FirstOrder.SetTheory.sdiff_def {V : Type u_1} [SetStructure V] [Nonempty V] [V↓[ℒₛₑₜ] ⊧* 𝗭] (x y : V) :
                                              x \ y = sep x (fun (z : V) => zy)
                                              @[simp]
                                              theorem LO.FirstOrder.SetTheory.mem_sdiff_iff {V : Type u_1} [SetStructure V] [Nonempty V] [V↓[ℒₛₑₜ] ⊧* 𝗭] {x y z : V} :
                                              z x \ y z x zy
                                              Equations
                                              • One or more equations did not get rendered due to their size.
                                              Instances For
                                                @[simp]
                                                @[simp]
                                                theorem LO.FirstOrder.SetTheory.insert_sdiff_of_mem {V : Type u_1} [SetStructure V] [Nonempty V] [V↓[ℒₛₑₜ] ⊧* 𝗭] {x y z : V} (hx : x z) :
                                                insert x y \ z = y \ z
                                                @[simp]
                                                theorem LO.FirstOrder.SetTheory.insert_sdiff_of_not_mem {V : Type u_1} [SetStructure V] [Nonempty V] [V↓[ℒₛₑₜ] ⊧* 𝗭] {x y z : V} (hx : xz) :
                                                insert x y \ z = insert x (y \ z)

                                                Kuratowski's ordered pair #

                                                noncomputable def LO.FirstOrder.SetTheory.kpair {V : Type u_1} [SetStructure V] [Nonempty V] [V↓[ℒₛₑₜ] ⊧* 𝗭] (x y : V) :
                                                V
                                                Equations
                                                Instances For

                                                  ⟨x, y, z, ...⟩ₖ notation for kpair

                                                  Equations
                                                  • One or more equations did not get rendered due to their size.
                                                  Instances For
                                                    Equations
                                                    • One or more equations did not get rendered due to their size.
                                                    Instances For
                                                      noncomputable def LO.FirstOrder.SetTheory.kpair.π₂ {V : Type u_1} [SetStructure V] [Nonempty V] [V↓[ℒₛₑₜ] ⊧* 𝗭] (z : V) :
                                                      V
                                                      Equations
                                                      Instances For
                                                        Equations
                                                        • One or more equations did not get rendered due to their size.
                                                        Instances For
                                                          Equations
                                                          • One or more equations did not get rendered due to their size.
                                                          Instances For
                                                            Equations
                                                            • One or more equations did not get rendered due to their size.
                                                            Instances For
                                                              theorem LO.FirstOrder.SetTheory.kpair_inj {V : Type u_1} [SetStructure V] [Nonempty V] [V↓[ℒₛₑₜ] ⊧* 𝗭] {x₁ x₂ y₁ y₂ : V} :
                                                              x₁, y₁⟩ₖ = x₂, y₂⟩ₖx₁ = x₂ y₁ = y₂
                                                              @[simp]
                                                              theorem LO.FirstOrder.SetTheory.kpair_iff {V : Type u_1} [SetStructure V] [Nonempty V] [V↓[ℒₛₑₜ] ⊧* 𝗭] {x₁ x₂ y₁ y₂ : V} :
                                                              x₁, y₁⟩ₖ = x₂, y₂⟩ₖ x₁ = x₂ y₁ = y₂

                                                              Product #

                                                              noncomputable def LO.FirstOrder.SetTheory.prod {V : Type u_1} [SetStructure V] [Nonempty V] [V↓[ℒₛₑₜ] ⊧* 𝗭] (X Y : V) :
                                                              V
                                                              Equations
                                                              Instances For
                                                                Equations
                                                                • One or more equations did not get rendered due to their size.
                                                                Instances For
                                                                  theorem LO.FirstOrder.SetTheory.mem_prod_iff {V : Type u_1} [SetStructure V] [Nonempty V] [V↓[ℒₛₑₜ] ⊧* 𝗭] {X Y z : V} :
                                                                  z X ×ˢ Y xX, yY, z = x, y⟩ₖ
                                                                  Equations
                                                                  • One or more equations did not get rendered due to their size.
                                                                  Instances For
                                                                    theorem LO.FirstOrder.SetTheory.prod_subset_prod_of_subset {V : Type u_1} [SetStructure V] [Nonempty V] [V↓[ℒₛₑₜ] ⊧* 𝗭] {X₁ X₂ Y₁ Y₂ : V} (hX : X₁ X₂) (hY : Y₁ Y₂) :
                                                                    X₁ ×ˢ Y₁ X₂ ×ˢ Y₂
                                                                    theorem LO.FirstOrder.SetTheory.union_prod {V : Type u_1} [SetStructure V] [Nonempty V] [V↓[ℒₛₑₜ] ⊧* 𝗭] (x y z : V) :
                                                                    x y ×ˢ z = (x ×ˢ z) (y ×ˢ z)

                                                                    Axiom of infinity #

                                                                    noncomputable def LO.FirstOrder.SetTheory.succ {V : Type u_1} [SetStructure V] [Nonempty V] [V↓[ℒₛₑₜ] ⊧* 𝗭] (x : V) :
                                                                    V
                                                                    Equations
                                                                    Instances For
                                                                      Equations
                                                                      • One or more equations did not get rendered due to their size.
                                                                      Instances For
                                                                        theorem LO.FirstOrder.SetTheory.omega_existsUnique {V : Type u_1} [SetStructure V] [Nonempty V] [V↓[ℒₛₑₜ] ⊧* 𝗭] :
                                                                        ∃! ω : V, ∀ (x : V), x ω ∀ (I : V), IsInductive Ix I
                                                                        Equations
                                                                        • One or more equations did not get rendered due to their size.
                                                                        Instances For
                                                                          @[implicit_reducible]
                                                                          Equations
                                                                          Instances For
                                                                            @[simp]
                                                                            theorem LO.FirstOrder.SetTheory.naturalNumber_induction {V : Type u_1} [SetStructure V] [Nonempty V] [V↓[ℒₛₑₜ] ⊧* 𝗭] (P : VProp) (hP : ℒₛₑₜ-predicate P) (zero : P 0) (succ : xω, P xP (succ x)) (x : V) :
                                                                            x ωP x

                                                                            Axiom of foundation #

                                                                            theorem LO.FirstOrder.SetTheory.foundation {V : Type u_1} [SetStructure V] [Nonempty V] [V↓[ℒₛₑₜ] ⊧* 𝗭] (x : V) [IsNonempty x] :
                                                                            yx, zx, zy
                                                                            @[simp]
                                                                            theorem LO.FirstOrder.SetTheory.mem_asymm {V : Type u_1} [SetStructure V] [Nonempty V] [V↓[ℒₛₑₜ] ⊧* 𝗭] {x y : V} :
                                                                            x yyx
                                                                            theorem LO.FirstOrder.SetTheory.mem_asymm₃ {V : Type u_1} [SetStructure V] [Nonempty V] [V↓[ℒₛₑₜ] ⊧* 𝗭] {x y z : V} :
                                                                            x yy zzx