{G : Type u} →
  {motive : RightCancelSemigroup G → Sort u_1} →
    ([toSemigroup : Semigroup G] →
        [toIsRightCancelMul : IsRightCancelMul G] →
          motive { toSemigroup := toSemigroup, toIsRightCancelMul := toIsRightCancelMul }) →
      (t : RightCancelSemigroup G) → motive t