calc
  ext i (append j X z) = ext i ((X % j) + z * j)       := rfl
  _                    = ext i (X % j)                 := ext_add_of_dvd_sq_right hi.pos (Dvd.dvd.mul_left this z)
  _                    = ext i (j * (X / j) + (X % j)) := by rw [add_comm]; refine Eq.symm <| ext_add_of_dvd_sq_right hi.pos (Dvd.dvd.mul_right this _)
  _                    = ext i X                         := by simp [div_add_mod]
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈𝚫₀
i j : M
hi : PPow2 i
hj : PPow2 j
hij : i < j
X z : M
this : i ^ 2 ∣ j
⊢ ext i (append j X z) = ext i X
no goals