∀ (R : Type u_1) (A : Type u_7) (B : Type u_2) (M : Type u_5) (N : Type u_6) (P : Type u_3) (Q : Type u_4)
  [inst : CommSemiring R] [inst_1 : Semiring A] [inst_2 : Semiring B] [inst_3 : Algebra R A] [inst_4 : Algebra R B]
  [inst_5 : AddCommMonoid M] [inst_6 : Module R M] [inst_7 : Module A M] [inst_8 : IsScalarTower R A M]
  [inst_9 : AddCommMonoid N] [inst_10 : Module R N] [inst_11 : AddCommMonoid P] [inst_12 : Module R P]
  [inst_13 : Module A P] [inst_14 : IsScalarTower R A P] [inst_15 : AddCommMonoid Q] [inst_16 : Module R Q]
  [inst_17 : Module B P] [inst_18 : IsScalarTower R B P] [inst_19 : SMulCommClass A B P],
  SMulCommClass R B (TensorProduct R M N →ₗ[A] TensorProduct R P Q)