Interface Monoidal<Cat, T1, I1, T2, I2, F>

All instance of Monoidal must satisfy:

  • Right unitality: For all x; combine(genericRightMap(introduce)(x)) == backward(rightUnit)(forward(rightUnit)(x)),
  • Left unitality: For all x; combine(genericLeftMap(introduce)(x)) == map(backward(leftUnit)(forward(leftUnit)(x))).

Type Parameters

  • Cat

  • T1

  • I1

  • T2

  • I2

  • F

Hierarchy

Properties

assoc1: Associative<Cat, T1>
assoc2: Associative<Cat, T2>
combine: (<X, Y>() => Instance<Apply2<Cat, Instance<Apply1<F, Instance<Apply2<T1, Y, X>>>>, Instance<Apply2<T2, Instance<Apply1<F, Y>>, Instance<Apply1<F, X>>>>>>)

Type declaration

introduce: Instance<Apply2<Cat, Instance<Apply1<F, I1>>, I2>>
tensor1: Tensor<Cat, T1, I1>
tensor2: Tensor<Cat, T2, I2>

Generated using TypeDoc