Skip to content

Commit 82218ad

Browse files
derived CartesianLeft/RightUnitorInverse and CocartesianLeft/RightUnitor
1 parent 77cc86e commit 82218ad

4 files changed

Lines changed: 130 additions & 2 deletions

File tree

CartesianCategories/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 := "CartesianCategories",
1212
Subtitle := "Cartesian and cocartesian categories and various subdoctrines",
13-
Version := "2026.06-03",
13+
Version := "2026.07-01",
1414
Date := ~.Version{[ 1 .. 10 ]},
1515
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)( ),
1616
License := "GPL-2.0-or-later",

CartesianCategories/examples/InfoStringOfInstalledOperationsOfCategory.g

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ distributive := DummyCategory( rec(
1313
properties := [ "IsBicartesianClosedCategory", "IsSkeletalCategory" ] ) );;
1414

1515
InfoOfInstalledOperationsOfCategory( distributive );
16-
#! 21 primitive operations were used to derive 129 operations for this category \
16+
#! 21 primitive operations were used to derive 142 operations for this category \
1717
#! which algorithmically
1818
#! * IsBicartesianClosedCategory
1919
#! and not yet algorithmically

CartesianCategories/gap/CartesianCategoriesDerivedMethods_extra.gi

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,70 @@ AddDerivationToCAP( CartesianRightUnitorWithGivenDirectProduct,
8484

8585
end );
8686

87+
##
88+
AddDerivationToCAP( CartesianLeftUnitorInverseWithGivenDirectProduct,
89+
"CartesianLeftUnitorInverse using CartesianDiagonal and UniversalMorphismIntoTerminalObject",
90+
[ [ DirectProduct, 1 ],
91+
[ TerminalObject, 1 ],
92+
[ CartesianDiagonalWithGivenCartesianPower, 1 ],
93+
[ UniversalMorphismIntoTerminalObjectWithGivenTerminalObject, 1 ],
94+
[ DirectProductOnMorphismAndObjectWithGivenDirectProducts, 1 ],
95+
[ PreCompose, 1 ] ],
96+
97+
function( cat, a, txa )
98+
local L, axa, t;
99+
100+
L := ListWithIdenticalEntries( 2, a );
101+
102+
axa := DirectProduct( cat, L );
103+
104+
t := TerminalObject( cat );
105+
106+
return PreCompose( cat,
107+
CartesianDiagonalWithGivenCartesianPower( cat,
108+
a,
109+
2,
110+
axa ),
111+
DirectProductOnMorphismAndObjectWithGivenDirectProducts( cat,
112+
axa,
113+
UniversalMorphismIntoTerminalObjectWithGivenTerminalObject( cat, a, t ),
114+
a,
115+
txa ) );
116+
117+
end );
118+
119+
##
120+
AddDerivationToCAP( CartesianRightUnitorInverseWithGivenDirectProduct,
121+
"CartesianRightUnitorInverse using CartesianDiagonal and UniversalMorphismIntoTerminalObject",
122+
[ [ DirectProduct, 1 ],
123+
[ TerminalObject, 1 ],
124+
[ CartesianDiagonalWithGivenCartesianPower, 1 ],
125+
[ UniversalMorphismIntoTerminalObjectWithGivenTerminalObject, 1 ],
126+
[ DirectProductOnObjectAndMorphismWithGivenDirectProducts, 1 ],
127+
[ PreCompose, 1 ] ],
128+
129+
function( cat, a, axt )
130+
local L, axa, t;
131+
132+
L := ListWithIdenticalEntries( 2, a );
133+
134+
axa := DirectProduct( cat, L );
135+
136+
t := TerminalObject( cat );
137+
138+
return PreCompose( cat,
139+
CartesianDiagonalWithGivenCartesianPower( cat,
140+
a,
141+
2,
142+
axa ),
143+
DirectProductOnObjectAndMorphismWithGivenDirectProducts( cat,
144+
axa,
145+
a,
146+
UniversalMorphismIntoTerminalObjectWithGivenTerminalObject( cat, a, t ),
147+
axt ) );
148+
149+
end );
150+
87151
##
88152
AddDerivationToCAP( CartesianAssociatorRightToLeftWithGivenDirectProducts,
89153
"CartesianAssociatorRightToLeftOfDirectProductsWithGivenDirectProducts using the universal morphism into direct product",

CartesianCategories/gap/CocartesianCategoriesDerivedMethods_extra.gi

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,70 @@ AddDerivationToCAP( CocartesianRightUnitorInverseWithGivenCoproduct,
8484

8585
end );
8686

87+
##
88+
AddDerivationToCAP( CocartesianLeftUnitorWithGivenCoproduct,
89+
"CocartesianLeftUnitor using CocartesianCodiagonal and UniversalMorphismIntoInitialObject",
90+
[ [ Coproduct, 1 ],
91+
[ InitialObject, 1 ],
92+
[ CocartesianCodiagonalWithGivenCocartesianMultiple, 1 ],
93+
[ UniversalMorphismFromInitialObjectWithGivenInitialObject, 1 ],
94+
[ CoproductOnMorphismAndObjectWithGivenCoproducts, 1 ],
95+
[ PreCompose, 1 ] ],
96+
97+
function( cat, a, ixa )
98+
local L, axa, i;
99+
100+
L := ListWithIdenticalEntries( 2, a );
101+
102+
axa := Coproduct( cat, L );
103+
104+
i := InitialObject( cat );
105+
106+
return PreCompose( cat,
107+
CoproductOnMorphismAndObjectWithGivenCoproducts( cat,
108+
ixa,
109+
UniversalMorphismFromInitialObjectWithGivenInitialObject( cat, a, i ),
110+
a,
111+
axa ),
112+
CocartesianCodiagonalWithGivenCocartesianMultiple( cat,
113+
a,
114+
2,
115+
axa ) );
116+
117+
end );
118+
119+
##
120+
AddDerivationToCAP( CocartesianRightUnitorWithGivenCoproduct,
121+
"CocartesianRightUnitor using CocartesianCodiagonal and UniversalMorphismIntoInitialObject",
122+
[ [ Coproduct, 1 ],
123+
[ InitialObject, 1 ],
124+
[ CocartesianCodiagonalWithGivenCocartesianMultiple, 1 ],
125+
[ UniversalMorphismFromInitialObjectWithGivenInitialObject, 1 ],
126+
[ CoproductOnObjectAndMorphismWithGivenCoproducts, 1 ],
127+
[ PreCompose, 1 ] ],
128+
129+
function( cat, a, axi )
130+
local L, axa, i;
131+
132+
L := ListWithIdenticalEntries( 2, a );
133+
134+
axa := Coproduct( cat, L );
135+
136+
i := InitialObject( cat );
137+
138+
return PreCompose( cat,
139+
CoproductOnObjectAndMorphismWithGivenCoproducts( cat,
140+
axi,
141+
a,
142+
UniversalMorphismFromInitialObjectWithGivenInitialObject( cat, a, i ),
143+
axa ),
144+
CocartesianCodiagonalWithGivenCocartesianMultiple( cat,
145+
a,
146+
2,
147+
axa ) );
148+
149+
end );
150+
87151
##
88152
AddDerivationToCAP( CocartesianAssociatorLeftToRightWithGivenCoproducts,
89153
"CocartesianAssociatorLeftToRightWithGivenCoproducts using the universal morphism from coproduct",

0 commit comments

Comments
 (0)