have : b = 1 ∨ 1 < b ∧ ∃ b', b = 2 * b' ∧ Pow2 b' := Pow2.elim'.mp hb
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✝ ⊧ₘ* 𝐈𝚫₀
M : Type u_1
inst✝³ : Zero M
inst✝² : One M
inst✝¹ : Add M
inst✝ : Mul M
IH✝ : LT M
a✝¹ : M ⊧ₘ* 𝐈𝚫₀
a✝ b✝ : M
ha✝¹ : Pow2 a✝
hb✝ : Pow2 b✝
hab✝ : a✝ ≤ b✝
b : M
IH : ∀ y < b, ∀ a ≤ y, Pow2 a → Pow2 y → Pow2 (a * y)
hb : Pow2 b
a : M
ha✝ : Pow2 a
hab : 2 * a ≤ b
ha : Pow2 (2 * a)
lta : 1 < 2 * a
⊢ Pow2 (2 * a * 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✝ ⊧ₘ* 𝐈𝚫₀
M : Type u_1
inst✝³ : Zero M
inst✝² : One M
inst✝¹ : Add M
inst✝ : Mul M
IH✝ : LT M
a✝¹ : M ⊧ₘ* 𝐈𝚫₀
a✝ b✝ : M
ha✝¹ : Pow2 a✝
hb✝ : Pow2 b✝
hab✝ : a✝ ≤ b✝
b : M
IH : ∀ y < b, ∀ a ≤ y, Pow2 a → Pow2 y → Pow2 (a * y)
hb : Pow2 b
a : M
ha✝ : Pow2 a
hab : 2 * a ≤ b
ha : Pow2 (2 * a)
lta : 1 < 2 * a
this : b = 1 ∨ 1 < b ∧ ∃ b', b = 2 * b' ∧ Pow2 b'
⊢ Pow2 (2 * a * b)