Theorem: LO.FirstOrder.Arith.Model.SPPow2.two (Arithmetization/ISigmaZero/Exponential/PPow2.lean)

State before:
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈𝚫₀
m : M
hm : SPPow2 m
⊢ ¬LenBit 1 2
Tactic:
simp[LenBit.one]
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 ⊧ₘ* 𝐈𝚫₀
m : M
hm : SPPow2 m
⊢ LenBit 2 2
Tactic:
simp
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 ⊧ₘ* 𝐈𝚫₀
m : M
hm : SPPow2 m
⊢ ∀ i ≤ 2, Pow2 i → 2 < i → (LenBit i 2 ↔ (√i) ^ 2 = i ∧ LenBit (√i) 2)
Tactic:
intro i hi pi
State after:
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈𝚫₀
m : M
hm : SPPow2 m
i : M
hi : i ≤ 2
pi : Pow2 i
⊢ 2 < i → (LenBit i 2 ↔ (√i) ^ 2 = i ∧ LenBit (√i) 2)

State before:
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈𝚫₀
m : M
hm : SPPow2 m
i : M
hi : i ≤ 2
pi : Pow2 i
⊢ 2 < i → (LenBit i 2 ↔ (√i) ^ 2 = i ∧ LenBit (√i) 2)
Tactic:
rcases le_two_iff_eq_zero_or_one_or_two.mp hi with (rfl | rfl | rfl) <;> simp
State after:
no goals