Equations
- LO.Arith.Bit i a = LO.Arith.LenBit (exp i) a
Instances For
instance
LO.Arith.instMembership_arithmetization
{V : Type u_1}
[LO.ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
:
Membership V V
Equations
- LO.Arith.instMembership_arithmetization = { mem := fun (a i : V) => LO.Arith.Bit i a }
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
LO.Arith.bit_defined
{V : Type u_1}
[LO.ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
:
𝚺₀-Relation fun (x1 x2 : V) => x1 ∈ x2 via LO.FirstOrder.Arith.bitDef
@[simp]
Equations
- ⋯ = ⋯
instance
LO.Arith.mem_definable'
{V : Type u_1}
[LO.ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
(ℌ : LO.FirstOrder.Arith.HierarchySymbol)
:
Equations
- ⋯ = ⋯
instance
LO.Arith.mem_definable''
{V : Type u_1}
[LO.ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
(ℌ : LO.FirstOrder.Arith.HierarchySymbol)
:
ℌ-Relation Membership.mem
Equations
- ⋯ = ⋯
theorem
LO.Arith.mem_iff_bit
{V : Type u_1}
[LO.ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
{i a : V}
:
i ∈ a ↔ LO.Arith.Bit i a
theorem
LO.Arith.lt_of_mem
{V : Type u_1}
[LO.ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
{i a : V}
(h : i ∈ a)
:
i < a
theorem
LO.Arith.not_mem_of_lt_exp
{V : Type u_1}
[LO.ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
{i a : V}
(h : a < exp i)
:
i ∉ a
theorem
LO.Arith.HierarchySymbol.Boldface.ball_mem
{V : Type u_1}
[LO.ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
{k : ℕ}
(Γ : LO.SigmaPiDelta)
(m : ℕ)
{P : (Fin k → V) → V → Prop}
{f : (Fin k → V) → V}
(hf : { Γ := 𝚺, 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))
:
theorem
LO.Arith.HierarchySymbol.Boldface.bex_mem
{V : Type u_1}
[LO.ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
{k : ℕ}
(Γ : LO.SigmaPiDelta)
(m : ℕ)
{P : (Fin k → V) → V → Prop}
{f : (Fin k → V) → V}
(hf : { Γ := 𝚺, 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))
:
def
LO.FirstOrder.Arith.ballIn
{ξ : Type u_1}
{n : ℕ}
(t : LO.FirstOrder.Semiterm ℒₒᵣ ξ n)
(p : LO.FirstOrder.Semiformula ℒₒᵣ ξ (n + 1))
:
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 : LO.FirstOrder.Semiterm ℒₒᵣ ξ n)
(p : LO.FirstOrder.Semiformula ℒₒᵣ ξ (n + 1))
:
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}
{Γ : LO.Polarity}
{s : ℕ}
{t u : LO.FirstOrder.Semiterm ℒₒᵣ μ n}
:
LO.FirstOrder.Arith.Hierarchy Γ s (“!!t ∈ !!u”)
@[simp]
theorem
LO.FirstOrder.Arith.Hieralchy.ballIn
{ξ : Type u_1}
{n : ℕ}
{Γ : LO.Polarity}
{m : ℕ}
(t : LO.FirstOrder.Semiterm ℒₒᵣ ξ n)
(p : LO.FirstOrder.Semiformula ℒₒᵣ ξ (n + 1))
:
@[simp]
theorem
LO.FirstOrder.Arith.Hieralchy.bexIn
{ξ : Type u_1}
{n : ℕ}
{Γ : LO.Polarity}
{m : ℕ}
(t : LO.FirstOrder.Semiterm ℒₒᵣ ξ n)
(p : LO.FirstOrder.Semiformula ℒₒᵣ ξ (n + 1))
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Instances For
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
theorem
LO.FirstOrder.Arith.Hierarchy.memRel
{n : ℕ}
{μ : Type u_2}
{Γ : LO.Polarity}
{s : ℕ}
{t₁ t₂ u : LO.FirstOrder.Semiterm ℒₒᵣ μ n}
:
LO.FirstOrder.Arith.Hierarchy Γ s (LO.FirstOrder.Arith.memRelOpr.operator ![u, t₁, t₂])
@[simp]
theorem
LO.FirstOrder.Arith.Hierarchy.memRel₃
{n : ℕ}
{μ : Type u_2}
{Γ : LO.Polarity}
{s : ℕ}
{t₁ t₂ t₃ u : LO.FirstOrder.Semiterm ℒₒᵣ μ n}
:
LO.FirstOrder.Arith.Hierarchy Γ s (LO.FirstOrder.Arith.memRel₃Opr.operator ![u, t₁, t₂, t₃])
def
LO.FirstOrder.Arith.instMemORing_arithmetization_1
{V : Type u_2}
[LO.ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
:
Equations
- ⋯ = ⋯
Instances For
@[simp]
theorem
LO.FirstOrder.Arith.eval_ballIn
{ξ : Type u_1}
{n : ℕ}
{V : Type u_2}
[LO.ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
{t : LO.FirstOrder.Semiterm ℒₒᵣ ξ n}
{p : LO.FirstOrder.Semiformula ℒₒᵣ ξ (n + 1)}
{e : Fin n → V}
{ε : ξ → V}
:
(LO.FirstOrder.Semiformula.Evalm V e ε) (LO.FirstOrder.Arith.ballIn t p) ↔ ∀ x ∈ LO.FirstOrder.Semiterm.valm V e ε t, (LO.FirstOrder.Semiformula.Evalm V (x :> e) ε) p
@[simp]
theorem
LO.FirstOrder.Arith.eval_bexIn
{ξ : Type u_1}
{n : ℕ}
{V : Type u_2}
[LO.ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
{t : LO.FirstOrder.Semiterm ℒₒᵣ ξ n}
{p : LO.FirstOrder.Semiformula ℒₒᵣ ξ (n + 1)}
{e : Fin n → V}
{ε : ξ → V}
:
(LO.FirstOrder.Semiformula.Evalm V e ε) (LO.FirstOrder.Arith.bexIn t p) ↔ ∃ x ∈ LO.FirstOrder.Semiterm.valm V e ε t, (LO.FirstOrder.Semiformula.Evalm V (x :> e) ε) p
theorem
LO.FirstOrder.Arith.memRel_defined
{V : Type u_2}
[LO.ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
:
𝚺₀-Relation₃ fun (r x y : V) => ⟪x, y⟫ ∈ r via LO.FirstOrder.Arith.memRel
theorem
LO.FirstOrder.Arith.memRel₃_defined
{V : Type u_2}
[LO.ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
:
𝚺₀-Relation₄ fun (r x y z : V) => ⟪x, ⟪y, z⟫⟫ ∈ r via LO.FirstOrder.Arith.memRel₃
@[simp]
theorem
LO.FirstOrder.Arith.eval_memRel
{V : Type u_2}
[LO.ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
{x y r : V}
:
LO.FirstOrder.Arith.memRelOpr.val ![r, x, y] ↔ ⟪x, y⟫ ∈ r
@[simp]
theorem
LO.FirstOrder.Arith.eval_memRel₃
{V : Type u_2}
[LO.ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
{x y z r : V}
:
LO.FirstOrder.Arith.memRel₃Opr.val ![r, x, y, z] ↔ ⟪x, ⟪y, z⟫⟫ ∈ r
Equations
- LO.Arith.instEmptyCollection_arithmetization = { emptyCollection := 0 }
Instances For
@[simp]
@[simp]
def
LO.Arith.instSingleton_arithmetization
{V : Type u_1}
[LO.ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
:
Singleton V V
Instances For
Equations
- LO.Arith.bitInsert i a = if i ∈ a then a else a + exp i
Instances For
Equations
- LO.Arith.bitRemove i a = if i ∈ a then a - exp i else a
Instances For
Equations
- LO.Arith.instInsert_arithmetization = { insert := LO.Arith.bitInsert }
Instances For
theorem
LO.Arith.insert_eq
{V : Type u_1}
[LO.ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
{i a : V}
:
insert i a = LO.Arith.bitInsert i a
instance
LO.Arith.instLawfulSingleton_arithmetization
{V : Type u_1}
[LO.ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
:
LawfulSingleton V V
Equations
- ⋯ = ⋯
@[simp]
@[simp]
theorem
LO.Arith.not_mem_bitRemove_self
{V : Type u_1}
[LO.ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
(i a : V)
:
i ∉ LO.Arith.bitRemove i a
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
theorem
LO.Arith.insert_defined_iff
{V : Type u_1}
[LO.ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
(v : Fin 3 → V)
:
V ⊧/v (LO.FirstOrder.Arith.HierarchySymbol.Semiformula.val LO.FirstOrder.Arith.insertDef) ↔ v 0 = insert (v 1) (v 2)
instance
LO.Arith.insert_definable
{V : Type u_1}
[LO.ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
:
𝚺₀-Function₂ insert
Equations
- ⋯ = ⋯
instance
LO.Arith.insert_definable'
{V : Type u_1}
[LO.ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
(Γ : LO.FirstOrder.Arith.HierarchySymbol)
:
Γ-Function₂ insert
Equations
- ⋯ = ⋯
@[simp]
theorem
LO.Arith.bitRemove_lt_of_mem
{V : Type u_1}
[LO.ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
{i a : V}
(h : i ∈ a)
:
LO.Arith.bitRemove i a < a
theorem
LO.Arith.pos_of_nonempty
{V : Type u_1}
[LO.ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
{i a : V}
(h : i ∈ a)
:
0 < a
@[simp]
theorem
LO.Arith.insert_eq_self_of_mem
{V : Type u_1}
[LO.ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
{i a : V}
(h : i ∈ a)
:
theorem
LO.Arith.log_mem_of_pos
{V : Type u_1}
[LO.ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
{a : V}
(h : 0 < a)
:
LO.Arith.log a ∈ a
theorem
LO.Arith.le_log_of_mem
{V : Type u_1}
[LO.ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
{i a : V}
(h : i ∈ a)
:
i ≤ LO.Arith.log a
theorem
LO.Arith.lt_length_of_mem
{V : Type u_1}
[LO.ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
{i a : V}
(h : i ∈ a)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
LO.Arith.bitSubset_defined
{V : Type u_1}
[LO.ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
:
𝚺₀-Relation fun (x1 x2 : V) => x1 ⊆ x2 via LO.FirstOrder.Arith.bitSubsetDef
@[simp]
theorem
LO.Arith.bitSubset_defined_iff
{V : Type u_1}
[LO.ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
(v : Fin 2 → V)
:
Equations
- ⋯ = ⋯
@[simp]
instance
LO.Arith.bitSubset_definable'
{V : Type u_1}
[LO.ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
(ℌ : LO.FirstOrder.Arith.HierarchySymbol)
:
Equations
- ⋯ = ⋯
@[simp]
theorem
LO.Arith.subset_trans
{V : Type u_1}
[LO.ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
{a b c : V}
(hab : a ⊆ b)
(hbc : b ⊆ c)
:
a ⊆ c
@[simp]
theorem
LO.Arith.le_under
{V : Type u_1}
[LO.ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
(a : V)
:
a ≤ LO.Arith.under a
@[simp]
theorem
LO.Arith.mem_under_iff
{V : Type u_1}
[LO.ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
{i j : V}
:
i ∈ LO.Arith.under j ↔ i < j
@[simp]
theorem
LO.Arith.not_mem_under_self
{V : Type u_1}
[LO.ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
(i : V)
:
i ∉ LO.Arith.under i
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
LO.Arith.under_defined
{V : Type u_1}
[LO.ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
:
𝚺₀-Function₁ LO.Arith.under via LO.FirstOrder.Arith.underDef
@[simp]
instance
LO.Arith.under_definable
{V : Type u_1}
[LO.ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
:
𝚺₀-Function₁ LO.Arith.under
Equations
- ⋯ = ⋯
instance
LO.Arith.under_definable'
{V : Type u_1}
[LO.ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
(Γ : LO.FirstOrder.Arith.HierarchySymbol)
:
Γ-Function₁ LO.Arith.under
Equations
- ⋯ = ⋯
@[simp]
@[simp]
theorem
LO.Arith.le_of_subset
{V : Type u_1}
[LO.ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
{a b : V}
(h : a ⊆ b)
:
a ≤ b
theorem
LO.Arith.mem_ext
{V : Type u_1}
[LO.ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
{a b : V}
(h : ∀ (i : V), i ∈ a ↔ i ∈ b)
:
a = b
theorem
LO.Arith.nonempty_of_pos
{V : Type u_1}
[LO.ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
{a : V}
(h : 0 < a)
:
∃ (i : V), i ∈ a
@[simp]
theorem
LO.Arith.lt_of_lt_log
{V : Type u_1}
[LO.ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
{a b : V}
(pos : 0 < b)
(h : ∀ i ∈ a, i < LO.Arith.log b)
:
a < b
@[simp]
theorem
LO.Arith.under_inj
{V : Type u_1}
[LO.ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
{i j : V}
:
LO.Arith.under i = LO.Arith.under j ↔ i = j
@[simp]
@[simp]
theorem
LO.Arith.under_succ
{V : Type u_1}
[LO.ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
(i : V)
:
LO.Arith.under (i + 1) = insert i (LO.Arith.under i)
theorem
LO.Arith.insert_remove
{V : Type u_1}
[LO.ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
{i a : V}
(h : i ∈ a)
:
insert i (LO.Arith.bitRemove i a) = a
theorem
LO.Arith.finset_comprehension
{V : Type u_1}
[LO.ORingStruc V]
{m : ℕ}
[Fact (1 ≤ m)]
[V ⊧ₘ* 𝐈𝐍𝐃𝚺 m]
{Γ : LO.SigmaPiDelta}
{P : V → Prop}
(hP : { Γ := Γ, rank := m }-Predicate P)
(a : V)
:
theorem
LO.Arith.finset_comprehension_exists_unique
{V : Type u_1}
[LO.ORingStruc V]
{m : ℕ}
[Fact (1 ≤ m)]
[V ⊧ₘ* 𝐈𝐍𝐃𝚺 m]
{Γ : LO.SigmaPiDelta}
{P : V → Prop}
(hP : { Γ := Γ, rank := m }-Predicate P)
(a : V)
:
Equations
theorem
LO.Arith.finset_comprehension₁
{V : Type u_1}
[LO.ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
{Γ : LO.SigmaPiDelta}
{P : V → Prop}
(hP : { Γ := Γ, rank := 1 }-Predicate P)
(a : V)
:
theorem
LO.Arith.finset_comprehension₁!
{V : Type u_1}
[LO.ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
{Γ : LO.SigmaPiDelta}
{P : V → Prop}
(hP : { Γ := Γ, rank := 1 }-Predicate P)
(a : V)
:
theorem
LO.Arith.finite_comprehension₁!
{V : Type u_1}
[LO.ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₁]
{Γ : LO.SigmaPiDelta}
{P : V → Prop}
(hP : { Γ := Γ, rank := 1 }-Predicate P)
(fin : ∃ (m : V), ∀ (i : V), P i → i < m)
: