pivotal#
The free pivotal category, i.e. diagrams with cups and caps that can rotate by a full turn.
Summary#
A pivotal object is a rigid object where left and right adjoints coincide. |
|
A pivotal type is a rigid type with pivotal objects inside. |
|
A pivotal diagram is a rigid diagram and a traced diagram with pivotal types as domain and codomain. |
|
A pivotal box is a rigid box in a pivotal diagram. |
|
A pivotal cup is a rigid cup of pivotal types. |
|
A pivotal cap is a rigid cap of pivotal types. |
|
A pivotal category is a rigid category where left and right adjoints coincide. |
|
A pivotal functor is a rigid functor on a pivotal category. |
Axioms#
A pivotal category is a rigid category where left and right transpose coincide.
>>> x, y, z = map(Ty, "xyz")
>>> assert x.r == x.l and x.l.l == x == x.r.r
>>> f = Box('f', x, y)
>>> from discopy.drawing import Equation
>>> Equation(f.transpose(left=True), f.r, f.transpose(left=False)).draw(
... path="docs/_static/pivotal/axiom.png")
For each diagram, we have its conjugate:
>>> d = Box('g', x @ y, z).curry()
>>> Equation(d, d.conjugate(), symbol="").draw(
... space=2, path="docs/_static/pivotal/box-conjugate.png")
We also have its dagger and its transpose:
>>> Equation(d.dagger(), d.rotate(), symbol="").draw(
... space=2, path="docs/_static/pivotal/dagger-transpose.png")