Skip to content

Commit e506701

Browse files
author
Tom Kuhmichel
committed
Add UniversalPropertyOf(Co)DualWithGiven(Co)DualObject
1 parent 086303d commit e506701

9 files changed

+89
-5
lines changed

MonoidalCategories/PackageInfo.g

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ SetPackageInfo( rec(
1010

1111
PackageName := "MonoidalCategories",
1212
Subtitle := "Monoidal and monoidal (co)closed categories",
13-
Version := "2023.08-11",
13+
Version := "2023.10-01",
1414
Date := (function ( ) if IsBound( GAPInfo.SystemEnvironment.GAP_PKG_RELEASE_DATE ) then return GAPInfo.SystemEnvironment.GAP_PKG_RELEASE_DATE; else return Concatenation( ~.Version{[ 1 .. 4 ]}, "-", ~.Version{[ 6, 7 ]}, "-01" ); fi; end)( ),
1515
License := "GPL-2.0-or-later",
1616

MonoidalCategories/gap/ClosedMonoidalCategories.autogen.gd

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -711,3 +711,22 @@ DeclareOperation( "AddUniversalPropertyOfDual",
711711

712712
DeclareOperation( "AddUniversalPropertyOfDual",
713713
[ IsCapCategory, IsList ] );
714+
715+
#! @Description
716+
#! The arguments are a category $C$ and a function $F$.
717+
#! This operation adds the given function $F$
718+
#! to the category for the basic operation `UniversalPropertyOfDualWithGivenDualObject`.
719+
#! $F: ( t, a, alpha, d ) \mapsto \mathtt{UniversalPropertyOfDualWithGivenDualObject}(t, a, alpha, d)$.
720+
#! @Returns nothing
721+
#! @Arguments C, F
722+
DeclareOperation( "AddUniversalPropertyOfDualWithGivenDualObject",
723+
[ IsCapCategory, IsFunction ] );
724+
725+
DeclareOperation( "AddUniversalPropertyOfDualWithGivenDualObject",
726+
[ IsCapCategory, IsFunction, IsInt ] );
727+
728+
DeclareOperation( "AddUniversalPropertyOfDualWithGivenDualObject",
729+
[ IsCapCategory, IsList, IsInt ] );
730+
731+
DeclareOperation( "AddUniversalPropertyOfDualWithGivenDualObject",
732+
[ IsCapCategory, IsList ] );

MonoidalCategories/gap/ClosedMonoidalCategories.gd

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -314,6 +314,17 @@ DeclareAttribute( "IsomorphismFromInternalHomIntoTensorUnitToDualObject",
314314
DeclareOperation( "UniversalPropertyOfDual",
315315
[ IsCapCategoryObject, IsCapCategoryObject, IsCapCategoryMorphism ] );
316316

317+
#! @Description
318+
#! The arguments are two objects $t,a$,
319+
#! a morphism $\alpha: t \otimes a \rightarrow 1$ and
320+
#! the dual object $d = a^{\vee}$.
321+
#! The output is the morphism $t \rightarrow a^{\vee}$
322+
#! given by the universal property of $a^{\vee}$.
323+
#! @Returns a morphism in $\mathrm{Hom}(t, a^{\vee})$.
324+
#! @Arguments t, a, alpha, d
325+
DeclareOperation( "UniversalPropertyOfDualWithGivenDualObject",
326+
[ IsCapCategoryObject, IsCapCategoryObject, IsCapCategoryMorphism, IsCapCategoryObject ] );
327+
317328
#! @Description
318329
#! The argument is a morphism $\alpha: a \rightarrow b$.
319330
#! The output is the corresponding morphism $1 \rightarrow \mathrm{\underline{Hom}}(a,b)$

MonoidalCategories/gap/ClosedMonoidalCategoriesMethodRecord.gi

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -394,6 +394,18 @@ UniversalPropertyOfDual := rec(
394394
# Test in ClosedMonoidalCategoriesTest
395395
),
396396

397+
UniversalPropertyOfDualWithGivenDualObject:= rec(
398+
filter_list := [ "category", "object", "object", "morphism", "object" ],
399+
input_arguments_names := [ "cat", "t", "a", "alpha", "d" ],
400+
output_source_getter_string := "t",
401+
output_source_getter_preconditions := [ ],
402+
output_range_getter_string := "d",
403+
output_range_getter_preconditions := [ ],
404+
return_type := "morphism",
405+
dual_operation := "UniversalPropertyOfCoDualWithGivenCoDualObject",
406+
dual_arguments_reversed := false,
407+
),
408+
397409
LambdaIntroduction := rec(
398410
filter_list := [ "category", "morphism" ],
399411
input_arguments_names := [ "cat", "alpha" ],

MonoidalCategories/gap/CoclosedMonoidalCategories.autogen.gd

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -711,3 +711,22 @@ DeclareOperation( "AddUniversalPropertyOfCoDual",
711711

712712
DeclareOperation( "AddUniversalPropertyOfCoDual",
713713
[ IsCapCategory, IsList ] );
714+
715+
#! @Description
716+
#! The arguments are a category $C$ and a function $F$.
717+
#! This operation adds the given function $F$
718+
#! to the category for the basic operation `UniversalPropertyOfCoDualWithGivenCoDualObject`.
719+
#! $F: ( t, a, alpha, c ) \mapsto \mathtt{UniversalPropertyOfCoDualWithGivenCoDualObject}(t, a, alpha, c)$.
720+
#! @Returns nothing
721+
#! @Arguments C, F
722+
DeclareOperation( "AddUniversalPropertyOfCoDualWithGivenCoDualObject",
723+
[ IsCapCategory, IsFunction ] );
724+
725+
DeclareOperation( "AddUniversalPropertyOfCoDualWithGivenCoDualObject",
726+
[ IsCapCategory, IsFunction, IsInt ] );
727+
728+
DeclareOperation( "AddUniversalPropertyOfCoDualWithGivenCoDualObject",
729+
[ IsCapCategory, IsList, IsInt ] );
730+
731+
DeclareOperation( "AddUniversalPropertyOfCoDualWithGivenCoDualObject",
732+
[ IsCapCategory, IsList ] );

MonoidalCategories/gap/CoclosedMonoidalCategories.gd

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -311,6 +311,17 @@ DeclareAttribute( "IsomorphismFromInternalCoHomFromTensorUnitToCoDualObject",
311311
DeclareOperation( "UniversalPropertyOfCoDual",
312312
[ IsCapCategoryObject, IsCapCategoryObject, IsCapCategoryMorphism ] );
313313

314+
#! @Description
315+
#! The arguments are two objects $t,a$,
316+
#! a morphism $\alpha: 1 \rightarrow t \otimes a$ and
317+
#! the codual object $c = a_{\vee}$.
318+
#! The output is the morphism $a_{\vee} \rightarrow t$
319+
#! given by the universal property of $a_{\vee}$.
320+
#! @Returns a morphism in $\mathrm{Hom}(a_{\vee}, t)$.
321+
#! @Arguments t, a, alpha, c
322+
DeclareOperation( "UniversalPropertyOfCoDualWithGivenCoDualObject",
323+
[ IsCapCategoryObject, IsCapCategoryObject, IsCapCategoryMorphism, IsCapCategoryObject] );
324+
314325
#! @Description
315326
#! The argument is a morphism $\alpha: a \rightarrow b$.
316327
#! The output is the corresponding morphism $ \mathrm{\underline{coHom}}(a,b) \rightarrow 1$

MonoidalCategories/gap/CoclosedMonoidalCategoriesMethodRecord.gi

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -394,6 +394,18 @@ UniversalPropertyOfCoDual := rec(
394394
# Test in CoclosedMonoidalCategoriesTest
395395
),
396396

397+
UniversalPropertyOfCoDualWithGivenCoDualObject := rec(
398+
filter_list := [ "category", "object", "object", "morphism", "object" ],
399+
input_arguments_names := [ "cat", "t", "a", "alpha", "c" ],
400+
output_source_getter_string := "c",
401+
output_source_getter_preconditions := [ ],
402+
output_range_getter_string := "t",
403+
output_range_getter_preconditions := [ ],
404+
return_type := "morphism",
405+
dual_operation := "UniversalPropertyOfDualWithGivenDualObject",
406+
dual_arguments_reversed := false,
407+
),
408+
397409
CoLambdaIntroduction := rec(
398410
filter_list := [ "category", "morphism" ],
399411
input_arguments_names := [ "cat", "alpha" ],

MonoidalCategories/gap/SymmetricClosedMonoidalCategoriesDerivedMethods.gi

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ AddDerivationToCAP( MorphismToBidualWithGivenBidual,
117117
[ Braiding, 1 ],
118118
[ DualOnObjects, 2 ],
119119
[ EvaluationForDual, 1 ],
120-
[ UniversalPropertyOfDual, 1 ] ],
120+
[ UniversalPropertyOfDualWithGivenDualObject, 1 ] ],
121121

122122
function( cat, a, avv )
123123
local alpha;
@@ -137,7 +137,7 @@ AddDerivationToCAP( MorphismToBidualWithGivenBidual,
137137
alpha := PreCompose( cat, Braiding( cat, a, DualOnObjects( cat, a ) ),
138138
EvaluationForDual( cat, a ) );
139139

140-
return UniversalPropertyOfDual( cat, a, DualOnObjects( cat, a ), alpha );
140+
return UniversalPropertyOfDualWithGivenDualObject( cat, a, DualOnObjects( cat, a ), alpha, avv );
141141

142142
end : CategoryFilter := IsSymmetricClosedMonoidalCategory );
143143

MonoidalCategories/gap/SymmetricCoclosedMonoidalCategoriesDerivedMethods.gi

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ AddDerivationToCAP( MorphismFromCoBidualWithGivenCoBidual,
117117
[ CoclosedEvaluationForCoDual, 1 ],
118118
[ Braiding, 1 ],
119119
[ CoDualOnObjects, 2 ],
120-
[ UniversalPropertyOfCoDual, 1 ] ],
120+
[ UniversalPropertyOfCoDualWithGivenCoDualObject, 1 ] ],
121121

122122
function( cat, a, avv )
123123
local alpha;
@@ -139,7 +139,7 @@ AddDerivationToCAP( MorphismFromCoBidualWithGivenCoBidual,
139139
CoclosedEvaluationForCoDual( cat, a ),
140140
Braiding( cat, CoDualOnObjects( cat, a ), a ) );
141141

142-
return UniversalPropertyOfCoDual( cat, a, CoDualOnObjects( cat, a ), alpha );
142+
return UniversalPropertyOfCoDualWithGivenCoDualObject( cat, a, CoDualOnObjects( cat, a ), alpha, avv );
143143

144144
end : CategoryFilter := IsSymmetricCoclosedMonoidalCategory );
145145

0 commit comments

Comments
 (0)