∀ (R : Type uR) (A : Type uA) (B : Type uB) (M : Type uM) (N : Type uN) (P : Type uP) [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 : Module B P] [inst_16 : IsScalarTower R B P] [inst_17 : SMulCommClass A B P]
  (f : TensorProduct R M N →ₗ[A] P),
  (TensorProduct.AlgebraTensorModule.lcurry R A B M N P) f = TensorProduct.AlgebraTensorModule.curry f