Theorem: LO.FirstOrder.Arith.Model.log_two_mul_of_pos (Arithmetization/ISigmaZero/Exponential/Log.lean)

State before:
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈𝚫₀
y : M
pos : 0 < y
⊢ log (2 * y) = log y + 1
Tactic:
rcases log_pos pos with ⟨y', hy', H, hy⟩
State after:
case intro.intro.intro
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈𝚫₀
y : M
pos : 0 < y
y' : M
hy' : y' ≤ y
H : Exponential (log y) y'
hy : y < 2 * y'
⊢ log (2 * y) = log y + 1

State before:
case intro.intro.intro
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈𝚫₀
y : M
pos : 0 < y
y' : M
hy' : y' ≤ y
H : Exponential (log y) y'
hy : y < 2 * y'
⊢ log (2 * y) = log y + 1
Tactic:
exact log_eq_of_pos (by simpa using pos) (Exponential.exponential_succ_mul_two.mpr H) (by simpa using hy') (by simpa using hy)
State after:
no goals

State before:
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈𝚫₀
y : M
pos : 0 < y
y' : M
hy' : y' ≤ y
H : Exponential (log y) y'
hy : y < 2 * y'
⊢ 0 < 2 * y
Tactic:
simpa using pos
State after:
no goals

State before:
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈𝚫₀
y : M
pos : 0 < y
y' : M
hy' : y' ≤ y
H : Exponential (log y) y'
hy : y < 2 * y'
⊢ 2 * y' ≤ 2 * y
Tactic:
simpa using hy'
State after:
no goals

State before:
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈𝚫₀
y : M
pos : 0 < y
y' : M
hy' : y' ≤ y
H : Exponential (log y) y'
hy : y < 2 * y'
⊢ 2 * y < 2 * (2 * y')
Tactic:
simpa using hy
State after:
no goals