Documentation

LeanPool.Incompleteness.Arithmetization.ISigmaOne.HFS.Basic

Hereditary Finite Set Theory in $\mathsf{I} \Sigma_1$ #

@[simp]
theorem LO.Arith.susbset_insert {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (x a : V) :
a insert x a
@[simp]
theorem LO.Arith.bitRemove_susbset {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (x a : V) :
theorem LO.Arith.lt_of_mem_dom {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {x y m : V} (h : x, y m) :
x < m
theorem LO.Arith.lt_of_mem_rng {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {x y m : V} (h : x, y m) :
y < m
theorem LO.Arith.insert_subset_insert_of_subset {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {a b : V} (x : V) (h : a b) :
insert x a insert x b
@[simp]
theorem LO.Arith.under_subset_under_of_le {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {i j : V} :
theorem LO.Arith.sUnion_exists_unique {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (s : V) :
∃! u : V, ∀ (x : V), x u ts, x t
noncomputable def LO.Arith.sUnion {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (s : V) :
V

Imported declaration from the Incompleteness formalization.

Equations
Instances For

    Imported declaration from the Incompleteness formalization.

    Equations
    Instances For
      @[simp]
      theorem LO.Arith.mem_sUnion_iff {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {a b : V} :
      a ⋃ʰᶠ b cb, a c
      theorem LO.Arith.sUnion_lt_of_pos {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {a : V} (ha : 0 < a) :
      @[simp]
      theorem LO.Arith.sUnion_le {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (a : V) :
      theorem LO.Arith.sUnion_graph {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {u s : V} :
      u = ⋃ʰᶠ s x < u + s, x u ts, x t

      Imported declaration from the Incompleteness formalization.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        noncomputable def LO.Arith.union {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (a b : V) :
        V

        Imported declaration from the Incompleteness formalization.

        Equations
        Instances For
          @[implicit_reducible]
          noncomputable def LO.Arith.instUnionV {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] :

          Imported declaration from the Incompleteness formalization.

          Equations
          Instances For
            @[simp]
            theorem LO.Arith.mem_cup_iff {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {a b c : V} :
            a b c a b a c

            Imported declaration from the Incompleteness formalization.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              instance LO.Arith.union_definable' {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] ( : FirstOrder.Arith.HierarchySymbol) :
              -Function₂ fun (x1 x2 : V) => x1 x2
              @[simp]
              theorem LO.Arith.union_polybound {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (a b : V) :
              a b 2 * (a + b)
              theorem LO.Arith.union_comm {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (a b : V) :
              a b = b a
              @[simp]
              theorem LO.Arith.union_succ_union_left {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (a b : V) :
              a a b
              @[simp]
              theorem LO.Arith.union_succ_union_right {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (a b : V) :
              b a b
              @[simp]
              theorem LO.Arith.union_succ_union_union_left {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (a b c : V) :
              a a b c
              @[simp]
              theorem LO.Arith.union_succ_union_union_right {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (a b c : V) :
              b a b c
              @[simp]
              theorem LO.Arith.union_empty_eq_right {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (a : V) :
              a = a
              @[simp]
              theorem LO.Arith.union_empty_eq_left {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (a : V) :
              a = a
              theorem LO.Arith.sInter_exists_unique {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (s : V) :
              ∃! u : V, ∀ (x : V), x u s ts, x t
              noncomputable def LO.Arith.sInter {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (s : V) :
              V

              Imported declaration from the Incompleteness formalization.

              Equations
              Instances For

                Imported declaration from the Incompleteness formalization.

                Equations
                Instances For
                  theorem LO.Arith.mem_sInter_iff {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {x s : V} :
                  x ⋂ʰᶠ s s ts, x t
                  theorem LO.Arith.mem_sInter_iff_of_pos {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {x s : V} (h : s ) :
                  x ⋂ʰᶠ s ts, x t
                  noncomputable def LO.Arith.inter {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (a b : V) :
                  V

                  Imported declaration from the Incompleteness formalization.

                  Equations
                  Instances For
                    @[implicit_reducible]
                    noncomputable def LO.Arith.instInterV {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] :

                    Imported declaration from the Incompleteness formalization.

                    Equations
                    Instances For
                      @[simp]
                      theorem LO.Arith.mem_inter_iff {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {a b c : V} :
                      a b c a b a c
                      theorem LO.Arith.inter_comm {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (a b : V) :
                      a b = b a
                      theorem LO.Arith.inter_eq_self_of_subset {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {a b : V} (h : a b) :
                      a b = a
                      theorem LO.Arith.product_exists_unique {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (a b : V) :
                      ∃! u : V, ∀ (x : V), x u ya, zb, x = y, z
                      noncomputable def LO.Arith.product {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (a b : V) :
                      V

                      Imported declaration from the Incompleteness formalization.

                      Equations
                      Instances For

                        Imported declaration from the Incompleteness formalization.

                        Equations
                        Instances For
                          theorem LO.Arith.mem_product_iff {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {x a b : V} :
                          x a ×ʰᶠ b ya, zb, x = y, z
                          theorem LO.Arith.mem_product_iff' {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {x a b : V} :
                          @[simp]
                          theorem LO.Arith.pair_mem_product_iff {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {x y a b : V} :
                          x, y a ×ʰᶠ b x a y b
                          theorem LO.Arith.pair_mem_product {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {x y a b : V} (hx : x a) (hy : y b) :

                          Imported declaration from the Incompleteness formalization.

                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For
                            theorem LO.Arith.domain_exists_unique {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (s : V) :
                            ∃! d : V, ∀ (x : V), x d ∃ (y : V), x, y s
                            noncomputable def LO.Arith.domain {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (s : V) :
                            V

                            Imported declaration from the Incompleteness formalization.

                            Equations
                            Instances For
                              theorem LO.Arith.mem_domain_iff {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {x s : V} :
                              x domain s ∃ (y : V), x, y s

                              Imported declaration from the Incompleteness formalization.

                              Equations
                              • One or more equations did not get rendered due to their size.
                              Instances For
                                @[simp]
                                theorem LO.Arith.domain_union {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (a b : V) :
                                @[simp]
                                theorem LO.Arith.domain_singleton {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (x y : V) :
                                @[simp]
                                theorem LO.Arith.domain_insert {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (x y s : V) :
                                @[simp]
                                theorem LO.Arith.domain_bound {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (s : V) :
                                domain s 2 * s
                                theorem LO.Arith.mem_domain_of_pair_mem {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {x y s : V} (h : x, y s) :

                                Range #

                                theorem LO.Arith.range_exists_unique {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (s : V) :
                                ∃! r : V, ∀ (y : V), y r ∃ (x : V), x, y s
                                noncomputable def LO.Arith.range {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (s : V) :
                                V

                                Imported declaration from the Incompleteness formalization.

                                Equations
                                Instances For
                                  theorem LO.Arith.mem_range_iff {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {y s : V} :
                                  y range s ∃ (x : V), x, y s

                                  Imported declaration from the Incompleteness formalization.

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

                                    Disjoint #

                                    def LO.Arith.Disjoint {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (s t : V) :

                                    Imported declaration from the Incompleteness formalization.

                                    Equations
                                    Instances For
                                      theorem LO.Arith.Disjoint.iff {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {s t : V} :
                                      Disjoint s t ∀ (x : V), xs xt
                                      theorem LO.Arith.Disjoint.not_of_mem {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {s t x : V} (hs : x s) (ht : x t) :
                                      theorem LO.Arith.Disjoint.symm {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {s t : V} (h : Disjoint s t) :
                                      @[simp]
                                      theorem LO.Arith.Disjoint.singleton_iff {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {s a : V} :
                                      Disjoint {a} s as

                                      Mapping #

                                      def LO.Arith.IsMapping {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (m : V) :

                                      Imported declaration from the Incompleteness formalization.

                                      Equations
                                      Instances For

                                        Imported declaration from the Incompleteness formalization.

                                        Equations
                                        • One or more equations did not get rendered due to their size.
                                        Instances For
                                          theorem LO.Arith.IsMapping.get_exists_uniq {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {m : V} (h : IsMapping m) {x : V} (hx : x domain m) :
                                          ∃! y : V, x, y m
                                          noncomputable def LO.Arith.IsMapping.get {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {m : V} (h : IsMapping m) {x : V} (hx : x domain m) :
                                          V

                                          Imported declaration from the Incompleteness formalization.

                                          Equations
                                          Instances For
                                            @[simp]
                                            theorem LO.Arith.IsMapping.get_mem {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {m : V} (h : IsMapping m) {x : V} (hx : x domain m) :
                                            x, h.get hx m
                                            theorem LO.Arith.IsMapping.get_uniq {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {y m : V} (h : IsMapping m) {x : V} (hx : x domain m) (hy : x, y m) :
                                            y = h.get hx
                                            theorem LO.Arith.IsMapping.union_of_disjoint_domain {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {m₁ m₂ : V} (h₁ : IsMapping m₁) (h₂ : IsMapping m₂) (disjoint : Disjoint (domain m₁) (domain m₂)) :
                                            IsMapping (m₁ m₂)
                                            @[simp]
                                            theorem LO.Arith.IsMapping.insert {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {x y m : V} (h : IsMapping m) (disjoint : xdomain m) :
                                            theorem LO.Arith.IsMapping.of_subset {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {m m' : V} (h : IsMapping m) (ss : m' m) :
                                            theorem LO.Arith.IsMapping.uniq {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {m x y₁ y₂ : V} (h : IsMapping m) :
                                            x, y₁ mx, y₂ my₁ = y₂

                                            Restriction of mapping #

                                            theorem LO.Arith.restr_exists_unique {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (f s : V) :
                                            ∃! g : V, ∀ (x : V), x g x f π₁ x s
                                            noncomputable def LO.Arith.restr {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (f s : V) :
                                            V

                                            Imported declaration from the Incompleteness formalization.

                                            Equations
                                            Instances For

                                              Imported declaration from the Incompleteness formalization.

                                              Equations
                                              Instances For
                                                theorem LO.Arith.mem_restr_iff {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {x f s : V} :
                                                x restr f s x f π₁ x s
                                                @[simp]
                                                theorem LO.Arith.pair_mem_restr_iff {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {x y f s : V} :
                                                x, y restr f s x, y f x s
                                                @[simp]
                                                theorem LO.Arith.restr_empty {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (f : V) :
                                                @[simp]
                                                theorem LO.Arith.restr_subset_self {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (f s : V) :
                                                restr f s f
                                                @[simp]
                                                theorem LO.Arith.restr_le_self {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (f s : V) :
                                                restr f s f
                                                theorem LO.Arith.IsMapping.restr {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {m : V} (h : IsMapping m) (s : V) :
                                                theorem LO.Arith.domain_restr {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (f s : V) :
                                                domain (restr f s) = domain f s
                                                theorem LO.Arith.domain_restr_of_subset_domain {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {f s : V} (h : s domain f) :
                                                domain (restr f s) = s
                                                theorem LO.Arith.insert_induction {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {Γ : SigmaPiDelta} {P : VProp} (hP : { Γ := Γ, rank := 1 }-Predicate P) (hempty : P ) (hinsert : ∀ (a s : V), asP sP (insert a s)) (s : V) :
                                                P s
                                                theorem LO.Arith.insert_induction_sigmaOne {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {P : VProp} (hP : FirstOrder.Arith.Sg1-Predicate P) (hempty : P ) (hinsert : ∀ (a s : V), asP sP (insert a s)) (s : V) :
                                                P s
                                                theorem LO.Arith.insert_induction_piOne {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {P : VProp} (hP : FirstOrder.Arith.Pg1-Predicate P) (hempty : P ) (hinsert : ∀ (a s : V), asP sP (insert a s)) (s : V) :
                                                P s
                                                theorem LO.Arith.sigmaOne_skolem {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {R : VVProp} (hP : FirstOrder.Arith.Sg1-Relation R) {s : V} (H : xs, ∃ (y : V), R x y) :
                                                ∃ (f : V), IsMapping f domain f = s ∀ (x y : V), x, y fR x y
                                                theorem LO.Arith.sigma₁_replacement {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {f : VV} (hf : FirstOrder.Arith.Sg1-Function₁ f) (s : V) :
                                                ∃! t : V, ∀ (y : V), y t xs, y = f x
                                                theorem LO.Arith.sigma₁_replacement₂ {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {f : VVV} (hf : FirstOrder.Arith.Sg1-Function₂ f) (s₁ s₂ : V) :
                                                ∃! t : V, ∀ (y : V), y t x₁s₁, x₂s₂, y = f x₁ x₂
                                                noncomputable def LO.Arith.fstIdx {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (p : V) :
                                                V

                                                Imported declaration from the Incompleteness formalization.

                                                Equations
                                                Instances For
                                                  @[simp]
                                                  theorem LO.Arith.fstIdx_le_self {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (p : V) :

                                                  Imported declaration from the Incompleteness formalization.

                                                  Equations
                                                  • One or more equations did not get rendered due to their size.
                                                  Instances For
                                                    noncomputable def LO.Arith.sndIdx {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (p : V) :
                                                    V

                                                    Imported declaration from the Incompleteness formalization.

                                                    Equations
                                                    Instances For
                                                      @[simp]
                                                      theorem LO.Arith.sndIdx_le_self {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (p : V) :

                                                      Imported declaration from the Incompleteness formalization.

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