@@ -49,11 +49,11 @@ AddDerivationToCAP( InternalHomOnMorphismsWithGivenInternalHoms,
49
49
# |
50
50
# |
51
51
# v
52
- # a'^v ⊗ b
52
+ # b ⊗ a'^v
53
53
# |
54
- # | Dual(alpha) ⊗ beta
54
+ # | beta ⊗ Dual(alpha)
55
55
# v
56
- # a^v ⊗ b'
56
+ # b' ⊗ a^v
57
57
# |
58
58
# |
59
59
# v
@@ -64,7 +64,7 @@ AddDerivationToCAP( InternalHomOnMorphismsWithGivenInternalHoms,
64
64
return PreComposeList( cat,
65
65
internal_hom_source,
66
66
[ IsomorphismFromInternalHomToTensorProductWithDualObject( cat, Range( alpha ), Source( beta ) ),
67
- TensorProductOnMorphisms( cat, dual_alpha, beta ),
67
+ TensorProductOnMorphisms( cat, beta, dual_alpha ),
68
68
IsomorphismFromTensorProductWithDualObjectToInternalHom( cat, Source( alpha ), Range( beta ) ) ] ,
69
69
internal_hom_range );
70
70
@@ -102,11 +102,10 @@ end : CategoryFilter := IsRigidSymmetricClosedMonoidalCategory );
102
102
AddDerivationToCAP( EvaluationMorphismWithGivenSource,
103
103
" EvaluationMorphismWithGivenSource using the rigidity of the monoidal category" ,
104
104
[ [ PreComposeList, 1 ] ,
105
- [ TensorProductOnMorphisms, 3 ] ,
105
+ [ TensorProductOnMorphisms, 2 ] ,
106
106
[ IsomorphismFromInternalHomToTensorProductWithDualObject, 1 ] ,
107
- [ IdentityMorphism, 3 ] ,
108
- [ Braiding, 1 ] ,
109
- [ DualOnObjects, 2 ] ,
107
+ [ IdentityMorphism, 2 ] ,
108
+ [ DualOnObjects, 1 ] ,
110
109
[ AssociatorLeftToRight, 1 ] ,
111
110
[ EvaluationForDual, 1 ] ,
112
111
[ RightUnitor, 1 ] ] ,
@@ -118,10 +117,6 @@ AddDerivationToCAP( EvaluationMorphismWithGivenSource,
118
117
# |
119
118
# | Isomorphism ⊗ id_a
120
119
# v
121
- # (a^v ⊗ b) ⊗ a
122
- # |
123
- # | B_( Dual(a), b ) ⊗ id_a
124
- # v
125
120
# (b ⊗ a^v) ⊗ a
126
121
# |
127
122
# | α_( ( b, a^v ), a )
@@ -142,9 +137,6 @@ AddDerivationToCAP( EvaluationMorphismWithGivenSource,
142
137
IsomorphismFromInternalHomToTensorProductWithDualObject( cat, a, b ),
143
138
IdentityMorphism( cat, a ) ),
144
139
145
- TensorProductOnMorphisms( cat,
146
- Braiding( cat, DualOnObjects( cat, a ), b ),
147
- IdentityMorphism( cat, a ) ),
148
140
AssociatorLeftToRight( cat, b, DualOnObjects( cat, a ), a ),
149
141
150
142
TensorProductOnMorphisms( cat,
@@ -162,11 +154,9 @@ end : CategoryFilter := IsRigidSymmetricClosedMonoidalCategory );
162
154
AddDerivationToCAP( EvaluationMorphismWithGivenSource,
163
155
" EvaluationMorphismWithGivenSource using the rigidity and strictness of the monoidal category" ,
164
156
[ [ PreComposeList, 1 ] ,
165
- [ TensorProductOnMorphisms, 3 ] ,
157
+ [ TensorProductOnMorphisms, 2 ] ,
166
158
[ IsomorphismFromInternalHomToTensorProductWithDualObject, 1 ] ,
167
- [ IdentityMorphism, 3 ] ,
168
- [ Braiding, 1 ] ,
169
- [ DualOnObjects, 1 ] ,
159
+ [ IdentityMorphism, 2 ] ,
170
160
[ EvaluationForDual, 1 ] ] ,
171
161
172
162
function ( cat, a, b, internal_hom_tensored_a )
@@ -176,10 +166,6 @@ AddDerivationToCAP( EvaluationMorphismWithGivenSource,
176
166
# |
177
167
# | Isomorphism ⊗ id_a
178
168
# v
179
- # a^v ⊗ b ⊗ a
180
- # |
181
- # | B_( Dual(a), b ) ⊗ id_a
182
- # v
183
169
# b ⊗ a^v ⊗ a
184
170
# |
185
171
# | id_b ⊗ ev_a
@@ -192,10 +178,6 @@ AddDerivationToCAP( EvaluationMorphismWithGivenSource,
192
178
IsomorphismFromInternalHomToTensorProductWithDualObject( cat, a, b ),
193
179
IdentityMorphism( cat, a ) ),
194
180
195
- TensorProductOnMorphisms( cat,
196
- Braiding( cat, DualOnObjects( cat, a ), b ),
197
- IdentityMorphism( cat, a ) ),
198
-
199
181
TensorProductOnMorphisms( cat,
200
182
IdentityMorphism( cat, b ),
201
183
EvaluationForDual( cat, a ) ) ] ,
@@ -209,13 +191,12 @@ end : CategoryFilter := cat -> HasIsRigidSymmetricClosedMonoidalCategory( cat )
209
191
AddDerivationToCAP( CoevaluationMorphismWithGivenRange,
210
192
" CoevaluationMorphismWithGivenRange using the rigidity of the monoidal category" ,
211
193
[ [ DualOnObjects, 1 ] ,
212
- [ IdentityMorphism, 2 ] ,
194
+ [ IdentityMorphism, 1 ] ,
213
195
[ PreComposeList, 1 ] ,
214
- [ LeftUnitorInverse , 1 ] ,
215
- [ TensorProductOnMorphisms, 3 ] ,
196
+ [ RightUnitorInverse , 1 ] ,
197
+ [ TensorProductOnMorphisms, 1 ] ,
216
198
[ CoevaluationForDual, 1 ] ,
217
- [ Braiding, 2 ] ,
218
- [ AssociatorLeftToRight, 1 ] ,
199
+ [ AssociatorRightToLeft, 1 ] ,
219
200
[ IsomorphismFromTensorProductWithDualObjectToInternalHom, 1 ] ,
220
201
[ TensorProductOnObjects, 1 ] ] ,
221
202
@@ -224,25 +205,17 @@ AddDerivationToCAP( CoevaluationMorphismWithGivenRange,
224
205
225
206
# a
226
207
# |
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
236
209
# v
237
- # (b^v ⊗ b) ⊗ a
210
+ # a ⊗ 1
238
211
# |
239
- # | α_( ( b^v, b ), a )
212
+ # | id_a ⊗ coev_b
240
213
# v
241
- # b^v ⊗ (b ⊗ a )
214
+ # a ⊗ (b ⊗ b^v )
242
215
# |
243
- # | id_(b^v) ⊗ B_ ( b, a )
216
+ # | α_( a, ( b, b^v ) )
244
217
# v
245
- # b^v ⊗ (a ⊗ b)
218
+ # (a ⊗ b) ⊗ b^v
246
219
# |
247
220
# | Isomorphism
248
221
# v
@@ -254,21 +227,13 @@ AddDerivationToCAP( CoevaluationMorphismWithGivenRange,
254
227
255
228
morphism := PreComposeList( cat,
256
229
a,
257
- [ LeftUnitorInverse( cat, a ),
258
-
259
- TensorProductOnMorphisms( cat,
260
- CoevaluationForDual( cat, b ),
261
- id_a ),
230
+ [ RightUnitorInverse( cat, a ),
262
231
263
232
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 ) ),
268
235
269
- TensorProductOnMorphisms( cat,
270
- IdentityMorphism( cat, dual_b ),
271
- Braiding( cat, b, a ) ),
236
+ AssociatorRightToLeft( cat, a, b, dual_b ),
272
237
273
238
IsomorphismFromTensorProductWithDualObjectToInternalHom( cat,
274
239
b,
@@ -283,33 +248,24 @@ end : CategoryFilter := IsRigidSymmetricClosedMonoidalCategory );
283
248
AddDerivationToCAP( CoevaluationMorphismWithGivenRange,
284
249
" CoevaluationMorphismWithGivenRange using the rigidity of the monoidal category" ,
285
250
[ [ DualOnObjects, 1 ] ,
286
- [ IdentityMorphism, 2 ] ,
251
+ [ IdentityMorphism, 1 ] ,
287
252
[ PreComposeList, 1 ] ,
288
- [ TensorProductOnMorphisms, 3 ] ,
253
+ [ TensorProductOnMorphisms, 1 ] ,
289
254
[ CoevaluationForDual, 1 ] ,
290
- [ Braiding, 2 ] ,
291
255
[ IsomorphismFromTensorProductWithDualObjectToInternalHom, 1 ] ,
292
256
[ TensorProductOnObjects, 1 ] ] ,
293
257
294
258
function ( cat, a, b, internal_hom )
295
259
local dual_b, id_a, morphism;
296
260
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
313
269
# Hom(b, a ⊗ b)
314
270
315
271
dual_b := DualOnObjects( cat, b );
@@ -319,16 +275,8 @@ AddDerivationToCAP( CoevaluationMorphismWithGivenRange,
319
275
morphism := PreComposeList( cat,
320
276
a,
321
277
[ 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 ) ),
332
280
333
281
IsomorphismFromTensorProductWithDualObjectToInternalHom( cat,
334
282
b,
@@ -388,6 +336,8 @@ AddDerivationToCAP( MorphismFromInternalHomToTensorProductWithGivenObjects,
388
336
" MorphismFromInternalHomToTensorProductWithGivenObjects using TensorProductInternalHomCompatibilityMorphismInverse" ,
389
337
[ [ TensorUnit, 1 ] ,
390
338
[ PostComposeList, 1 ] ,
339
+ [ Braiding, 1 ] ,
340
+ [ DualOnObjects, 1 ] ,
391
341
[ TensorProductOnMorphisms, 1 ] ,
392
342
[ IsomorphismFromInternalHomIntoTensorUnitToDualObject, 1 ] ,
393
343
[ IsomorphismFromInternalHomToObject, 1 ] ,
@@ -401,6 +351,10 @@ AddDerivationToCAP( MorphismFromInternalHomToTensorProductWithGivenObjects,
401
351
402
352
# inverse of the derivation of MorphismFromTensorProductToInternalHomWithGivenObjects using TensorProductInternalHomCompatibilityMorphism
403
353
354
+ # b ⊗ a^v
355
+ # ʌ
356
+ # | B_( a^v, b )
357
+ # |
404
358
# a^v ⊗ b
405
359
# ʌ
406
360
# |
@@ -417,6 +371,8 @@ AddDerivationToCAP( MorphismFromInternalHomToTensorProductWithGivenObjects,
417
371
unit := TensorUnit( cat );
418
372
419
373
return PostComposeList( cat, [
374
+ Braiding( cat, DualOnObjects( cat, a ), b ),
375
+
420
376
TensorProductOnMorphisms( cat,
421
377
IsomorphismFromInternalHomIntoTensorUnitToDualObject( cat, a ),
422
378
IsomorphismFromInternalHomToObject( cat, b ) ),
@@ -438,7 +394,6 @@ AddDerivationToCAP( CoevaluationForDualWithGivenTensorProduct,
438
394
[ PreComposeList, 1 ] ,
439
395
[ LambdaIntroduction, 1 ] ,
440
396
[ IsomorphismFromInternalHomToTensorProductWithDualObject, 1 ] ,
441
- [ Braiding, 1 ] ,
442
397
[ DualOnObjects, 1 ] ] ,
443
398
444
399
function ( cat, unit, a, tensor_object )
@@ -452,19 +407,14 @@ AddDerivationToCAP( CoevaluationForDualWithGivenTensorProduct,
452
407
# |
453
408
# | Isomorphism
454
409
# v
455
- # a^v ⊗ a
456
- # |
457
- # | B_( a^v, a )
458
- # v
459
410
# a ⊗ a^v
460
411
461
412
morphism := IdentityMorphism( cat, a );
462
413
463
414
morphism := PreComposeList( cat,
464
415
unit,
465
416
[ LambdaIntroduction( cat, morphism ),
466
- IsomorphismFromInternalHomToTensorProductWithDualObject( cat, a, a ),
467
- Braiding( cat, DualOnObjects( cat, a ), a ) ] ,
417
+ IsomorphismFromInternalHomToTensorProductWithDualObject( cat, a, a ) ] ,
468
418
tensor_object );
469
419
470
420
return morphism;
@@ -478,6 +428,8 @@ AddDerivationToCAP( TraceMap,
478
428
[ PreComposeList, 1 ] ,
479
429
[ LambdaIntroduction, 1 ] ,
480
430
[ IsomorphismFromInternalHomToTensorProductWithDualObject, 1 ] ,
431
+ [ Braiding, 1 ] ,
432
+ [ DualOnObjects, 1 ] ,
481
433
[ EvaluationForDual, 1 ] ] ,
482
434
483
435
function ( cat, alpha )
@@ -493,6 +445,10 @@ AddDerivationToCAP( TraceMap,
493
445
# |
494
446
# | Isomorphism
495
447
# v
448
+ # a ⊗ a^v
449
+ # |
450
+ # | B_( a, a^v )
451
+ # v
496
452
# a^v ⊗ a
497
453
# |
498
454
# | ev_a
@@ -507,6 +463,7 @@ AddDerivationToCAP( TraceMap,
507
463
unit,
508
464
[ LambdaIntroduction( cat, alpha ),
509
465
IsomorphismFromInternalHomToTensorProductWithDualObject( cat, a, a ),
466
+ Braiding( cat, a, DualOnObjects( a ) ),
510
467
EvaluationForDual( cat, a ) ] ,
511
468
unit );
512
469
@@ -612,8 +569,8 @@ end : CategoryFilter := IsRigidSymmetricClosedMonoidalCategory );
612
569
AddFinalDerivationBundle( " deriving the internal hom by tensoring with the dual object" ,
613
570
[ [ IdentityMorphism, 1 ] ,
614
571
[ DualOnObjects, 1 ] ,
615
- [ RightUnitor , 1 ] ,
616
- [ RightUnitorInverse , 1 ] ,
572
+ [ LeftUnitor , 1 ] ,
573
+ [ LeftUnitorInverse , 1 ] ,
617
574
[ TensorProductOnObjects, 1 ] ] ,
618
575
[ InternalHomOnObjects,
619
576
InternalHomOnMorphismsWithGivenInternalHoms,
@@ -639,7 +596,7 @@ AddFinalDerivationBundle( "deriving the internal hom by tensoring with the dual
639
596
[ DualOnObjects, 1 ] ] ,
640
597
function ( cat, a, b )
641
598
642
- return IdentityMorphism( cat, TensorProductOnObjects( cat, DualOnObjects( cat, a ), b ) );
599
+ return IdentityMorphism( cat, TensorProductOnObjects( cat, b, DualOnObjects( cat, a ) ) );
643
600
644
601
end
645
602
] ,
@@ -650,27 +607,27 @@ AddFinalDerivationBundle( "deriving the internal hom by tensoring with the dual
650
607
[ DualOnObjects, 1 ] ] ,
651
608
function ( cat, a, b )
652
609
653
- return IdentityMorphism( cat, TensorProductOnObjects( cat, DualOnObjects( cat, a ), b ) );
610
+ return IdentityMorphism( cat, TensorProductOnObjects( cat, b, DualOnObjects( cat, a ) ) );
654
611
655
612
end
656
613
] ,
657
614
[
658
615
IsomorphismFromInternalHomIntoTensorUnitToDualObject,
659
- [ [ RightUnitor , 1 ] ,
616
+ [ [ LeftUnitor , 1 ] ,
660
617
[ DualOnObjects, 1 ] ] ,
661
618
function ( cat, object )
662
619
663
- return RightUnitor ( cat, DualOnObjects( cat, object ) );
620
+ return LeftUnitor ( cat, DualOnObjects( cat, object ) );
664
621
665
622
end
666
623
] ,
667
624
[
668
625
IsomorphismFromDualObjectToInternalHomIntoTensorUnit,
669
- [ [ RightUnitorInverse , 1 ] ,
626
+ [ [ LeftUnitorInverse , 1 ] ,
670
627
[ DualOnObjects, 1 ] ] ,
671
628
function ( cat, object )
672
629
673
- return RightUnitorInverse ( cat, DualOnObjects( cat, object ) );
630
+ return LeftUnitorInverse ( cat, DualOnObjects( cat, object ) );
674
631
675
632
end
676
633
] : CategoryFilter := IsRigidSymmetricClosedMonoidalCategory );
0 commit comments