{R : Type u_1} →
  {R' : Type u_4} →
    [inst : CommSemiring R] →
      [inst_1 : Monoid R'] →
        {M : Type u_7} →
          {N : Type u_8} →
            [inst_2 : AddCommMonoid M] →
              [inst_3 : AddCommMonoid N] →
                [inst_4 : DistribMulAction R' M] →
                  [inst_5 : Module R M] →
                    [inst_6 : Module R N] →
                      [inst_7 : DistribMulAction R' N] →
                        {motive : TensorProduct.CompatibleSMul R R' M N → Sort u} →
                          ((smul_tmul : ∀ (r : R') (m : M) (n : N), (r • m) ⊗ₜ[R] n = m ⊗ₜ[R] (r • n)) → motive ⋯) →
                            (t : TensorProduct.CompatibleSMul R R' M N) → motive t