{M₀ : Type u_2} →
  {motive : CommMonoidWithZero M₀ → Sort u} →
    ([toCommMonoid : CommMonoid M₀] →
        [toZero : Zero M₀] →
          (zero_mul : ∀ (a : M₀), 0 * a = 0) →
            (mul_zero : ∀ (a : M₀), a * 0 = 0) →
              motive { toCommMonoid := toCommMonoid, toZero := toZero, zero_mul := zero_mul, mul_zero := mul_zero }) →
      (t : CommMonoidWithZero M₀) → motive t