∀ {α : Type u_1} [inst : CommMonoidWithZero α] [IsCancelMulZero α] [inst_2 : NormalizationMonoid α]
  [inst_3 : DecidableEq α] (lcm : α → α → α) (lcm_dvd : ∀ {a b c : α}, c ∣ a → b ∣ a → lcm c b ∣ a),
  (∀ (a b : α), normalize (lcm a b) = lcm a b) →
    ∀ (a b : α),
      normalize (if a = 0 then normalize b else if b = 0 then normalize a else Classical.choose ⋯) =
        if a = 0 then normalize b else if b = 0 then normalize a else Classical.choose ⋯