- ldual'of :: Mor a -> Mor a
- ldual :: Mor a -> Mor a
- ldual'r :: Mor a -> Mor a
- rdual'of :: Mor a -> Mor a
- rdual :: Mor a -> Mor a
- rdual'r :: Mor a -> Mor a
- unit'of :: Eq a => a -> Mor a -> Mor a -> Mor a
- unit :: Mor String -> Mor String -> Mor String
- unit'r :: Mor String -> Mor String -> Mor String
- counit'of :: Eq a => a -> Mor a -> Mor a -> Mor a
- counit :: Mor String -> Mor String -> Mor String
- counit'r :: Mor String -> Mor String -> Mor String
- zigzag'rule'Left :: Rule String
- zigzag'rule'Right :: Rule String
- braid'of :: Eq a => a -> Mor a -> Mor a -> Mor a
- braid :: Mor String -> Mor String -> Mor String
- braid'r :: Mor String -> Mor String -> Mor String
- unbraid'of :: Eq a => a -> Mor a -> Mor a -> Mor a
- unbraid :: Mor String -> Mor String -> Mor String
- unbraid'r :: Mor String -> Mor String -> Mor String
- braid'rule'Iso'Left :: Rule String
- braid'rule'Iso'Right :: Rule String
- braid'rule'Nat'Left :: Rule String
- braid'rule'Nat'Right :: Rule String
- braid'rule'Hex'Braid :: Rule String
- braid'rule'Hex'Unbraid :: Rule String
- cross'rule :: Rule String
- twist'of :: Eq a => a -> Mor a -> Mor a
- twist :: Mor String -> Mor String
- twist'r :: Mor String -> Mor String
- untwist'of :: Eq a => a -> Mor a -> Mor a
- untwist :: Mor String -> Mor String
- untwist'r :: Mor String -> Mor String
- twist'rule'Iso'Left :: Rule String
- twist'rule'Iso'Right :: Rule String
- twist'rule'Id :: Rule String
- twist'rule'Natural :: Rule String
- twist'rule'Braid :: Rule String
- dagger'of :: Eq a => Mor a -> Mor a
- dagger :: Eq a => Mor a -> Mor a
- dagger'r :: Eq a => Mor a -> Mor a
- dagger'rule'Id :: Rule String
- dagger'rule'Cofunctor :: Rule String
- dagger'rule'Inv :: Rule String
Duality
ldual'of :: Mor a -> Mor aSource
For given object create it's left dual: http://en.wikipedia.org/wiki/Dual_object.
rdual'of :: Mor a -> Mor aSource
For given object create it's right dual: http://en.wikipedia.org/wiki/Dual_object.
unit'of :: Eq a => a -> Mor a -> Mor a -> Mor aSource
For given dual pair of objects (x, y)
and name nm
call unit'of nm x y
to create named
duality unit arrow. Generates error if (x, y)
is not a dual pair.
unit :: Mor String -> Mor String -> Mor StringSource
Same as
, for usage in calculations.
unit'of
"\\eta"
unit'r :: Mor String -> Mor String -> Mor StringSource
Same as
, except that it does not check duality. For usage in
rule descriptions.
unit'of
"*\\eta"
counit'of :: Eq a => a -> Mor a -> Mor a -> Mor aSource
For given dual pair of objects (x, y)
and name nm
call counit'of nm x y
to create named
duality counit arrow. Generates error if (x, y)
is not a dual pair.
counit :: Mor String -> Mor String -> Mor StringSource
Same as
, for usage in calculations.
counit'of
"\\epsilon"
counit'r :: Mor String -> Mor String -> Mor StringSource
Same as
, except that it does not check duality. For usage in
rule descriptions.
counit'of
"*\\epsilon"
zigzag'rule'Left :: Rule StringSource
One of "zigzag rules" for duality.
zigzag'rule'Right :: Rule StringSource
One of "zigzag rules" for duality.
Braiding
braid'of :: Eq a => a -> Mor a -> Mor a -> Mor aSource
For given pair of objects (x, y)
and name nm
call braid'of nm x y
to create named
braid arrow: http://en.wikipedia.org/wiki/Braided_monoidal_category
braid :: Mor String -> Mor String -> Mor StringSource
Same as
, for usage in calculations.
braid'of
"\\beta"
braid'r :: Mor String -> Mor String -> Mor StringSource
Same as
, for usage in rule descriptions.
braid'of
"*\\beta"
unbraid'of :: Eq a => a -> Mor a -> Mor a -> Mor aSource
For given pair of objects (x, y)
and name nm
call unbraid'of nm x y
to create named
unbraid arrow (inverse of braid arrow).
unbraid :: Mor String -> Mor String -> Mor StringSource
Same as
, for usage in calculations.
unbraid'of
"\\beta^{-1}"
unbraid'r :: Mor String -> Mor String -> Mor StringSource
Same as
, for usage in rule descriptions.
unbraid'of
"*\\beta^{-1}"
braid'rule'Nat'Left :: Rule StringSource
Naturality rule on the "left wire".
braid'rule'Nat'Right :: Rule StringSource
Naturality rule on the "right wire".
braid'rule'Hex'Braid :: Rule StringSource
Hexagon identity for braid
, strict monoidal case.
braid'rule'Hex'Unbraid :: Rule StringSource
Hexagon identity for unbraid
, strict monoidal case.
Symmetry
cross'rule :: Rule StringSource
Rule for the "cross" arrow: it's simply self-inverse braid.
Twisting
twist'of :: Eq a => a -> Mor a -> Mor aSource
For given object x
and name nm
call twist'of nm x
to create named
twist arrow.
twist'r :: Mor String -> Mor StringSource
Same as
, for usage in rule descriptions.
twist'of
"*\\theta"
untwist'of :: Eq a => a -> Mor a -> Mor aSource
For given object x
and name nm
call untwist'of nm x
to create named
untwist arrow.
untwist :: Mor String -> Mor StringSource
Same as
, for usage in calculations.
untwist'of
"\\theta^{-1}"
untwist'r :: Mor String -> Mor StringSource
Same as
, for usage in rule descriptions.
untwist'of
"*\\theta^{-1}"
twist'rule'Id :: Rule StringSource
Twisting the identity object changes nothing.
twist'rule'Natural :: Rule StringSource
Twisting naturality.
twist'rule'Braid :: Rule StringSource
Twist/braid interaction.
Dagger
dagger'rule'Id :: Rule StringSource
As contravariant functor dagger
maps id's to id's.
dagger'rule'Cofunctor :: Rule StringSource
dagger
is contravariant functor, i.e. inverts composition order.
dagger'rule'Inv :: Rule StringSource
dagger
involution rule.