Theorem: LO.FirstOrder.Arith.Model.Exponential.exponential_odd_two_mul_sq (Arithmetization/ISigmaZero/Exponential/Exp.lean)

State before:
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈𝚫₀
x y : M
⊢ Exponential (2 * x + 1) (2 * y ^ 2) → Exponential x y
Tactic:
intro h
State after:
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈𝚫₀
x y : M
h : Exponential (2 * x + 1) (2 * y ^ 2)
⊢ Exponential x y

State before:
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈𝚫₀
x y : M
h : Exponential (2 * x + 1) (2 * y ^ 2)
⊢ Exponential x y
Tactic:
rcases exponential_exists_sq_of_exponential_odd h with ⟨y', e, h⟩
State after:
case intro.intro
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈𝚫₀
x y : M
h✝ : Exponential (2 * x + 1) (2 * y ^ 2)
y' : M
e : 2 * y ^ 2 = 2 * y' ^ 2
h : Exponential x y'
⊢ Exponential x y

State before:
case intro.intro
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈𝚫₀
x y : M
h✝ : Exponential (2 * x + 1) (2 * y ^ 2)
y' : M
e : 2 * y ^ 2 = 2 * y' ^ 2
h : Exponential x y'
⊢ Exponential x y
Tactic:
simpa [show y = y' from by simpa using e] using h
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 ⊧ₘ* 𝐈𝚫₀
x y : M
h✝ : Exponential (2 * x + 1) (2 * y ^ 2)
y' : M
e : 2 * y ^ 2 = 2 * y' ^ 2
h : Exponential x y'
⊢ y = y'
Tactic:
simpa using e
State after:
no goals