have : √i < √j := by
  by_contra A
  have : j ≤ i := by simpa [hi.sq_sqrt_eq ei, hj.sq_sqrt_eq ej] using sq_le_sq.mpr (show √j ≤ √i from by simpa using A)
  exact False.elim ((not_lt.mpr this) (by simpa using hij))
case neg
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈𝚫₀
i✝ j : M
IH : ∀ y < j, ∀ i < y, PPow2 i → PPow2 y → i ^ 2 ≤ y
i : M
hij : i < j
hi : PPow2 i
hj : PPow2 j
ej : ¬j = 2
ei : ¬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 ⊧ₘ* 𝐈𝚫₀
i✝ j : M
IH : ∀ y < j, ∀ i < y, PPow2 i → PPow2 y → i ^ 2 ≤ y
i : M
hij : i < j
hi : PPow2 i
hj : PPow2 j
ej : ¬j = 2
ei : ¬i = 2
this : √i < √j
⊢ i ^ 2 ≤ j