∀ (R : Type u_1) (A : Type u_2) (M : Type u_4) (P : Type u_3) [inst : CommSemiring R] [inst_1 : CommSemiring A]
  [inst_2 : Algebra R A] [inst_3 : AddCommMonoid M] [inst_4 : Module R M] [inst_5 : Module A M]
  [inst_6 : IsScalarTower R A M] [inst_7 : AddCommMonoid P] [inst_8 : Module A P],
  SMulCommClass R A (TensorProduct A M P)