{R : Type uR} →
  {S : Type uS} →
    {A : Type uA} →
      (B : Type uB) →
        {C : Type uC} →
          [inst : CommSemiring R] →
            [inst_1 : CommSemiring S] →
              [inst_2 : Algebra R S] →
                [inst_3 : Semiring A] →
                  [inst_4 : Algebra R A] →
                    [inst_5 : Algebra S A] →
                      [inst_6 : IsScalarTower R S A] →
                        [inst_7 : Semiring B] →
                          [inst_8 : Algebra R B] →
                            [inst_9 : Semiring C] →
                              [inst_10 : Algebra R C] →
                                [inst_11 : Algebra S C] →
                                  [inst_12 : IsScalarTower R S C] →
                                    (A →ₐ[S] C) → TensorProduct R A B →ₐ[S] TensorProduct R C B