by_cases ha : 2 < i <;> simp [ha, ←elim]
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈𝚫₀
i : M
⊢ PPow2 i ↔ i = 2 ∨ 2 < i ∧ ∃ j, i = j ^ 2 ∧ PPow2 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 : M
ha : ¬2 < i
⊢ PPow2 i ↔ i = 2