Functor#

class discopy.biclosed.Functor(ob, ar, ob_factory=<class 'discopy.biclosed.Ty'>, ar_factory=<class 'discopy.biclosed.Diagram'>)[source]#

Bases: Functor

Functors into biclosed monoidal categories.

Examples

>>> from discopy import rigid
>>> x, y = Ty('x'), Ty('y')
>>> F = Functor(
...     ob={x: x, y: y}, ar={},
...     ob_factory=rigid.Ty,
...     ar_factory=rigid.Diagram)
>>> print(F(y >> x << y))
y.r @ x @ y.l
>>> assert F((y >> x) << y) == F(y >> (x << y))