Exponential function #
This file provides a proof of the theorem states that the graph of exponential function is definable by $\Sigma_0$-formula and it's inductive property is provable in $\mathsf{I}\Sigma_0$.
noncomputable def
LO.FirstOrder.Arithmetic.ext
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₀]
(u z : V)
:
V
Equations
- LO.FirstOrder.Arithmetic.ext u z = z / u % u
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
instance
LO.FirstOrder.Arithmetic.ext_definable
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₀]
:
def
LO.FirstOrder.Arithmetic.Exponential.Seq₀
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₀]
(X Y : V)
:
Equations
Instances For
def
LO.FirstOrder.Arithmetic.Exponential.Seqₛ.Even
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₀]
(X Y u : V)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
LO.FirstOrder.Arithmetic.Exponential.Seqₛ.Odd
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₀]
(X Y u : V)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
LO.FirstOrder.Arithmetic.Exponential.Seqₛ
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₀]
(y X Y : V)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
LO.FirstOrder.Arithmetic.Exponential.Seqₘ
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₀]
(x y X Y : V)
:
Equations
- LO.FirstOrder.Arithmetic.Exponential.Seqₘ x y X Y = ∃ u ≤ y ^ 2, u ≠ 2 ∧ LO.FirstOrder.Arithmetic.PPow2 u ∧ LO.FirstOrder.Arithmetic.ext u X = x ∧ LO.FirstOrder.Arithmetic.ext u Y = y
Instances For
def
LO.FirstOrder.Arithmetic.Exponential
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₀]
(x y : V)
:
The graph of the exponential function
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
LO.FirstOrder.Arithmetic.Exponential.Seqₛ.iff
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₀]
(y X Y : V)
:
Seqₛ y X Y ↔ ∀ u ≤ y,
u ≠ 2 →
PPow2 u →
((∃ ext_u_X ≤ X, ext_u_X = ext u X ∧ 2 * ext_u_X = ext (u ^ 2) X) ∧ ∃ ext_u_Y ≤ Y, ext_u_Y = ext u Y ∧ ext_u_Y ^ 2 = ext (u ^ 2) Y) ∨ (∃ ext_u_X ≤ X, ext_u_X = ext u X ∧ 2 * ext_u_X + 1 = ext (u ^ 2) X) ∧ ∃ ext_u_Y ≤ Y, ext_u_Y = ext u Y ∧ 2 * ext_u_Y ^ 2 = ext (u ^ 2) Y
Equations
- One or more equations did not get rendered due to their size.
Instances For
instance
LO.FirstOrder.Arithmetic.Exponential.Seqₛ.defined
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₀]
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
instance
LO.FirstOrder.Arithmetic.Exponential.defined
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₀]
:
The graph of the exponential function can be defined by the $\Delta_0$-formula.
instance
LO.FirstOrder.Arithmetic.exponential_definable
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₀]
:
The graph of the exponential function can be defined by the $\Delta_0$-formula.
@[simp]
instance
LO.FirstOrder.Arithmetic.exponential_definable'
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₀]
(Γ : HierarchySymbol)
:
def
LO.FirstOrder.Arithmetic.Exponential.seqX₀
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₀]
:
V
Equations
Instances For
def
LO.FirstOrder.Arithmetic.Exponential.seqY₀
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₀]
:
V
Equations
Instances For
theorem
LO.FirstOrder.Arithmetic.Exponential.one_lt_four
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₀]
:
theorem
LO.FirstOrder.Arithmetic.Exponential.two_lt_three
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₀]
:
theorem
LO.FirstOrder.Arithmetic.Exponential.three_lt_four
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₀]
:
theorem
LO.FirstOrder.Arithmetic.Exponential.two_lt_four
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₀]
:
noncomputable def
LO.FirstOrder.Arithmetic.Exponential.append
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₀]
(i X z : V)
:
V
Equations
- LO.FirstOrder.Arithmetic.Exponential.append i X z = X % i + z * i
Instances For
theorem
LO.FirstOrder.Arithmetic.Exponential.Seq₀.append
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₀]
{X Y i x y : V}
(H : Seq₀ X Y)
(ppi : PPow2 i)
(hi : 4 < i)
:
Seq₀ (Exponential.append i X x) (Exponential.append i Y y)
theorem
LO.FirstOrder.Arithmetic.Exponential.Seqₛ.append
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₀]
{z x y X Y i : V}
(h : Seqₛ z X Y)
(ppi : PPow2 i)
(hz : z < i)
:
Seqₛ z (Exponential.append (i ^ 2) X x) (Exponential.append (i ^ 2) Y y)
@[simp]
theorem
LO.FirstOrder.Arithmetic.Exponential.exponential_zero_one
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₀]
:
Exponential 0 1
@[simp]
theorem
LO.FirstOrder.Arithmetic.Exponential.exponential_one_two
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₀]
:
Exponential 1 2
theorem
LO.FirstOrder.Arithmetic.Exponential.range_pow2
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₀]
{x y : V}
(h : Exponential x y)
:
Pow2 y
theorem
LO.FirstOrder.Arithmetic.Exponential.exponential_exists_sq_of_exponential_even
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₀]
{x y : V}
:
Exponential (2 * x) y → ∃ (y' : V), y = y' ^ 2 ∧ Exponential x y'
theorem
LO.FirstOrder.Arithmetic.Exponential.bit_zero
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₀]
{x y : V}
:
Exponential x y → Exponential (2 * x) (y ^ 2)
theorem
LO.FirstOrder.Arithmetic.Exponential.exponential_even
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₀]
{x y : V}
:
theorem
LO.FirstOrder.Arithmetic.Exponential.exponential_even_sq
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₀]
{x y : V}
:
theorem
LO.FirstOrder.Arithmetic.Exponential.exponential_exists_sq_of_exponential_odd
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₀]
{x y : V}
:
Exponential (2 * x + 1) y → ∃ (y' : V), y = 2 * y' ^ 2 ∧ Exponential x y'
theorem
LO.FirstOrder.Arithmetic.Exponential.bit_one
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₀]
{x y : V}
:
Exponential x y → Exponential (2 * x + 1) (2 * y ^ 2)
theorem
LO.FirstOrder.Arithmetic.Exponential.exponential_odd
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₀]
{x y : V}
:
theorem
LO.FirstOrder.Arithmetic.Exponential.exponential_odd_two_mul_sq
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₀]
{x y : V}
:
theorem
LO.FirstOrder.Arithmetic.Exponential.range_pos
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₀]
{x y : V}
(h : Exponential x y)
:
theorem
LO.FirstOrder.Arithmetic.Exponential.lt
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₀]
{x y : V}
(h : Exponential x y)
:
theorem
LO.FirstOrder.Arithmetic.Exponential.not_exponential_of_le
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₀]
{x y : V}
(h : x ≤ y)
:
¬Exponential y x
@[simp]
theorem
LO.FirstOrder.Arithmetic.Exponential.exponential_two_four
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₀]
:
Exponential 2 4
theorem
LO.FirstOrder.Arithmetic.Exponential.exponential_succ
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₀]
{x y : V}
:
theorem
LO.FirstOrder.Arithmetic.Exponential.exponential_succ_mul_two
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₀]
{x y : V}
:
theorem
LO.FirstOrder.Arithmetic.Exponential.of_succ_two_mul
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₀]
{x y : V}
:
Exponential (x + 1) (2 * y) → Exponential x y
Alias of the forward direction of LO.FirstOrder.Arithmetic.Exponential.exponential_succ_mul_two.
theorem
LO.FirstOrder.Arithmetic.Exponential.succ
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₀]
{x y : V}
:
Exponential x y → Exponential (x + 1) (2 * y)
Alias of the reverse direction of LO.FirstOrder.Arithmetic.Exponential.exponential_succ_mul_two.
theorem
LO.FirstOrder.Arithmetic.Exponential.zero_uniq
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₀]
{y : V}
(h : Exponential 0 y)
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Exponential.zero_uniq_iff
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₀]
{y : V}
:
theorem
LO.FirstOrder.Arithmetic.Exponential.succ_lt_s
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₀]
{x y : V}
(h : Exponential (x + 1) y)
:
theorem
LO.FirstOrder.Arithmetic.Exponential.uniq
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₀]
{x y₁ y₂ : V}
:
Exponential x y₁ → Exponential x y₂ → y₁ = y₂
theorem
LO.FirstOrder.Arithmetic.Exponential.inj
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₀]
{x₁ x₂ y : V}
:
Exponential x₁ y → Exponential x₂ y → x₁ = x₂
theorem
LO.FirstOrder.Arithmetic.Exponential.monotone
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₀]
{x₁ x₂ y₁ y₂ : V}
:
Exponential x₁ y₁ → Exponential x₂ y₂ → x₁ < x₂ → y₁ < y₂
theorem
LO.FirstOrder.Arithmetic.Exponential.monotone_le
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₀]
{x₁ x₂ y₁ y₂ : V}
(h₁ : Exponential x₁ y₁)
(h₂ : Exponential x₂ y₂)
:
theorem
LO.FirstOrder.Arithmetic.Exponential.monotone_iff
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₀]
{x₁ x₂ y₁ y₂ : V}
(h₁ : Exponential x₁ y₁)
(h₂ : Exponential x₂ y₂)
:
theorem
LO.FirstOrder.Arithmetic.Exponential.monotone_le_iff
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₀]
{x₁ x₂ y₁ y₂ : V}
(h₁ : Exponential x₁ y₁)
(h₂ : Exponential x₂ y₂)
:
theorem
LO.FirstOrder.Arithmetic.Exponential.add_mul
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₀]
{x₁ x₂ y₁ y₂ : V}
(h₁ : Exponential x₁ y₁)
(h₂ : Exponential x₂ y₂)
:
Exponential (x₁ + x₂) (y₁ * y₂)
theorem
LO.FirstOrder.Arithmetic.Exponential.range_exists
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
(x : V)
:
∃ (y : V), Exponential x y
The exponential function is proved to be total in $\mathsf I Σ_1$.
theorem
LO.FirstOrder.Arithmetic.Exponential.range_exists_unique
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
(x : V)
:
@[implicit_reducible]
noncomputable instance
LO.FirstOrder.Arithmetic.instExp
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
:
Exp V
Equations
- LO.FirstOrder.Arithmetic.instExp = { «exp» := fun (a : V) => Classical.choose! ⋯ }
theorem
LO.FirstOrder.Arithmetic.exponential_exp
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
(a : V)
:
Exponential a (Exp.exp a)
theorem
LO.FirstOrder.Arithmetic.exponential_graph
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{a b : V}
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
instance
LO.FirstOrder.Arithmetic.exp_defined_deltaZero
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
:
instance
LO.FirstOrder.Arithmetic.exp_definable_deltaZero
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
:
theorem
LO.FirstOrder.Arithmetic.exp_of_exponential
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{a b : V}
(h : Exponential a b)
: