{R : Type u_7} →
  {S : Type u_8} →
    [inst : Mul R] →
      [inst_1 : Mul S] →
        [inst_2 : Add R] →
          [inst_3 : Add S] →
            {motive : R ≃+* S → Sort u} →
              (t : R ≃+* S) →
                ((toEquiv : R ≃ S) →
                    (map_mul' : ∀ (x y : R), toEquiv.toFun (x * y) = toEquiv.toFun x * toEquiv.toFun y) →
                      (map_add' : ∀ (x y : R), toEquiv.toFun (x + y) = toEquiv.toFun x + toEquiv.toFun y) →
                        motive { toEquiv := toEquiv, map_mul' := map_mul', map_add' := map_add' }) →
                  motive t