∀ {α : Type u_1} [inst : CommMonoidWithZero α] [inst_1 : DecidableEq α] (gcd : α → α → α)
  (gcd_dvd_left : ∀ (a b : α), gcd a b ∣ a) (a b : α),
  Associated (gcd a b * if a = 0 then 0 else Classical.choose ⋯) (a * b)