by_cases ine2 : i = 2
case neg
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
j : M
IH : ∀ y < j, ∀ i < y, Pow2 i → Pow2 y → LenBit i m → LenBit y m → i ^ 2 ≤ y
i : M
hij : i < j
pi : Pow2 i
pj : Pow2 j
hi : LenBit i m
hj : LenBit j m
jne2 : ¬j = 2
⊢ i ^ 2 ≤ j
case pos
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
j : M
IH : ∀ y < j, ∀ i < y, Pow2 i → Pow2 y → LenBit i m → LenBit y m → i ^ 2 ≤ y
i : M
hij : i < j
pi : Pow2 i
pj : Pow2 j
hi : LenBit i m
hj : LenBit j m
jne2 : ¬j = 2
ine2 : i = 2
⊢ i ^ 2 ≤ j

case neg
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
j : M
IH : ∀ y < j, ∀ i < y, Pow2 i → Pow2 y → LenBit i m → LenBit y m → i ^ 2 ≤ y
i : M
hij : i < j
pi : Pow2 i
pj : Pow2 j
hi : LenBit i m
hj : LenBit j m
jne2 : ¬j = 2
ine2 : ¬i = 2
⊢ i ^ 2 ≤ j