theorem
LO.Arith.log_exists_unique_pos
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₀]
{y : V}
(hy : 0 < y)
:
Equations
Instances For
theorem
LO.Arith.log_pos
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₀]
{y : V}
(pos : 0 < y)
:
∃ y' ≤ y, Exponential (log y) y' ∧ y < 2 * y'
theorem
LO.Arith.log_lt_self_of_pos
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₀]
{y : V}
(pos : 0 < y)
:
@[simp]
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
theorem
LO.Arith.log_defined_iff
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₀]
(v : Fin 2 → V)
:
V ⊧/v (FirstOrder.Arith.HierarchySymbol.Semiformula.val FirstOrder.Arith.logDef) ↔ v 0 = log (v 1)
theorem
LO.Arith.log_eq_of_pos
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₀]
{x y : V}
(pos : 0 < y)
{y' : V}
(H : Exponential x y')
(hy' : y' ≤ y)
(hy : y < 2 * y')
:
theorem
LO.Arith.Exponential.log_eq_of_exp
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₀]
{x y : V}
(H : Exponential x y)
:
theorem
LO.Arith.exponential_of_pow2
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₀]
{p : V}
(pp : Pow2 p)
:
Exponential (log p) p
Equations
- LO.Arith.binaryLength a = if 0 < a then LO.Arith.log a + 1 else 0
Instances For
Equations
- LO.Arith.instLength = { length := LO.Arith.binaryLength }
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
LO.Arith.length_defined
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₀]
:
𝚺₀-Function₁ fun (x : V) => ‖x‖ via FirstOrder.Arith.lengthDef
@[simp]
instance
LO.Arith.length_definable
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₀]
:
𝚺₀-Function₁ fun (x : V) => ‖x‖
instance
LO.Arith.instBounded₁Length
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₀]
:
FirstOrder.Arith.Bounded₁ fun (x : V) => ‖x‖
theorem
LO.Arith.Exponential.length_eq
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₀]
{x y : V}
(H : Exponential x y)
:
theorem
LO.Arith.pos_of_lt_length
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₀]
{a b : V}
(h : a < ‖b‖)
:
0 < b
theorem
LO.Arith.exponential_log_le_self
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₀]
{a b : V}
(pos : 0 < a)
(h : Exponential (log a) b)
:
b ≤ a
theorem
LO.Arith.lt_exponential_log_self
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₀]
{a b : V}
(h : Exponential (log a) b)
:
theorem
LO.Arith.lt_exp_len_self
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₀]
{a b : V}
(h : Exponential ‖a‖ b)
:
a < b
theorem
LO.Arith.le_iff_le_log_of_exp
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₀]
{x y a : V}
(H : Exponential x y)
(pos : 0 < a)
:
theorem
LO.Arith.le_iff_lt_length_of_exp
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₀]
{x y a : V}
(H : Exponential x y)
:
theorem
LO.Arith.Exponential.lt_iff_log_lt
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₀]
{x y a : V}
(H : Exponential x y)
(pos : 0 < a)
:
theorem
LO.Arith.Exponential.lt_iff_len_le
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₀]
{x y a : V}
(H : Exponential x y)
:
theorem
LO.Arith.Exponential.le_of_lt_length
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₀]
{x y a : V}
(H : Exponential x y)
:
theorem
LO.Arith.Exponential.le_log
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₀]
{x y : V}
(H : Exponential x y)
:
theorem
LO.Arith.Exponential.lt_length
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₀]
{x y : V}
(H : Exponential x y)
:
theorem
LO.Arith.lt_exponential_length
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₀]
{a b : V}
(h : Exponential ‖a‖ b)
:
a < b
theorem
LO.Arith.brange_exists_unique
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₀]
(a x : V)
:
x < ‖a‖ → ∃! y : V, Exponential x y
theorem
LO.Arith.exp_bexp_of_lt
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₀]
{a x : V}
(h : x < ‖a‖)
:
Exponential x (bexp a x)
@[simp]
@[simp]
@[simp]
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
theorem
LO.Arith.bexp_defined_iff
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₀]
(v : Fin 3 → V)
:
V ⊧/v (FirstOrder.Arith.HierarchySymbol.Semiformula.val FirstOrder.Arith.bexpDef) ↔ v 0 = bexp (v 1) (v 2)
theorem
LO.Arith.bexp_eq_of_exp
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₀]
{y a x : V}
(h : x < ‖a‖)
(H : Exponential x y)
:
@[simp]
@[simp]
Equations
- LO.Arith.fbit a i = a / LO.Arith.bexp a i % 2
Instances For
@[simp]
@[simp]
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
theorem
LO.Arith.fbit_defined_iff
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₀]
(v : Fin 3 → V)
:
V ⊧/v (FirstOrder.Arith.HierarchySymbol.Semiformula.val FirstOrder.Arith.fbitDef) ↔ v 0 = fbit (v 1) (v 2)
@[simp]
@[simp]
@[simp]
theorem
LO.Arith.fbit_two_mul_add_one_zero_eq_one
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈𝚺₀]
(a : V)
:
@[simp]