an['j      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghi    ,  Rule type #Declares equality of two morphisms Morphism data type $Naturally transformational modifier Functionional modifier Composition of morphisms Tensor product of morphisms Identity morphism Atomary morphism "Types of the functional modifier. Contravariant functor Covariant functor Function on objects jklmnClass of morphisms. 8Returns domain of the given morphism (actually its id). ;Returns codomain of the given morphism (actually its id). Checks whether morphism is id. 6Composition of two morphisms (should be associative). !Tensor product of two morphisms. 6Normalizes the term representing morphism, e.g. turns ((a \* b) \* c) to (a \* b \* c) /Checks whether morphism is an atomary formula. Creates ; by morphism information (e.g. name), domain and codomain. YCreates generalized element, i.e. an arrow from the identity object to the given object. _Creates generalized coelement, i.e. an arrow from the the given object to the identity object. !*Creates object (actually its id). Same as ". "Creates object id. Same as !. #Identity object, tid \* f == f in strict monoidal category. op$Turns recursively (a \* b) \. (c \* d) to (a \. c) \* (b \. d). %Turns recursively (a \. c) \* (b \. d) to (a \* b) \. (c \* d). qrstu&ACollects atomary subterms of the given arrow as keys of the map. 'x \== y is the same as   x y ( Applies the   to the given morphism  !"#$%&'(    !"#$%& '(    !"#$%&'()Labelled arrow data type. *+,-./0)Removes labels and returns corresponding  . 10Returns the label of the given marked morphism. 2?Applies operation to the marked subterm of the given morphism. 3?Applies operation to the marked subterm of the given morphism. 4 modif s lf op == 0 $ 3 s lf op5MChooses subterm of an associative operation (composition or tensor product). 6&Returns the given morphism marked up. )*+,-./0123456)/.-,+*6043251)/.-,+**+,-./01234567+Class providing information in LaTeX form. 8Returns short description 9Returns detailed description :3Returns LaTeX description of an object of category ;  ptex f = do v $ 8 f<  pobj f = do v $ : f=  pdoc f = do v $ 9 f789:;<=789:;<=78989:;<=,>For given object create it' s left dual:  (http://en.wikipedia.org/wiki/Dual_object. ?Same as >, for usage in calculations. @Same as >", for usage in rule descriptions. AFor given object create it's right dual:  (http://en.wikipedia.org/wiki/Dual_object. BSame as A, for usage in calculations. CSame as A", for usage in rule descriptions. DFor 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. ESame as D "\\eta", for usage in calculations. FSame as D "*\\eta"6, except that it does not check duality. For usage in  rule descriptions. GFor 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. HSame as G "\\epsilon", for usage in calculations. ISame as G "*\\epsilon"6, except that it does not check duality. For usage in  rule descriptions. JOne of " zigzag rules" for duality. KOne of " zigzag rules" for duality. LFor given pair of objects (x, y) and name nm call braid' of nm x y to create named  braid arrow:  6http://en.wikipedia.org/wiki/Braided_monoidal_category MSame as L "\\beta", for usage in calculations. NSame as L "*\\beta"", for usage in rule descriptions. OFor given pair of objects (x, y) and name nm call unbraid' of nm x y to create named ) unbraid arrow (inverse of braid arrow). PSame as O "\\ beta^{-1}", for usage in calculations. QSame as O "*\\ beta^{-1}"", for usage in rule descriptions. RIsomorphism rule: P as inverse of M. SIsomorphism rule: M as inverse of P. TNaturality rule on the " left wire". UNaturality rule on the " right wire". VHexagon identity for M, strict monoidal case. WHexagon identity for P, strict monoidal case. X Rule for the "cross" arrow: it's simply self-inverse braid. YFor given object x and name nm call twist'of nm x to create named  twist arrow. ZSame as Y "\\theta", for usage in calculations. [Same as Y "*\\theta"", for usage in rule descriptions. \For given object x and name nm call untwist'of nm x to create named  untwist arrow. ]Same as \ "\\ theta^{-1}", for usage in calculations. ^Same as \ "*\\ theta^{-1}"", for usage in rule descriptions. _Isomorphism rule: ] as inverse of Z. `Isomorphism rule: Z as inverse of ]. a.Twisting the identity object changes nothing. bTwisting naturality. cTwist/braid interaction. ddagger'of f' creates daggered version of the arrow f. eSame as d, for usage in calculations. fSame as d", for usage in rule descriptions. gAs contravariant functor e maps id's to id's. he; is contravariant functor, i.e. inverts composition order. ie involution rule. 0wxyz>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghi,>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghi,>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghie  !"#$%&'()*+,-./0123456789:;<=wxyz>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghi{      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnoppqrstuvwxyz{|}~ Monocle-0.0.4 Monocle.Utils Monocle.CoreMonocle.Markup Monocle.Tex Monocle.RulesMonocleWrap PrintablestrMStackpoppushtappendtcombineRuleDefEqualMor TransformFunc CompositionTensorIdArrowFuncT CofunctorFunctorFunctionMorphismdomcodisId\.\*nrmatomaryarrowelement coelementobjectobjectIdtidverthorzcollect\==applyLab MTransformMFunc MCompositionMTensorMIdMArrowunmarkgetLabelmodifLabmodif'modifchoosemarkupTexifiedtexdoctexObjptexpobjpdocldual'ofldualldual'rrdual'ofrdualrdual'runit'ofunitunit'r counit'ofcounitcounit'rzigzag'rule'Leftzigzag'rule'Rightbraid'ofbraidbraid'r unbraid'ofunbraid unbraid'rbraid'rule'Iso'Leftbraid'rule'Iso'Rightbraid'rule'Nat'Leftbraid'rule'Nat'Rightbraid'rule'Hex'Braidbraid'rule'Hex'Unbraid cross'ruletwist'oftwisttwist'r untwist'ofuntwist untwist'rtwist'rule'Iso'Lefttwist'rule'Iso'Right twist'rule'Idtwist'rule'Naturaltwist'rule'Braid dagger'ofdaggerdagger'rdagger'rule'Iddagger'rule'Cofunctordagger'rule'Inv ArrowDatadom'cod'isId'widthheightmapMorMmapMorM'mergesubstsubst'base System.IOputStrLnobAobBobCobD