@@ -51,7 +51,7 @@ AddDerivationToCAP( InternalHomOnMorphismsWithGivenInternalHoms,
5151 # v
5252 # a'^v ⊗ b
5353 # |
54- # | Dual(alpha) ⊗ beta
54+ # | Dual(alpha) ⊗ beta TODO
5555 # v
5656 # a^v ⊗ b'
5757 # |
@@ -64,7 +64,7 @@ AddDerivationToCAP( InternalHomOnMorphismsWithGivenInternalHoms,
6464 return PreComposeList( cat,
6565 internal_hom_source,
6666 [ IsomorphismFromInternalHomToTensorProductWithDualObject( cat, Range( alpha ), Source( beta ) ),
67- TensorProductOnMorphisms( cat, dual_alpha, beta ),
67+ TensorProductOnMorphisms( cat, beta, dual_alpha ),
6868 IsomorphismFromTensorProductWithDualObjectToInternalHom( cat, Source( alpha ), Range( beta ) ) ] ,
6969 internal_hom_range );
7070
@@ -102,11 +102,10 @@ end : CategoryFilter := IsRigidSymmetricClosedMonoidalCategory );
102102AddDerivationToCAP( EvaluationMorphismWithGivenSource,
103103 " EvaluationMorphismWithGivenSource using the rigidity of the monoidal category" ,
104104 [ [ PreComposeList, 1 ] ,
105- [ TensorProductOnMorphisms, 3 ] ,
105+ [ TensorProductOnMorphisms, 2 ] ,
106106 [ IsomorphismFromInternalHomToTensorProductWithDualObject, 1 ] ,
107- [ IdentityMorphism, 3 ] ,
108- [ Braiding, 1 ] ,
109- [ DualOnObjects, 2 ] ,
107+ [ IdentityMorphism, 2 ] ,
108+ [ DualOnObjects, 1 ] ,
110109 [ AssociatorLeftToRight, 1 ] ,
111110 [ EvaluationForDual, 1 ] ,
112111 [ RightUnitor, 1 ] ] ,
@@ -118,10 +117,6 @@ AddDerivationToCAP( EvaluationMorphismWithGivenSource,
118117 # |
119118 # | Isomorphism ⊗ id_a
120119 # v
121- # (a^v ⊗ b) ⊗ a
122- # |
123- # | B_( Dual(a), b ) ⊗ id_a
124- # v
125120 # (b ⊗ a^v) ⊗ a
126121 # |
127122 # | α_( ( b, a^v ), a )
@@ -142,9 +137,6 @@ AddDerivationToCAP( EvaluationMorphismWithGivenSource,
142137 IsomorphismFromInternalHomToTensorProductWithDualObject( cat, a, b ),
143138 IdentityMorphism( cat, a ) ),
144139
145- TensorProductOnMorphisms( cat,
146- Braiding( cat, DualOnObjects( cat, a ), b ),
147- IdentityMorphism( cat, a ) ),
148140 AssociatorLeftToRight( cat, b, DualOnObjects( cat, a ), a ),
149141
150142 TensorProductOnMorphisms( cat,
@@ -162,11 +154,9 @@ end : CategoryFilter := IsRigidSymmetricClosedMonoidalCategory );
162154AddDerivationToCAP( EvaluationMorphismWithGivenSource,
163155 " EvaluationMorphismWithGivenSource using the rigidity and strictness of the monoidal category" ,
164156 [ [ PreComposeList, 1 ] ,
165- [ TensorProductOnMorphisms, 3 ] ,
157+ [ TensorProductOnMorphisms, 2 ] ,
166158 [ IsomorphismFromInternalHomToTensorProductWithDualObject, 1 ] ,
167- [ IdentityMorphism, 3 ] ,
168- [ Braiding, 1 ] ,
169- [ DualOnObjects, 1 ] ,
159+ [ IdentityMorphism, 2 ] ,
170160 [ EvaluationForDual, 1 ] ] ,
171161
172162 function ( cat, a, b, internal_hom_tensored_a )
@@ -176,10 +166,6 @@ AddDerivationToCAP( EvaluationMorphismWithGivenSource,
176166 # |
177167 # | Isomorphism ⊗ id_a
178168 # v
179- # a^v ⊗ b ⊗ a
180- # |
181- # | B_( Dual(a), b ) ⊗ id_a
182- # v
183169 # b ⊗ a^v ⊗ a
184170 # |
185171 # | id_b ⊗ ev_a
@@ -192,10 +178,6 @@ AddDerivationToCAP( EvaluationMorphismWithGivenSource,
192178 IsomorphismFromInternalHomToTensorProductWithDualObject( cat, a, b ),
193179 IdentityMorphism( cat, a ) ),
194180
195- TensorProductOnMorphisms( cat,
196- Braiding( cat, DualOnObjects( cat, a ), b ),
197- IdentityMorphism( cat, a ) ),
198-
199181 TensorProductOnMorphisms( cat,
200182 IdentityMorphism( cat, b ),
201183 EvaluationForDual( cat, a ) ) ] ,
@@ -209,13 +191,12 @@ end : CategoryFilter := cat -> HasIsRigidSymmetricClosedMonoidalCategory( cat )
209191AddDerivationToCAP( CoevaluationMorphismWithGivenRange,
210192 " CoevaluationMorphismWithGivenRange using the rigidity of the monoidal category" ,
211193 [ [ DualOnObjects, 1 ] ,
212- [ IdentityMorphism, 2 ] ,
194+ [ IdentityMorphism, 1 ] ,
213195 [ PreComposeList, 1 ] ,
214- [ LeftUnitorInverse , 1 ] ,
215- [ TensorProductOnMorphisms, 3 ] ,
196+ [ RightUnitorInverse , 1 ] ,
197+ [ TensorProductOnMorphisms, 1 ] ,
216198 [ CoevaluationForDual, 1 ] ,
217- [ Braiding, 2 ] ,
218- [ AssociatorLeftToRight, 1 ] ,
199+ [ AssociatorRightToLeft, 1 ] ,
219200 [ IsomorphismFromTensorProductWithDualObjectToInternalHom, 1 ] ,
220201 [ TensorProductOnObjects, 1 ] ] ,
221202
@@ -224,25 +205,17 @@ AddDerivationToCAP( CoevaluationMorphismWithGivenRange,
224205
225206 # a
226207 # |
227- # | (λ_a)^-1
228- # v
229- # 1 ⊗ a
230- # |
231- # | coev_b ⊗ id_a
232- # v
233- # (b ⊗ b^v) ⊗ a
234- # |
235- # | B_( b, b^v ) ⊗ id_a
208+ # | (ρ_a)^-1
236209 # v
237- # (b^v ⊗ b) ⊗ a
210+ # a ⊗ 1
238211 # |
239- # | α_( ( b^v, b ), a )
212+ # | id_a ⊗ coev_b
240213 # v
241- # b^v ⊗ (b ⊗ a )
214+ # a ⊗ (b ⊗ b^v )
242215 # |
243- # | id_(b^v) ⊗ B_ ( b, a )
216+ # | α_( a, ( b, b^v ) )
244217 # v
245- # b^v ⊗ (a ⊗ b)
218+ # (a ⊗ b) ⊗ b^v
246219 # |
247220 # | Isomorphism
248221 # v
@@ -254,21 +227,13 @@ AddDerivationToCAP( CoevaluationMorphismWithGivenRange,
254227
255228 morphism := PreComposeList( cat,
256229 a,
257- [ LeftUnitorInverse( cat, a ),
258-
259- TensorProductOnMorphisms( cat,
260- CoevaluationForDual( cat, b ),
261- id_a ),
230+ [ RightUnitorInverse( cat, a ),
262231
263232 TensorProductOnMorphisms( cat,
264- Braiding( cat, b, dual_b ),
265- id_a ),
266-
267- AssociatorLeftToRight( cat, dual_b, b, a ),
233+ id_a,
234+ CoevaluationForDual( cat, b ) ),
268235
269- TensorProductOnMorphisms( cat,
270- IdentityMorphism( cat, dual_b ),
271- Braiding( cat, b, a ) ),
236+ AssociatorRightToLeft( cat, a, b, dual_b ),
272237
273238 IsomorphismFromTensorProductWithDualObjectToInternalHom( cat,
274239 b,
@@ -283,33 +248,24 @@ end : CategoryFilter := IsRigidSymmetricClosedMonoidalCategory );
283248AddDerivationToCAP( CoevaluationMorphismWithGivenRange,
284249 " CoevaluationMorphismWithGivenRange using the rigidity of the monoidal category" ,
285250 [ [ DualOnObjects, 1 ] ,
286- [ IdentityMorphism, 2 ] ,
251+ [ IdentityMorphism, 1 ] ,
287252 [ PreComposeList, 1 ] ,
288- [ TensorProductOnMorphisms, 3 ] ,
253+ [ TensorProductOnMorphisms, 1 ] ,
289254 [ CoevaluationForDual, 1 ] ,
290- [ Braiding, 2 ] ,
291255 [ IsomorphismFromTensorProductWithDualObjectToInternalHom, 1 ] ,
292256 [ TensorProductOnObjects, 1 ] ] ,
293257
294258 function ( cat, a, b, internal_hom )
295259 local dual_b, id_a, morphism;
296260
297- # 1 ⊗ a
298- # |
299- # | coev_b ⊗ id_a
300- # v
301- # b ⊗ b^v ⊗ a
302- # |
303- # | B_( b, b^v ) ⊗ id_a
304- # v
305- # b^v ⊗ b ⊗ a
306- # |
307- # | id_(b^v) ⊗ B_( b, a )
308- # v
309- # b^v ⊗ a ⊗ b
310- # |
311- # | Isomorphism
312- # v
261+ # a
262+ # |
263+ # | id_a ⊗ coev_b
264+ # v
265+ # (a ⊗ b) ⊗ b^v
266+ # |
267+ # | Isomorphism
268+ # v
313269 # Hom(b, a ⊗ b)
314270
315271 dual_b := DualOnObjects( cat, b );
@@ -319,16 +275,8 @@ AddDerivationToCAP( CoevaluationMorphismWithGivenRange,
319275 morphism := PreComposeList( cat,
320276 a,
321277 [ TensorProductOnMorphisms( cat,
322- CoevaluationForDual( cat, b ),
323- id_a ),
324-
325- TensorProductOnMorphisms( cat,
326- Braiding( cat, b, dual_b ),
327- id_a ),
328-
329- TensorProductOnMorphisms( cat,
330- IdentityMorphism( cat, dual_b ),
331- Braiding( cat, b, a ) ),
278+ id_a,
279+ CoevaluationForDual( cat, b ) ),
332280
333281 IsomorphismFromTensorProductWithDualObjectToInternalHom( cat,
334282 b,
@@ -388,6 +336,8 @@ AddDerivationToCAP( MorphismFromInternalHomToTensorProductWithGivenObjects,
388336 " MorphismFromInternalHomToTensorProductWithGivenObjects using TensorProductInternalHomCompatibilityMorphismInverse" ,
389337 [ [ TensorUnit, 1 ] ,
390338 [ PostComposeList, 1 ] ,
339+ [ Braiding, 1 ] ,
340+ [ DualOnObjects, 1 ] ,
391341 [ TensorProductOnMorphisms, 1 ] ,
392342 [ IsomorphismFromInternalHomIntoTensorUnitToDualObject, 1 ] ,
393343 [ IsomorphismFromInternalHomToObject, 1 ] ,
@@ -401,6 +351,10 @@ AddDerivationToCAP( MorphismFromInternalHomToTensorProductWithGivenObjects,
401351
402352 # inverse of the derivation of MorphismFromTensorProductToInternalHomWithGivenObjects using TensorProductInternalHomCompatibilityMorphism
403353
354+ # b ⊗ a^v
355+ # ʌ
356+ # | B_( a^v, b )
357+ # |
404358 # a^v ⊗ b
405359 # ʌ
406360 # |
@@ -417,6 +371,8 @@ AddDerivationToCAP( MorphismFromInternalHomToTensorProductWithGivenObjects,
417371 unit := TensorUnit( cat );
418372
419373 return PostComposeList( cat, [
374+ Braiding( cat, DualOnObjects( cat, a ), b ),
375+
420376 TensorProductOnMorphisms( cat,
421377 IsomorphismFromInternalHomIntoTensorUnitToDualObject( cat, a ),
422378 IsomorphismFromInternalHomToObject( cat, b ) ),
@@ -438,7 +394,6 @@ AddDerivationToCAP( CoevaluationForDualWithGivenTensorProduct,
438394 [ PreComposeList, 1 ] ,
439395 [ LambdaIntroduction, 1 ] ,
440396 [ IsomorphismFromInternalHomToTensorProductWithDualObject, 1 ] ,
441- [ Braiding, 1 ] ,
442397 [ DualOnObjects, 1 ] ] ,
443398
444399 function ( cat, unit, a, tensor_object )
@@ -452,19 +407,14 @@ AddDerivationToCAP( CoevaluationForDualWithGivenTensorProduct,
452407 # |
453408 # | Isomorphism
454409 # v
455- # a^v ⊗ a
456- # |
457- # | B_( a^v, a )
458- # v
459410 # a ⊗ a^v
460411
461412 morphism := IdentityMorphism( cat, a );
462413
463414 morphism := PreComposeList( cat,
464415 unit,
465416 [ LambdaIntroduction( cat, morphism ),
466- IsomorphismFromInternalHomToTensorProductWithDualObject( cat, a, a ),
467- Braiding( cat, DualOnObjects( cat, a ), a ) ] ,
417+ IsomorphismFromInternalHomToTensorProductWithDualObject( cat, a, a ) ] ,
468418 tensor_object );
469419
470420 return morphism;
@@ -478,6 +428,8 @@ AddDerivationToCAP( TraceMap,
478428 [ PreComposeList, 1 ] ,
479429 [ LambdaIntroduction, 1 ] ,
480430 [ IsomorphismFromInternalHomToTensorProductWithDualObject, 1 ] ,
431+ [ Braiding, 1 ] ,
432+ [ DualOnObjects, 1 ] ,
481433 [ EvaluationForDual, 1 ] ] ,
482434
483435 function ( cat, alpha )
@@ -493,6 +445,10 @@ AddDerivationToCAP( TraceMap,
493445 # |
494446 # | Isomorphism
495447 # v
448+ # a ⊗ a^v
449+ # |
450+ # | B_( a, a^v )
451+ # v
496452 # a^v ⊗ a
497453 # |
498454 # | ev_a
@@ -507,6 +463,7 @@ AddDerivationToCAP( TraceMap,
507463 unit,
508464 [ LambdaIntroduction( cat, alpha ),
509465 IsomorphismFromInternalHomToTensorProductWithDualObject( cat, a, a ),
466+ Braiding( cat, a, DualOnObjects( a ) ),
510467 EvaluationForDual( cat, a ) ] ,
511468 unit );
512469
@@ -612,8 +569,8 @@ end : CategoryFilter := IsRigidSymmetricClosedMonoidalCategory );
612569AddFinalDerivationBundle( " deriving the internal hom by tensoring with the dual object" ,
613570 [ [ IdentityMorphism, 1 ] ,
614571 [ DualOnObjects, 1 ] ,
615- [ RightUnitor , 1 ] ,
616- [ RightUnitorInverse , 1 ] ,
572+ [ LeftUnitor , 1 ] ,
573+ [ LeftUnitorInverse , 1 ] ,
617574 [ TensorProductOnObjects, 1 ] ] ,
618575 [ InternalHomOnObjects,
619576 InternalHomOnMorphismsWithGivenInternalHoms,
@@ -639,7 +596,7 @@ AddFinalDerivationBundle( "deriving the internal hom by tensoring with the dual
639596 [ DualOnObjects, 1 ] ] ,
640597 function ( cat, a, b )
641598
642- return IdentityMorphism( cat, TensorProductOnObjects( cat, DualOnObjects( cat, a ), b ) );
599+ return IdentityMorphism( cat, TensorProductOnObjects( cat, b, DualOnObjects( cat, a ) ) );
643600
644601 end
645602] ,
@@ -650,27 +607,27 @@ AddFinalDerivationBundle( "deriving the internal hom by tensoring with the dual
650607 [ DualOnObjects, 1 ] ] ,
651608 function ( cat, a, b )
652609
653- return IdentityMorphism( cat, TensorProductOnObjects( cat, DualOnObjects( cat, a ), b ) );
610+ return IdentityMorphism( cat, TensorProductOnObjects( cat, b, DualOnObjects( cat, a ) ) );
654611
655612 end
656613] ,
657614[
658615 IsomorphismFromInternalHomIntoTensorUnitToDualObject,
659- [ [ RightUnitor , 1 ] ,
616+ [ [ LeftUnitor , 1 ] ,
660617 [ DualOnObjects, 1 ] ] ,
661618 function ( cat, object )
662619
663- return RightUnitor ( cat, DualOnObjects( cat, object ) );
620+ return LeftUnitor ( cat, DualOnObjects( cat, object ) );
664621
665622 end
666623] ,
667624[
668625 IsomorphismFromDualObjectToInternalHomIntoTensorUnit,
669- [ [ RightUnitorInverse , 1 ] ,
626+ [ [ LeftUnitorInverse , 1 ] ,
670627 [ DualOnObjects, 1 ] ] ,
671628 function ( cat, object )
672629
673- return RightUnitorInverse ( cat, DualOnObjects( cat, object ) );
630+ return LeftUnitorInverse ( cat, DualOnObjects( cat, object ) );
674631
675632 end
676633] : CategoryFilter := IsRigidSymmetricClosedMonoidalCategory );
0 commit comments