{M : Type u} →
  {motive : AddZeroClass M → Sort u_1} →
    (t : AddZeroClass M) →
      ([toAddZero : AddZero M] →
          (zero_add : ∀ (a : M), 0 + a = a) →
            (add_zero : ∀ (a : M), a + 0 = a) →
              motive { toAddZero := toAddZero, zero_add := zero_add, add_zero := add_zero }) →
        motive t