have : p ∣ q :=
  dvd_of_le hp hq (le_of_lt $
    lt_of_mul_lt_of_one_le_of_nonneg_left (by simpa [mul_comm a p] using h) (pos_iff_one_le.mp pos) (by simp))
case inr
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈𝚫₀
a b p q : M
hp : Pow2 p
hq : Pow2 q
h : a * p < q
hb : b < p
hbq : b < q
pos : 0 < a
⊢ a * p + b < q
case inr
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈𝚫₀
a b p q : M
hp : Pow2 p
hq : Pow2 q
h : a * p < q
hb : b < p
hbq : b < q
pos : 0 < a
this : p ∣ q
⊢ a * p + b < q