Documentation

LeanPool.Incompleteness.Arithmetization.ISigmaOne.Bit

Bit #

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

Imported declaration from the Incompleteness formalization.

Equations
Instances For
    @[instance_reducible]
    Equations

    Imported declaration from the Incompleteness formalization.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      instance LO.Arith.mem_definable {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] :
      FirstOrder.Arith.Sg0-Relation fun (x1 x2 : V) => x1 ∈ x2
      instance LO.Arith.mem_definable' {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (ℌ : FirstOrder.Arith.HierarchySymbol) :
      ℌ-Relation fun (x1 x2 : V) => x1 ∈ x2
      theorem LO.Arith.mem_absolute {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (i a : ℕ) :
      i ∈ a ↔ ↑i ∈ ↑a
      theorem LO.Arith.mem_iff_bit {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {i a : V} :
      i ∈ a ↔ Bit i a
      theorem LO.Arith.exp_le_of_mem {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {i a : V} (h : i ∈ a) :
      exp i ≤ a
      theorem LO.Arith.lt_of_mem {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {i a : V} (h : i ∈ a) :
      i < a
      theorem LO.Arith.not_mem_of_lt_exp {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {i a : V} (h : a < exp i) :
      i ∉ a
      theorem LO.Arith.HierarchySymbol.Boldface.ball_mem {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {k : ℕ} (Γ : SigmaPiDelta) (m : ℕ) {P : (Fin k → V) → V → Prop} {f : (Fin k → V) → V} (hf : { Γ := Sg, rank := m + 1 }.BoldfaceFunction f) (h : { Γ := Γ, rank := m + 1 }.Boldface fun (w : Fin (k + 1) → V) => P (fun (x : Fin k) => w x.succ) (w 0)) :
      { Γ := Γ, rank := m + 1 }.Boldface fun (v : Fin k → V) => ∀ x ∈ f v, P v x
      theorem LO.Arith.HierarchySymbol.Boldface.bex_mem {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {k : ℕ} (Γ : SigmaPiDelta) (m : ℕ) {P : (Fin k → V) → V → Prop} {f : (Fin k → V) → V} (hf : { Γ := Sg, rank := m + 1 }.BoldfaceFunction f) (h : { Γ := Γ, rank := m + 1 }.Boldface fun (w : Fin (k + 1) → V) => P (fun (x : Fin k) => w x.succ) (w 0)) :
      { Γ := Γ, rank := m + 1 }.Boldface fun (v : Fin k → V) => ∃ x ∈ f v, P v x
      def LO.FirstOrder.Arith.ballIn {ξ : Type u_1} {n : ℕ} (t : Semiterm ℒₒᵣ ξ n) (p : Semiformula ℒₒᵣ ξ (n + 1)) :

      Imported declaration from the Incompleteness formalization.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        def LO.FirstOrder.Arith.bexIn {ξ : Type u_1} {n : ℕ} (t : Semiterm ℒₒᵣ ξ n) (p : Semiformula ℒₒᵣ ξ (n + 1)) :

        Imported declaration from the Incompleteness formalization.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          @[simp]
          theorem LO.FirstOrder.Arith.Hierarchy.bit {n : ℕ} {μ : Type u_2} {Γ : Polarity} {s : ℕ} {t u : Semiterm ℒₒᵣ μ n} :
          @[simp]
          theorem LO.FirstOrder.Arith.Hieralchy.ballIn {ξ : Type u_1} {n : ℕ} {Γ : Polarity} {m : ℕ} (t : Semiterm ℒₒᵣ ξ n) (p : Semiformula ℒₒᵣ ξ (n + 1)) :
          @[simp]
          theorem LO.FirstOrder.Arith.Hieralchy.bexIn {ξ : Type u_1} {n : ℕ} {Γ : Polarity} {m : ℕ} (t : Semiterm ℒₒᵣ ξ n) (p : Semiformula ℒₒᵣ ξ (n + 1)) :

          Imported declaration from the Incompleteness formalization.

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

            Imported declaration from the Incompleteness formalization.

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

              Imported declaration from the Incompleteness formalization.

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

                Imported declaration from the Incompleteness formalization.

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

                  Imported declaration from the Incompleteness formalization.

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

                    Imported declaration from the Incompleteness formalization.

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

                      Imported declaration from the Incompleteness formalization.

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

                        Imported declaration from the Incompleteness formalization.

                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For
                          @[simp]
                          theorem LO.FirstOrder.Arith.Hierarchy.memRel {n : ℕ} {μ : Type u_2} {Γ : Polarity} {s : ℕ} {t₁ t₂ u : Semiterm ℒₒᵣ μ n} :
                          Hierarchy Γ s (memRelOpr.operator ![u, t₁, t₂])
                          @[simp]
                          theorem LO.FirstOrder.Arith.Hierarchy.memRel₃ {n : ℕ} {μ : Type u_2} {Γ : Polarity} {s : ℕ} {t₁ t₂ t₃ u : Semiterm ℒₒᵣ μ n} :
                          Hierarchy Γ s (memRel₃Opr.operator ![u, t₁, t₂, t₃])
                          @[simp]
                          theorem LO.FirstOrder.Arith.eval_ballIn {ξ : Type u_1} {n : ℕ} {V : Type u_2} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {t : Semiterm ℒₒᵣ ξ n} {p : Semiformula ℒₒᵣ ξ (n + 1)} {e : Fin n → V} {ε : ξ → V} :
                          (Semiformula.Evalm V e ε) (ballIn t p) ↔ ∀ x ∈ Semiterm.valm V e ε t, (Semiformula.Evalm V (x :> e) ε) p
                          @[simp]
                          theorem LO.FirstOrder.Arith.eval_bexIn {ξ : Type u_1} {n : ℕ} {V : Type u_2} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {t : Semiterm ℒₒᵣ ξ n} {p : Semiformula ℒₒᵣ ξ (n + 1)} {e : Fin n → V} {ε : ξ → V} :
                          (Semiformula.Evalm V e ε) (bexIn t p) ↔ ∃ x ∈ Semiterm.valm V e ε t, (Semiformula.Evalm V (x :> e) ε) p
                          @[simp]
                          @[simp]
                          theorem LO.Arith.mem_iff_mul_exp_add_exp_add {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {i a : V} :
                          i ∈ a ↔ ∃ (k : V), ∃ r < exp i, a = k * exp (i + 1) + exp i + r
                          theorem LO.Arith.not_mem_iff_mul_exp_add {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {i a : V} :
                          i ∉ a ↔ ∃ (k : V), ∃ r < exp i, a = k * exp (i + 1) + r
                          @[instance_reducible]

                          Imported declaration from the Incompleteness formalization.

                          Equations
                          Instances For
                            @[simp]
                            theorem LO.Arith.not_mem_empty {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (i : V) :
                            i ∉ ∅
                            @[simp]
                            theorem LO.Arith.not_mem_zero {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (i : V) :
                            i ∉ 0
                            @[instance_reducible]
                            noncomputable def LO.Arith.instSingletonVV {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] :

                            Imported declaration from the Incompleteness formalization.

                            Equations
                            Instances For
                              theorem LO.Arith.singleton_def {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (a : V) :
                              {a} = exp a
                              noncomputable def LO.Arith.bitInsert {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (i a : V) :
                              V

                              Imported declaration from the Incompleteness formalization.

                              Equations
                              Instances For
                                noncomputable def LO.Arith.bitRemove {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (i a : V) :
                                V

                                Imported declaration from the Incompleteness formalization.

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

                                  Imported declaration from the Incompleteness formalization.

                                  Equations
                                  Instances For
                                    theorem LO.Arith.insert_eq {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {i a : V} :
                                    @[simp]
                                    theorem LO.Arith.mem_bitInsert_iff {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {i j a : V} :
                                    i ∈ insert j a ↔ i = j ∨ i ∈ a
                                    @[simp]
                                    theorem LO.Arith.mem_bitRemove_iff {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {i j a : V} :
                                    i ∈ bitRemove j a ↔ i ≠ j ∧ i ∈ a
                                    @[simp]
                                    theorem LO.Arith.not_mem_bitRemove_self {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (i a : V) :
                                    i ∉ bitRemove i a
                                    theorem LO.Arith.insert_graph {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (b i a : V) :
                                    b = insert i a ↔ i ∈ a ∧ b = a ∨ i ∉ a ∧ ∃ e ≤ b, e = exp i ∧ b = a + e

                                    Imported declaration from the Incompleteness formalization.

                                    Equations
                                    • One or more equations did not get rendered due to their size.
                                    Instances For
                                      theorem LO.Arith.insert_le_of_le_of_le {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {i j a b : V} (hij : i ≤ j) (hab : a ≤ b) :
                                      insert i a ≤ b + exp j
                                      @[simp]
                                      theorem LO.Arith.mem_singleton_iff {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {i j : V} :
                                      i ∈ {j} ↔ i = j
                                      theorem LO.Arith.bitRemove_lt_of_mem {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {i a : V} (h : i ∈ a) :
                                      bitRemove i a < a
                                      theorem LO.Arith.pos_of_nonempty {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {i a : V} (h : i ∈ a) :
                                      0 < a
                                      @[simp]
                                      theorem LO.Arith.mem_insert {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (i a : V) :
                                      i ∈ insert i a
                                      theorem LO.Arith.insert_eq_self_of_mem {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {i a : V} (h : i ∈ a) :
                                      insert i a = a
                                      theorem LO.Arith.log_mem_of_pos {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {a : V} (h : 0 < a) :
                                      log a ∈ a
                                      theorem LO.Arith.le_log_of_mem {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {i a : V} (h : i ∈ a) :
                                      i ≤ log a
                                      theorem LO.Arith.succ_mem_iff_mem_div_two {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {i a : V} :
                                      i + 1 ∈ a ↔ i ∈ a / 2
                                      theorem LO.Arith.lt_length_of_mem {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {i a : V} (h : i ∈ a) :
                                      theorem LO.Arith.lt_exp_iff {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {a i : V} :
                                      a < exp i ↔ ∀ j ∈ a, j < i
                                      @[instance_reducible]
                                      Equations

                                      Imported declaration from the Incompleteness formalization.

                                      Equations
                                      • One or more equations did not get rendered due to their size.
                                      Instances For
                                        @[simp]
                                        instance LO.Arith.bitSubset_definable' {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (ℌ : FirstOrder.Arith.HierarchySymbol) :
                                        ℌ-Relation fun (x1 x2 : V) => x1 ⊆ x2
                                        theorem LO.Arith.subset_iff {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {a b : V} :
                                        a ⊆ b ↔ ∀ x ∈ a, x ∈ b
                                        @[simp]
                                        theorem LO.Arith.subset_refl {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (a : V) :
                                        a ⊆ a
                                        theorem LO.Arith.subset_trans {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {a b c : V} (hab : a ⊆ b) (hbc : b ⊆ c) :
                                        a ⊆ c
                                        theorem LO.Arith.mem_exp_add_succ_sub_one {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (i j : V) :
                                        i ∈ exp (i + j + 1) - 1
                                        noncomputable def LO.Arith.under {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (a : V) :
                                        V

                                        under a = {0, 1, 2, ..., a - 1}

                                        Equations
                                        Instances For
                                          @[simp]
                                          theorem LO.Arith.le_under {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (a : V) :
                                          @[simp]
                                          theorem LO.Arith.mem_under_iff {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {i j : V} :
                                          i ∈ under j ↔ i < j
                                          @[simp]
                                          theorem LO.Arith.not_mem_under_self {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (i : V) :
                                          i ∉ under i

                                          Imported declaration from the Incompleteness formalization.

                                          Equations
                                          • One or more equations did not get rendered due to their size.
                                          Instances For
                                            theorem LO.Arith.eq_zero_of_subset_zero {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {a : V} :
                                            a ⊆ 0 → a = 0
                                            theorem LO.Arith.subset_div_two {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {a b : V} :
                                            a ⊆ b → a / 2 ⊆ b / 2
                                            theorem LO.Arith.zero_mem_iff {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {a : V} :
                                            0 ∉ a ↔ 2 ∣ a
                                            @[simp]
                                            theorem LO.Arith.zero_not_mem {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (a : V) :
                                            0 ∉ 2 * a
                                            @[simp]
                                            theorem LO.Arith.zero_mem_double_add_one {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (a : V) :
                                            0 ∈ 2 * a + 1
                                            @[simp]
                                            theorem LO.Arith.succ_mem_two_mul_iff {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {i a : V} :
                                            i + 1 ∈ 2 * a ↔ i ∈ a
                                            @[simp]
                                            theorem LO.Arith.succ_mem_two_mul_succ_iff {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {i a : V} :
                                            i + 1 ∈ 2 * a + 1 ↔ i ∈ a
                                            theorem LO.Arith.le_of_subset {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {a b : V} (h : a ⊆ b) :
                                            a ≤ b
                                            theorem LO.Arith.mem_ext {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {a b : V} (h : ∀ (i : V), i ∈ a ↔ i ∈ b) :
                                            a = b
                                            theorem LO.Arith.pos_iff_nonempty {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {s : V} :
                                            0 < s ↔ s ≠ ∅
                                            theorem LO.Arith.nonempty_of_pos {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {a : V} (h : 0 < a) :
                                            ∃ (i : V), i ∈ a
                                            theorem LO.Arith.eq_empty_or_nonempty {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (a : V) :
                                            a = ∅ ∨ ∃ (i : V), i ∈ a
                                            theorem LO.Arith.nonempty_iff {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {s : V} :
                                            s ≠ ∅ ↔ ∃ (x : V), x ∈ s
                                            theorem LO.Arith.isempty_iff {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {s : V} :
                                            s = ∅ ↔ ∀ (x : V), x ∉ s
                                            @[simp]
                                            theorem LO.Arith.empty_subset {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (s : V) :
                                            theorem LO.Arith.lt_of_lt_log {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {a b : V} (pos : 0 < b) (h : ∀ i ∈ a, i < log b) :
                                            a < b
                                            @[simp]
                                            theorem LO.Arith.under_inj {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {i j : V} :
                                            under i = under j ↔ i = j
                                            @[simp]
                                            @[simp]
                                            theorem LO.Arith.under_succ {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (i : V) :
                                            under (i + 1) = insert i (under i)
                                            theorem LO.Arith.insert_remove {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {i a : V} (h : i ∈ a) :
                                            insert i (bitRemove i a) = a
                                            theorem LO.Arith.finset_comprehension {V : Type u_1} [ORingStruc V] {m : ℕ} [Fact (1 ≤ m)] [V ⊧ₘ* 𝐈𝐍𝐃Sg m] {Γ : SigmaPiDelta} {P : V → Prop} (hP : { Γ := Γ, rank := m }-Predicate P) (a : V) :
                                            ∃ s < exp a, ∀ i < a, i ∈ s ↔ P i
                                            theorem LO.Arith.finset_comprehension_exists_unique {V : Type u_1} [ORingStruc V] {m : ℕ} [Fact (1 ≤ m)] [V ⊧ₘ* 𝐈𝐍𝐃Sg m] {Γ : SigmaPiDelta} {P : V → Prop} (hP : { Γ := Γ, rank := m }-Predicate P) (a : V) :
                                            ∃! s : V, s < exp a ∧ ∀ i < a, i ∈ s ↔ P i
                                            theorem LO.Arith.finset_comprehension₁ {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {Γ : SigmaPiDelta} {P : V → Prop} (hP : { Γ := Γ, rank := 1 }-Predicate P) (a : V) :
                                            ∃ s < exp a, ∀ i < a, i ∈ s ↔ P i
                                            theorem LO.Arith.finset_comprehension₁! {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {Γ : SigmaPiDelta} {P : V → Prop} (hP : { Γ := Γ, rank := 1 }-Predicate P) (a : V) :
                                            ∃! s : V, s < exp a ∧ ∀ i < a, i ∈ s ↔ P i
                                            theorem LO.Arith.finite_comprehension₁! {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {Γ : SigmaPiDelta} {P : V → Prop} (hP : { Γ := Γ, rank := 1 }-Predicate P) (fin : ∃ (m : V), ∀ (i : V), P i → i < m) :
                                            ∃! s : V, ∀ (i : V), i ∈ s ↔ P i