Log #
Imported declaration from the Incompleteness formalization.
Equations
Instances For
theorem
LO.Arith.log_pos
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈Sg0]
{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 ⊧ₘ* 𝐈Sg0]
{y : V}
(pos : 0 < y)
:
@[simp]
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.log_eq_of_pos
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈Sg0]
{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 ⊧ₘ* 𝐈Sg0]
{x y : V}
(H : Exponential x y)
:
theorem
LO.Arith.exponential_of_pow2
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈Sg0]
{p : V}
(pp : Pow2 p)
:
Exponential (log p) p
Imported declaration from the Incompleteness formalization.
Equations
- LO.Arith.binaryLength a = if 0 < a then LO.Arith.log a + 1 else 0
Instances For
@[implicit_reducible]
Imported declaration from the Incompleteness formalization.
Equations
- LO.Arith.instLength = { length := LO.Arith.binaryLength }
Instances For
@[simp]
@[simp]
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.instBounded₁Length
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈Sg0]
:
FirstOrder.Arith.Bounded₁ fun (x : V) => Length.length x
@[simp]
theorem
LO.Arith.Exponential.length_eq
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈Sg0]
{x y : V}
(H : Exponential x y)
:
theorem
LO.Arith.length_two_mul_of_pos
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈Sg0]
{a : V}
(pos : 0 < a)
:
theorem
LO.Arith.length_mul_pow2_add_of_lt
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈Sg0]
{a p b : V}
(pos : 0 < a)
(pp : Pow2 p)
(hb : b < p)
:
theorem
LO.Arith.length_mul_pow2
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈Sg0]
{a p : V}
(pos : 0 < a)
(pp : Pow2 p)
:
theorem
LO.Arith.pos_of_lt_length
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈Sg0]
{a b : V}
(h : a < Length.length b)
:
@[simp]
@[simp]
theorem
LO.Arith.le_log_of_lt_length
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈Sg0]
{a b : V}
(h : a < Length.length b)
:
theorem
LO.Arith.exponential_log_le_self
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈Sg0]
{a b : V}
(pos : 0 < a)
(h : Exponential (log a) b)
:
theorem
LO.Arith.lt_exponential_log_self
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈Sg0]
{a b : V}
(h : Exponential (log a) b)
:
theorem
LO.Arith.lt_exp_len_self
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈Sg0]
{a b : V}
(h : Exponential (Length.length a) b)
:
theorem
LO.Arith.le_iff_le_log_of_exp
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈Sg0]
{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 ⊧ₘ* 𝐈Sg0]
{x y a : V}
(H : Exponential x y)
:
theorem
LO.Arith.Exponential.lt_iff_log_lt
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈Sg0]
{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 ⊧ₘ* 𝐈Sg0]
{x y a : V}
(H : Exponential x y)
:
theorem
LO.Arith.Exponential.le_of_lt_length
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈Sg0]
{x y a : V}
(H : Exponential x y)
:
x < Length.length a → y ≤ a
theorem
LO.Arith.Exponential.le_log
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈Sg0]
{x y : V}
(H : Exponential x y)
:
theorem
LO.Arith.Exponential.lt_length
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈Sg0]
{x y : V}
(H : Exponential x y)
:
theorem
LO.Arith.lt_exponential_length
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈Sg0]
{a b : V}
(h : Exponential (Length.length a) b)
:
theorem
LO.Arith.brange_exists_unique
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈Sg0]
(a x : V)
:
x < Length.length a → ∃! y : V, Exponential x y
theorem
LO.Arith.exp_bexp_of_lt
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈Sg0]
{a x : V}
(h : x < Length.length a)
:
Exponential x (bexp a x)
theorem
LO.Arith.bexp_eq_zero_of_le
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈Sg0]
{a x : V}
(h : Length.length a ≤ x)
:
@[simp]
@[simp]
@[simp]
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.bexp_defined_iff
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈Sg0]
(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_monotone_iff
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈Sg0]
{a i j : V}
(hi : i < Length.length a)
(hj : j < Length.length a)
:
theorem
LO.Arith.bexp_monotone_le_iff
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈Sg0]
{a i j : V}
(hi : i < Length.length a)
(hj : j < Length.length a)
:
theorem
LO.Arith.bexp_eq_of_lt_length
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈Sg0]
{i a a' : V}
(ha : i < Length.length a)
(ha' : i < Length.length a')
:
@[simp]
theorem
LO.Arith.bexp_pow2
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈Sg0]
{a x : V}
(h : x < Length.length a)
:
@[simp]
theorem
LO.Arith.lt_bexp
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈Sg0]
{a x : V}
(h : x < Length.length a)
:
@[simp]
theorem
LO.Arith.bexp_pos
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈Sg0]
{a x : V}
(h : x < Length.length a)
:
theorem
LO.Arith.lt_bexp_len
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈Sg0]
{a x : V}
(h : Length.length x < Length.length a)
:
theorem
LO.Arith.bexp_eq_of_exp
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈Sg0]
{y a x : V}
(h : x < Length.length a)
(H : Exponential x y)
:
theorem
LO.Arith.log_bexp
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈Sg0]
{a x : V}
(h : x < Length.length a)
:
theorem
LO.Arith.len_bexp
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈Sg0]
{a x : V}
(h : x < Length.length a)
:
@[simp]
@[simp]
theorem
LO.Arith.bexp_monotone
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈Sg0]
{a₁ x₁ a₂ x₂ : V}
(h₁ : x₁ < Length.length a₁)
(h₂ : x₂ < Length.length a₂)
:
theorem
LO.Arith.bexp_monotone_le
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈Sg0]
{a₁ x₁ a₂ x₂ : V}
(h₁ : x₁ < Length.length a₁)
(h₂ : x₂ < Length.length a₂)
:
theorem
LO.Arith.bexp_add
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈Sg0]
{x₁ x₂ a : V}
(h : x₁ + x₂ < Length.length a)
:
theorem
LO.Arith.bexp_two_mul
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈Sg0]
{a a' x : V}
(hx : 2 * x < Length.length a)
(hx' : x < Length.length a')
:
Imported declaration from the Incompleteness formalization.
Equations
- LO.Arith.fbit a i = a / LO.Arith.bexp a i % 2
Instances For
@[simp]
@[simp]
theorem
LO.Arith.fbit_eq_zero_of_le
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈Sg0]
{a i : V}
(hi : Length.length a ≤ i)
:
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.fbit_defined_iff
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈Sg0]
(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 ⊧ₘ* 𝐈Sg0]
(a : V)
:
@[simp]
@[simp]
theorem
LO.Arith.length_mul_exp_add_of_lt
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈Sg1]
{a b : V}
(pos : 0 < a)
(i : V)
(hb : b < exp i)
:
theorem
LO.Arith.length_mul_exp
{V : Type u_1}
[ORingStruc V]
[V ⊧ₘ* 𝐈Sg1]
{a : V}
(pos : 0 < a)
(i : V)
: