have : a = 1 ∨ 1 < a ∧ ∃ a', a = 2 * a' ∧ Pow2 a' := Pow2.elim'.mp ha
case inr.intro.intro.intro
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈𝚫₀
a✝ b✝ : M
ha✝ : Pow2 a✝
hb✝¹ : Pow2 b✝
a : M
ha : Pow2 a
b : M
hb✝ : Pow2 b
IH : ∀ y < 2 * b, ∀ a ≤ y, Pow2 a → Pow2 y → a ∣ y
hab : a ≤ 2 * b
hb : Pow2 (2 * b)
ltb : 1 < 2 * b
⊢ a ∣ 2 * b
case inr.intro.intro.intro
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈𝚫₀
a✝ b✝ : M
ha✝ : Pow2 a✝
hb✝¹ : Pow2 b✝
a : M
ha : Pow2 a
b : M
hb✝ : Pow2 b
IH : ∀ y < 2 * b, ∀ a ≤ y, Pow2 a → Pow2 y → a ∣ y
hab : a ≤ 2 * b
hb : Pow2 (2 * b)
ltb : 1 < 2 * b
this : a = 1 ∨ 1 < a ∧ ∃ a', a = 2 * a' ∧ Pow2 a'
⊢ a ∣ 2 * b