Documentation

LeanPool.FoZfc.Axioms

Axioms of ZF except Replacement. #

Main Definitions #

Main Statements #

Notations #

theorem FirstOrder.Language.Term.liftAt_zero {n m : } (t : LZFC.Term ( Fin n)) :
liftAt 0 m t = t

Term.liftAt 0 m t = t for any term t.

liftAt 0 m ϕ = ϕ for any bounded formula ϕ.

Specialization of makeTsN to a single bv'' n.

Specialization of makeTsN to two arbitrary terms t₁, t₂.

Specialization of makeTsN to ![bv'' n, bv'' (n+1)] with three snocs.

General makeTsN realization in terms of replaceInitialValues.

Realization of a conditional bv'' term across two snocs collapses to replaceInitialValues s ![a].

Describe tht the given term is an emptyset.

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

    Describe a is an emptyset.

    Equations
    Instances For

      Model of Set Theory with an emptyset.

      Instances
        @[simp]
        theorem FirstOrder.ZFC.realize_is_emptyset' {V : Type u} [ModelEmptyset V] {n : } (s : V) (xs : Fin nV) :
        @[simp]
        theorem FirstOrder.ZFC.ext_emptyset_exists {V : Type u} [ModelEmptyset V] :
        ∃ (emp : V), ExtIsEmptyset emp

        The emptyset exists.

        theorem FirstOrder.ZFC.ext_emptyset_unique {V : Type u} [ModelEmptyset V] {a b : V} :
        ExtIsEmptyset aExtIsEmptyset ba = b

        The emptyset is unique.

        theorem FirstOrder.ZFC.int_emptyset_unique {V : Type u} [ModelEmptyset V] {n : } {s : V} {xs : Fin nV} :

        The emptyset is unique internally.

        Describe fv 2 is an unordered pair of fv 0 and fv 1.

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

          Describe t₃ is an unordered pair of t₁ and t₂.

          Equations
          Instances For

            Model with a pairing axiom.

            Instances

              Describe b is a singleton of a.

              Equations
              Instances For
                def FirstOrder.ZFC.ExtIsPair {V : Type u} [ModelPairing V] (a b c : V) :

                Describe c is an unordered pair of a and b.

                Equations
                Instances For
                  @[simp]
                  theorem FirstOrder.ZFC.realize_is_singleton {V : Type u} [ModelPairing V] {n : } (s : V) (xs : Fin nV) :
                  @[simp]
                  theorem FirstOrder.ZFC.realize_is_singleton' {V : Type u} [ModelPairing V] {n : } (s : V) (xs : Fin nV) (t₁ t₂ : Language.LZFC.Term ( Fin n)) :
                  @[simp]
                  theorem FirstOrder.ZFC.realize_is_pair {V : Type u} [ModelPairing V] {n : } (s : V) (xs : Fin nV) :
                  intIsPair.Realize s xs ExtIsPair (s 0) (s 1) (s 2)
                  theorem FirstOrder.ZFC.ext_pairing {V : Type u} [ModelPairing V] (a b : V) :
                  ∃ (c : V), ExtIsPair a b c

                  Pairing Axiom described externally.

                  theorem FirstOrder.ZFC.ext_singleton_unique {V : Type u} [ModelPairing V] {a b b' : V} :
                  ExtIsSingleton a bExtIsSingleton a b'b = b'

                  The singleton is unique.

                  theorem FirstOrder.ZFC.ext_singleton_inj {V : Type u} [ModelPairing V] {a a' b : V} :
                  ExtIsSingleton a bExtIsSingleton a' ba = a'

                  {a} = {b} implies a = b.

                  {a, a} = {a}.

                  theorem FirstOrder.ZFC.ext_pair_unique {V : Type u} [ModelPairing V] {a b c c' : V} :
                  ExtIsPair a b cExtIsPair a b c'c = c'

                  The unordered pair is unique.

                  theorem FirstOrder.ZFC.ext_pairing_inj {V : Type u} [ModelPairing V] {a b a' b' c : V} :
                  ExtIsPair a b cExtIsPair a' b' ca = a' b = b' a = b' b = a'

                  Pairing is injective up to ordering.

                  theorem FirstOrder.ZFC.ext_singleton {V : Type u} [ModelPairing V] (a : V) :
                  ∃ (b : V), ExtIsSingleton a b

                  Every element has a singleton.

                  theorem FirstOrder.ZFC.singleton_eq_pair {V : Type u} [ModelPairing V] {a b c x : V} :
                  ExtIsSingleton a xExtIsPair b c xa = b a = c

                  {a} = {b, c} implies a=b=c.

                  Describe fv 2 is an ordered pair of fv 0 and fv 1.

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

                    Describe c is an ordered pair of a and b.

                    Equations
                    Instances For
                      @[simp]
                      theorem FirstOrder.ZFC.realize_is_ordered_pair {V : Type u} [ModelPairing V] {n : } (s : V) (xs : Fin nV) :
                      theorem FirstOrder.ZFC.ext_ordered_pair {V : Type u} [ModelPairing V] (a b : V) :
                      ∃ (c : V), ExtIsOrderedPair a b c

                      The ordered pair exists.

                      theorem FirstOrder.ZFC.ext_ordered_pair_unique {V : Type u} [ModelPairing V] (a b c c' : V) :
                      ExtIsOrderedPair a b cExtIsOrderedPair a b c'c = c'

                      The ordered pair is unique.

                      theorem FirstOrder.ZFC.ext_ordered_pair_inj {V : Type u} [ModelPairing V] (a b a' b' c : V) :
                      ExtIsOrderedPair a b cExtIsOrderedPair a' b' ca = a' b = b'

                      The ordered pair is injective.

                      theorem FirstOrder.ZFC.int_ordered_pair_inj {V : Type u} [ModelPairing V] (s : V) (xs : Fin 0V) :

                      The ordered pair is injective internally.

                      Model with both emptyset and pairing.

                      Instances
                        theorem FirstOrder.ZFC.ext_singleton_of_emptyset {V : Type u} [ModelEP V] (e : V) :
                        ExtIsEmptyset e∃ (a : V), ExtIsSingleton e a

                        A singleton can be formed for any emptyset element.

                        A singleton can be formed for the emptyset internally.

                        Describe fv 1 is the union of fv 0 (in the set-theoretic sense).

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

                          Describe t₂ is the union of t₁ (in the set-theoretic sense).

                          Equations
                          Instances For
                            def FirstOrder.ZFC.ExtIsUnion {V : Type u} [ModelSets V] (a b : V) :

                            Desdribe b is an union of a.

                            Equations
                            Instances For

                              Model with the Union axiom.

                              Instances

                                Model with emptyset, pairing, and union.

                                Instances
                                  @[simp]
                                  theorem FirstOrder.ZFC.realize_is_union {V : Type u} [ModelUnion V] {n : } (s : V) (xs : Fin nV) :
                                  intIsUnion.Realize s xs ExtIsUnion (s 0) (s 1)
                                  theorem FirstOrder.ZFC.union_of_ordered_pair {V : Type u} [ModelEPU V] {a b c d : V} :
                                  ExtIsOrderedPair a b cExtIsUnion c dExtIsPair a b d

                                  The union of (a, b) equals {a, b}.

                                  The union of (a, b) equals {a, b} internally.

                                  Make a formula t1 ⊆ t2.

                                  Equations
                                  Instances For

                                    Make a formula t1 ⊈ t2.

                                    Equations
                                    Instances For

                                      Make a formula t1 ⊈ t2.

                                      Equations
                                      Instances For
                                        def FirstOrder.ZFC.ExtIsSubset {V : Type u} [ModelSets V] (a b : V) :

                                        a is a subset of b.

                                        Equations
                                        Instances For

                                          a is not a subset of b.

                                          Equations
                                          Instances For

                                            a is not a subset of b.

                                            Equations
                                            Instances For

                                              Make a formula that fv 0 is a subset of fv 1.

                                              Equations
                                              • One or more equations did not get rendered due to their size.
                                              Instances For
                                                def FirstOrder.ZFC.ExtIsPowerset {V : Type u} [ModelSets V] (a b : V) :

                                                Describe b is a powerset of a.

                                                Equations
                                                Instances For

                                                  Model with the Powerset Axiom.

                                                  Instances

                                                    Model with emptyset, pairing, union, and powerset.

                                                    Instances
                                                      @[simp]
                                                      theorem FirstOrder.ZFC.realize_is_subset {V : Type u} [ModelPowerset V] {n : } (s : V) (xs : Fin nV) :
                                                      intIsSubset.Realize s xs s 0 s 1
                                                      @[simp]
                                                      theorem FirstOrder.ZFC.realize_is_subset' {V : Type u} [ModelPowerset V] {n : } (s : V) (xs : Fin nV) (t₁ t₂ : Language.LZFC.Term ( Fin n)) :
                                                      @[simp]
                                                      theorem FirstOrder.ZFC.realize_is_powerset {V : Type u} [ModelPowerset V] {n : } (s : V) (xs : Fin nV) :
                                                      @[simp]
                                                      theorem FirstOrder.ZFC.realize_is_powerset' {V : Type u} [ModelPowerset V] {n : } (s : V) (xs : Fin nV) (t₁ t₂ : Language.LZFC.Term ( Fin n)) :
                                                      theorem FirstOrder.ZFC.subset_self {V : Type u} [ModelEPUP V] (a : V) :
                                                      a a

                                                      Every set is a subset of itself.

                                                      theorem FirstOrder.ZFC.int_subset_self {V : Type u} [ModelEPUP V] {s : V} {xs : Fin 0V} :
                                                      (bv 1 0 ⊆' bv 1 0).all.Realize s xs

                                                      Every set is a subset of itself internally.

                                                      theorem FirstOrder.ZFC.powerset_of_emptyset {V : Type u} [ModelEPUP V] (emp a : V) :

                                                      P(∅)={∅}

                                                      theorem FirstOrder.ZFC.int_powerset_of_emptyset {V : Type u} [ModelEPUP V] {s : V} {xs : Fin 0V} :

                                                      P(∅)={∅} internally.

                                                      Make a formula for fv 1 is a successor of fv 0.

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

                                                        Externally, b is a successor of a.

                                                        Equations
                                                        Instances For
                                                          @[simp]
                                                          theorem FirstOrder.ZFC.realize_is_successor {V : Type u} [ModelPowerset V] {n : } (s : V) (xs : Fin nV) :
                                                          @[simp]
                                                          theorem FirstOrder.ZFC.realize_is_successor' {V : Type u} [ModelPowerset V] {n : } (s : V) (xs : Fin nV) (t₁ t₂ : Language.LZFC.Term ( Fin n)) :

                                                          Make a formula for fv 0 is inductive, i.e., ∅∈fv 0 and x∈fv 0 implies S(x)∈fv 0.

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

                                                            Describe a is inductive.

                                                            Equations
                                                            Instances For
                                                              @[simp]
                                                              theorem FirstOrder.ZFC.realize_is_inductive {V : Type u} [ModelEPUP V] {n : } (s : V) (xs : Fin nV) :
                                                              @[simp]
                                                              theorem FirstOrder.ZFC.ext_emp_in_inductive {V : Type u} [ModelEPUP V] {emp a : V} :
                                                              ExtIsEmptyset empExtIsInductive aemp a

                                                              ∅ belongs to every inductive set.

                                                              theorem FirstOrder.ZFC.ext_inductive_one_step {V : Type u} [ModelEPUP V] {a y : V} (x : V) :
                                                              ExtIsInductive ax aExtIsSuccessor x yy a

                                                              If a is inductive and x∈a, then S(x)∈a.

                                                              Model with the Infinity axiom.

                                                              Instances

                                                                Model with emptyset, pairing, union, powerset, and infinity.

                                                                Instances

                                                                  The exitetence of an infinite set described externally.

                                                                  Make a formula for the Regularity Axiom.

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

                                                                    Model with the Regularity Axiom.

                                                                    Instances

                                                                      Model with emptyset, pairing, union, powerset, infinity, and regularity.

                                                                      Instances
                                                                        theorem FirstOrder.ZFC.ExtRegularity {V : Type u} [ModelEPUPIR V] (a : V) :
                                                                        (∃ (b : V), b a)∃ (b : V), b a ∀ (c : V), c ac b

                                                                        The Regularity axiom described externally.

                                                                        theorem FirstOrder.ZFC.no_loop {V : Type u} [ModelEPUPIR V] (a : V) :
                                                                        a a

                                                                        No set satisfies a∈a.

                                                                        theorem FirstOrder.ZFC.int_no_loop {V : Type u} [ModelEPUPIR V] {n : } (s : V) (xs : Fin nV) :
                                                                        (ϕnotElt (bv'' n) (bv'' n)).all.Realize s xs

                                                                        No set satisfies a∈a internally.

                                                                        t = {x∈(bv n) : ϕ}.

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

                                                                          Generalized separation formula: t₂ = {x ∈ t₁ : ϕ} lifted by n'.

                                                                          Equations
                                                                          • One or more equations did not get rendered due to their size.
                                                                          Instances For
                                                                            def FirstOrder.ZFC.ExtIsSeparation {V : Type u} [ModelSets V] {n : } (s : V) (xs : Fin nV) (ϕ : Language.LZFC.BoundedFormula n) (a b : V) :

                                                                            Externally, b = {x ∈ a : ϕ}.

                                                                            Equations
                                                                            Instances For
                                                                              @[simp]
                                                                              theorem FirstOrder.ZFC.realize_separation {V : Type u} [ModelSets V] {n : } (s : V) (xs : Fin nV) (ϕ : Language.LZFC.BoundedFormula n) :
                                                                              (intIsSeparation ϕ).Realize s xs ExtIsSeparation s xs ϕ (s 0) (s 1)
                                                                              @[simp]
                                                                              theorem FirstOrder.ZFC.realize_separation'_no_lift {V : Type u} [ModelSets V] {n : } (ϕ : Language.LZFC.BoundedFormula n) (t₁ t₂ : Language.LZFC.Term ( Fin n)) (s : V) (xs : Fin nV) :
                                                                              @[simp]
                                                                              theorem FirstOrder.ZFC.realize_separation'_lift {V : Type u} [ModelSets V] {n : } (ϕ : Language.LZFC.BoundedFormula n) (n' : ) (h_n' : n' > 0) (t₁ t₂ : Language.LZFC.Term ( Fin (n + n'))) (s : V) (xs : Fin (n + n')V) :
                                                                              theorem FirstOrder.ZFC.lift_ExtIsSeparation {V : Type u} [ModelSets V] {n n' : } {h_n' : n' > 0} {s : V} {xs : Fin (n + n')V} {ϕ : Language.LZFC.BoundedFormula n} {a b : V} :
                                                                              ExtIsSeparation s xs (Language.BoundedFormula.liftAt n' n ϕ) a b ExtIsSeparation s (fun (k : Fin n) => xs (Fin.castAdd n' k)) ϕ a b

                                                                              A lifted ExtIsSeparation is equivalent to the unlifted one with restricted context.

                                                                              Model with the Comprehension schema.

                                                                              Instances
                                                                                theorem FirstOrder.ZFC.ext_comprehension {V : Type u} [ModelComprehension V] {n : } (s : V) (xs : Fin nV) (ϕ : Language.LZFC.BoundedFormula n) (a : V) :
                                                                                ∃ (b : V), ExtIsSeparation s xs ϕ a b

                                                                                The Comprehension schema described externally.

                                                                                Model with emptyset, pairing, union, powerset, infinity, and comprehension.

                                                                                Instances

                                                                                  Make a formula for fv 0 is ω.

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

                                                                                    Describe a is ω.

                                                                                    Equations
                                                                                    Instances For
                                                                                      @[simp]
                                                                                      theorem FirstOrder.ZFC.realize_is_omega {V : Type u} [ModelEPUPI V] {n : } {s : V} {xs : Fin nV} :
                                                                                      @[simp]
                                                                                      theorem FirstOrder.ZFC.realize_is_omega' {V : Type u} [ModelEPUPI V] {n : } {s : V} {xs : Fin nV} (t : Language.LZFC.Term ( Fin n)) :
                                                                                      theorem FirstOrder.ZFC.ext_omega_exists {V : Type u} [ModelEPUPIC V] {n : } {s : V} {xs : Fin nV} :
                                                                                      ∃ (omega : V), ExtIsOmega omega

                                                                                      ω exists.

                                                                                      theorem FirstOrder.ZFC.ext_omega_minus_emptyset {V : Type u} [ModelEPUPIC V] (emp : V) :
                                                                                      ExtIsEmptyset emp∀ (omega : V), ExtIsOmega omega∃ (b : V), ∀ (x : V), x b x omega x emp

                                                                                      ω minus the emptyset exists as a separation.

                                                                                      theorem FirstOrder.ZFC.int_omega_minus_emptyset {V : Type u} [ModelEPUPIC V] {n : } (s : V) (xs : Fin nV) :
                                                                                      ((intIsEmptyset' (bv'' n)).imp ((intIsOmega' (bv'' (n + 1))).imp ((ϕelt (bv'' (n + 3)) (bv'' (n + 2))).iff (ϕelt (bv'' (n + 3)) (bv'' (n + 1))∧'intNotEqual (bv'' (n + 3)) (bv'' n))).all.ex)).all.all.Realize s xs

                                                                                      ω minus the emptyset internally.

                                                                                      theorem FirstOrder.ZFC.omega_closed_under_succ {V : Type u} [ModelEPUPIC V] (omega : V) :
                                                                                      ExtIsOmega omega∀ (x y : V), x omegaExtIsSuccessor x yy omega

                                                                                      ω is closed under the successor operation.

                                                                                      theorem FirstOrder.ZFC.ext_induction {V : Type u} [ModelEPUPIC V] {n : } {s : V} {xs : Fin nV} (ϕ : Language.LZFC.BoundedFormula n) (emp : V) :

                                                                                      The principle of mathematical induction for ω.

                                                                                      theorem FirstOrder.ZFC.int_induction {V : Type u} [ModelEPUPIC V] {n : } {s : V} {xs : Fin nV} (ϕ : Language.LZFC.BoundedFormula n) :
                                                                                      ((intIsEmptyset' (bv'' n)).imp ((intIsOmega' (bv'' (n + 1))).imp ((ϕ.liftAndReplaceFV 2 n ![bv'' n]).imp (((ϕ.liftAndReplaceFV 3 n ![bv'' (n + 2)]).imp ((intIsSuccessor' (bv'' (n + 2)) (bv'' (n + 3))).imp (ϕ.liftAndReplaceFV 4 n ![bv'' (n + 3)])).all).all.imp ((ϕelt (bv'' (n + 2)) (bv'' (n + 1))).imp (ϕ.liftAndReplaceFV 3 n ![bv'' (n + 2)])).all))).all).all.Realize s xs

                                                                                      The principle of mathematical induction for ω internally.