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 n → V) :
        @[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 a → ExtIsEmptyset b → a = b

        The emptyset is unique.

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

        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 n → V) :
                  @[simp]
                  theorem FirstOrder.ZFC.realize_is_singleton' {V : Type u} [ModelPairing V] {n : ℕ} (s : ℕ → V) (xs : Fin n → V) (t₁ t₂ : Language.LZFC.Term (ℕ ⊕ Fin n)) :
                  @[simp]
                  theorem FirstOrder.ZFC.realize_is_pair {V : Type u} [ModelPairing V] {n : ℕ} (s : ℕ → V) (xs : Fin n → V) :
                  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 b → ExtIsSingleton 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 b → ExtIsSingleton a' b → a = 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 c → ExtIsPair 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 c → ExtIsPair a' b' c → a = 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 x → ExtIsPair b c x → a = 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 n → V) :
                      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 c → ExtIsOrderedPair 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 c → ExtIsOrderedPair a' b' c → a = a' ∧ b = b'

                      The ordered pair is injective.

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

                      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 n → V) :
                                  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 c → ExtIsUnion c d → ExtIsPair 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
                                            @[instance_reducible]

                                            The ⊆ notation on a model of set theory is ExtIsSubset. This is an instance rather than a bare notation because a bare ⊆ notation is shadowed by the core one.

                                            Equations
                                            @[simp]

                                            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 n → V) :
                                                      @[simp]
                                                      theorem FirstOrder.ZFC.realize_is_subset' {V : Type u} [ModelPowerset V] {n : ℕ} (s : ℕ → V) (xs : Fin n → V) (t₁ t₂ : Language.LZFC.Term (ℕ ⊕ Fin n)) :
                                                      @[simp]
                                                      theorem FirstOrder.ZFC.realize_is_powerset {V : Type u} [ModelPowerset V] {n : ℕ} (s : ℕ → V) (xs : Fin n → V) :
                                                      @[simp]
                                                      theorem FirstOrder.ZFC.realize_is_powerset' {V : Type u} [ModelPowerset V] {n : ℕ} (s : ℕ → V) (xs : Fin n → V) (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 0 → V} :
                                                      (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 0 → V} :

                                                      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 n → V) :
                                                          @[simp]
                                                          theorem FirstOrder.ZFC.realize_is_successor' {V : Type u} [ModelPowerset V] {n : ℕ} (s : ℕ → V) (xs : Fin n → V) (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 n → V) :
                                                              @[simp]
                                                              theorem FirstOrder.ZFC.ext_emp_in_inductive {V : Type u} [ModelEPUP V] {emp a : V} :
                                                              ExtIsEmptyset emp → ExtIsInductive a → emp ∈ a

                                                              ∅ belongs to every inductive set.

                                                              theorem FirstOrder.ZFC.ext_inductive_one_step {V : Type u} [ModelEPUP V] {a y : V} (x : V) :
                                                              ExtIsInductive a → x ∈ a → ExtIsSuccessor x y → y ∈ 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 ∈ a → c ∉ 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 n → V) :
                                                                        (ϕ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 n → V) (ϕ : 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 n → V) (ϕ : 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 n → V) :
                                                                              @[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 n → V) (ϕ : 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 n → V} :
                                                                                      @[simp]
                                                                                      theorem FirstOrder.ZFC.realize_is_omega' {V : Type u} [ModelEPUPI V] {n : ℕ} {s : ℕ → V} {xs : Fin n → V} (t : Language.LZFC.Term (ℕ ⊕ Fin n)) :
                                                                                      theorem FirstOrder.ZFC.ext_omega_exists {V : Type u} [ModelEPUPIC V] {n : ℕ} {s : ℕ → V} {xs : Fin n → V} :
                                                                                      ∃ (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 n → V) :
                                                                                      ((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 ∈ omega → ExtIsSuccessor x y → y ∈ omega

                                                                                      ω is closed under the successor operation.

                                                                                      theorem FirstOrder.ZFC.ext_induction {V : Type u} [ModelEPUPIC V] {n : ℕ} {s : ℕ → V} {xs : Fin n → V} (ϕ : 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 n → V} (ϕ : 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.