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
    @[simp]
    theorem LO.FirstOrder.SetTheory.not_mem_empty {V : Type u_1} [SetStructure V] [Nonempty V] [V ⊧ₘ* 𝗭] {x : V} :
    x
    @[simp]

    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
    noncomputable def LO.FirstOrder.SetTheory.doubleton {V : Type u_1} [SetStructure V] [Nonempty V] [V ⊧ₘ* 𝗭] (x y : V) :
    V
    Equations
    Instances For
      @[simp]
      theorem LO.FirstOrder.SetTheory.mem_doubleton_iff {V : Type u_1} [SetStructure V] [Nonempty V] [V ⊧ₘ* 𝗭] {x y z : V} :
      z doubleton x y z = x z = y
      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.mem_singleton_iff {V : Type u_1} [SetStructure V] [Nonempty V] [V ⊧ₘ* 𝗭] {x z : V} :
          z {x} z = x
          @[simp]
          theorem LO.FirstOrder.SetTheory.singleton_ext_iff {V : Type u_1} [SetStructure V] [Nonempty V] [V ⊧ₘ* 𝗭] {x y : V} :
          {x} = {y} x = y

          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
              theorem LO.FirstOrder.SetTheory.mem_sUnion_iff {V : Type u_1} [SetStructure V] [Nonempty V] [V ⊧ₘ* 𝗭] {x z : V} :
              z ⋃ˢ x yx, z y
              Equations
              • One or more equations did not get rendered due to their size.
              Instances For

                Union of two sets #

                @[implicit_reducible]
                noncomputable def LO.FirstOrder.SetTheory.instUnion {V : Type u_1} [SetStructure V] [Nonempty V] [V ⊧ₘ* 𝗭] :
                Equations
                Instances For
                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For
                    @[simp]
                    theorem LO.FirstOrder.SetTheory.mem_union_iff {V : Type u_1} [SetStructure V] [Nonempty V] [V ⊧ₘ* 𝗭] {x y z : V} :
                    z x y z x z y
                    @[simp]
                    theorem LO.FirstOrder.SetTheory.union_self_eq {V : Type u_1} [SetStructure V] [Nonempty V] [V ⊧ₘ* 𝗭] (x : V) :
                    x x = x
                    theorem LO.FirstOrder.SetTheory.union_comm {V : Type u_1} [SetStructure V] [Nonempty V] [V ⊧ₘ* 𝗭] (x y : V) :
                    x y = y x
                    theorem LO.FirstOrder.SetTheory.union_assoc {V : Type u_1} [SetStructure V] [Nonempty V] [V ⊧ₘ* 𝗭] (x y z : V) :
                    x y z = x (y z)
                    @[simp]
                    @[simp]
                    @[simp]
                    @[simp]
                    @[simp]
                    theorem LO.FirstOrder.SetTheory.union_eq_iff_right {V : Type u_1} [SetStructure V] [Nonempty V] [V ⊧ₘ* 𝗭] {x y : V} :
                    x y = x y x
                    @[simp]
                    theorem LO.FirstOrder.SetTheory.union_eq_iff_left {V : Type u_1} [SetStructure V] [Nonempty V] [V ⊧ₘ* 𝗭] {x y : V} :
                    x y = y x y

                    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]
                      noncomputable def LO.FirstOrder.SetTheory.instInsert {V : Type u_1} [SetStructure V] [Nonempty V] [V ⊧ₘ* 𝗭] :
                      Insert V V
                      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
                          theorem LO.FirstOrder.SetTheory.union_insert {V : Type u_1} [SetStructure V] [Nonempty V] [V ⊧ₘ* 𝗭] {z : V} (x y : V) :
                          x insert y z = insert y (x z)
                          @[simp]
                          @[simp]
                          theorem LO.FirstOrder.SetTheory.subset_insert {V : Type u_1} [SetStructure V] [Nonempty V] [V ⊧ₘ* 𝗭] (x y : V) :
                          y insert x y
                          @[simp]
                          theorem LO.FirstOrder.SetTheory.intsert_union {V : Type u_1} [SetStructure V] [Nonempty V] [V ⊧ₘ* 𝗭] (x y z : V) :
                          insert x y z = insert x (y z)
                          @[simp]
                          @[simp]
                          theorem LO.FirstOrder.SetTheory.insert_eq_self_of_mem {V : Type u_1} [SetStructure V] [Nonempty V] [V ⊧ₘ* 𝗭] {x y : V} (hx : x y) :
                          insert x y = y

                          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
                          theorem LO.FirstOrder.SetTheory.power_existsUnique {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
                            @[simp]
                            theorem LO.FirstOrder.SetTheory.mem_power_iff {V : Type u_1} [SetStructure V] [Nonempty V] [V ⊧ₘ* 𝗭] {x z : V} :
                            z x z x
                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For
                              @[simp]

                              Aussonderungsaxiom #

                              theorem LO.FirstOrder.SetTheory.separation_exists_eval {V : Type u_1} [SetStructure V] [Nonempty V] [V ⊧ₘ* 𝗭] (x : V) (φ : Semiformula ℒₛₑₜ V 1) :
                              ∃ (y : V), ∀ (z : V), z y z x (Semiformula.Evalm V ![z] id) φ
                              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]
                                @[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
                                          theorem LO.FirstOrder.SetTheory.mem_sInter_iff {V : Type u_1} [SetStructure V] [Nonempty V] [V ⊧ₘ* 𝗭] {z x : V} :
                                          z ⋂ˢ x IsNonempty x yx, z y
                                          Equations
                                          • One or more equations did not get rendered due to their size.
                                          Instances For
                                            @[simp]
                                            theorem LO.FirstOrder.SetTheory.mem_sInter_iff_of_nonempty {V : Type u_1} [SetStructure V] [Nonempty V] [V ⊧ₘ* 𝗭] {z x : V} [hx : IsNonempty x] :
                                            z ⋂ˢ x yx, z y
                                            @[simp]
                                            theorem LO.FirstOrder.SetTheory.subset_sInter_iff_of_nonempty {V : Type u_1} [SetStructure V] [Nonempty V] [V ⊧ₘ* 𝗭] {x y : V} [IsNonempty y] :
                                            x ⋂ˢ y zy, x z

                                            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
                                              @[implicit_reducible]
                                              noncomputable instance LO.FirstOrder.SetTheory.instInter {V : Type u_1} [SetStructure V] [Nonempty V] [V ⊧ₘ* 𝗭] :
                                              Equations
                                              @[simp]
                                              theorem LO.FirstOrder.SetTheory.mem_inter_iff {V : Type u_1} [SetStructure V] [Nonempty V] [V ⊧ₘ* 𝗭] {x y z : V} :
                                              z x y z x z y
                                              Equations
                                              • One or more equations did not get rendered due to their size.
                                              Instances For
                                                @[simp]
                                                theorem LO.FirstOrder.SetTheory.inter_self {V : Type u_1} [SetStructure V] [Nonempty V] [V ⊧ₘ* 𝗭] (x : V) :
                                                x x = x
                                                theorem LO.FirstOrder.SetTheory.inter_comm {V : Type u_1} [SetStructure V] [Nonempty V] [V ⊧ₘ* 𝗭] (x y : V) :
                                                x y = y x
                                                theorem LO.FirstOrder.SetTheory.inter_assoc {V : Type u_1} [SetStructure V] [Nonempty V] [V ⊧ₘ* 𝗭] (x y z : V) :
                                                x y z = x (y z)
                                                @[simp]
                                                @[simp]
                                                @[simp]
                                                theorem LO.FirstOrder.SetTheory.sInter_insert {V : Type u_1} [SetStructure V] [Nonempty V] [V ⊧ₘ* 𝗭] (x y : V) [hy : IsNonempty y] :
                                                @[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]
                                                theorem LO.FirstOrder.SetTheory.singleton_inter_of_mem {V : Type u_1} [SetStructure V] [Nonempty V] [V ⊧ₘ* 𝗭] {x y : V} (hx : x y) :
                                                {x} y = {x}
                                                @[simp]
                                                theorem LO.FirstOrder.SetTheory.singleton_inter_of_not_mem {V : Type u_1} [SetStructure V] [Nonempty V] [V ⊧ₘ* 𝗭] {x y : V} (hx : xy) :
                                                {x} y =

                                                Set difference #

                                                noncomputable def LO.FirstOrder.SetTheory.sdiff {V : Type u_1} [SetStructure V] [Nonempty V] [V ⊧ₘ* 𝗭] (x y : V) :
                                                V
                                                Equations
                                                Instances For
                                                  @[implicit_reducible]
                                                  noncomputable instance LO.FirstOrder.SetTheory.instSDiff {V : Type u_1} [SetStructure V] [Nonempty V] [V ⊧ₘ* 𝗭] :
                                                  Equations
                                                  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]
                                                    theorem LO.FirstOrder.SetTheory.sdiff_empty {V : Type u_1} [SetStructure V] [Nonempty V] [V ⊧ₘ* 𝗭] (x : V) :
                                                    x \ = x
                                                    @[simp]
                                                    @[simp]
                                                    theorem LO.FirstOrder.SetTheory.singleton_sdiff_of_mem {V : Type u_1} [SetStructure V] [Nonempty V] [V ⊧ₘ* 𝗭] {x z : V} (hx : x z) :
                                                    {x} \ z =
                                                    @[simp]
                                                    theorem LO.FirstOrder.SetTheory.singleton_sdiff_of_not_mem {V : Type u_1} [SetStructure V] [Nonempty V] [V ⊧ₘ* 𝗭] {x z : V} (hx : xz) :
                                                    {x} \ z = {x}
                                                    @[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
                                                            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
                                                                          @[simp]
                                                                          @[simp]
                                                                          @[simp]
                                                                          theorem LO.FirstOrder.SetTheory.kpair_mem_iff {V : Type u_1} [SetStructure V] [Nonempty V] [V ⊧ₘ* 𝗭] {x y X Y : V} :
                                                                          x, y⟩ₖ X ×ˢ Y x X y Y
                                                                          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
                                                                            theorem LO.FirstOrder.SetTheory.mem_succ_iff {V : Type u_1} [SetStructure V] [Nonempty V] [V ⊧ₘ* 𝗭] {x y : V} :
                                                                            y succ x y = x y x
                                                                            @[simp]
                                                                            @[simp]
                                                                            Equations
                                                                            • One or more equations did not get rendered due to their size.
                                                                            Instances For
                                                                              theorem LO.FirstOrder.SetTheory.IsInductive.succ {V : Type u_1} [SetStructure V] [Nonempty V] [V ⊧ₘ* 𝗭] {I : V} (hI : IsInductive I) {x : V} (hx : x I) :
                                                                              theorem LO.FirstOrder.SetTheory.omega_existsUnique {V : Type u_1} [SetStructure V] [Nonempty V] [V ⊧ₘ* 𝗭] :
                                                                              ∃! ω : V, ∀ (x : V), x ω ∀ (I : V), IsInductive Ix I
                                                                              noncomputable def LO.FirstOrder.SetTheory.ω {V : Type u_1} [SetStructure V] [Nonempty V] [V ⊧ₘ* 𝗭] :
                                                                              V
                                                                              Equations
                                                                              Instances For
                                                                                Equations
                                                                                • One or more equations did not get rendered due to their size.
                                                                                Instances For
                                                                                  @[simp]
                                                                                  @[implicit_reducible]
                                                                                  noncomputable def LO.FirstOrder.SetTheory.instOfNat {V : Type u_1} [SetStructure V] [Nonempty V] [V ⊧ₘ* 𝗭] (n : ) :
                                                                                  OfNat V n
                                                                                  Equations
                                                                                  Instances For
                                                                                    @[implicit_reducible]
                                                                                    Equations
                                                                                    Instances For
                                                                                      theorem LO.FirstOrder.SetTheory.num_succ_def {V : Type u_1} [SetStructure V] [Nonempty V] [V ⊧ₘ* 𝗭] (n : ) :
                                                                                      ↑(n + 1) = succ n
                                                                                      @[simp]
                                                                                      @[simp]
                                                                                      theorem LO.FirstOrder.SetTheory.mem_two_iff {V : Type u_1} [SetStructure V] [Nonempty V] [V ⊧ₘ* 𝗭] (x : V) :
                                                                                      x 2 x = 0 x = 1
                                                                                      @[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
                                                                                      theorem LO.FirstOrder.SetTheory.foundation' {V : Type u_1} [SetStructure V] [Nonempty V] [V ⊧ₘ* 𝗭] (x : V) [IsNonempty x] :
                                                                                      yx, x y =
                                                                                      @[simp]
                                                                                      theorem LO.FirstOrder.SetTheory.mem_irrefl {V : Type u_1} [SetStructure V] [Nonempty V] [V ⊧ₘ* 𝗭] (x : V) :
                                                                                      xx
                                                                                      theorem LO.FirstOrder.SetTheory.ne_of_mem {V : Type u_1} [SetStructure V] [Nonempty V] [V ⊧ₘ* 𝗭] {x y : V} :
                                                                                      x yx y
                                                                                      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
                                                                                      @[simp]
                                                                                      theorem LO.FirstOrder.SetTheory.ne_succ {V : Type u_1} [SetStructure V] [Nonempty V] [V ⊧ₘ* 𝗭] (x : V) :
                                                                                      x succ x