Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion CartesianCategories/PackageInfo.g
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ SetPackageInfo( rec(

PackageName := "CartesianCategories",
Subtitle := "Cartesian and cocartesian categories and various subdoctrines",
Version := "2026.06-03",
Version := "2026.07-01",
Date := ~.Version{[ 1 .. 10 ]},
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)( ),
License := "GPL-2.0-or-later",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ distributive := DummyCategory( rec(
properties := [ "IsBicartesianClosedCategory", "IsSkeletalCategory" ] ) );;

InfoOfInstalledOperationsOfCategory( distributive );
#! 21 primitive operations were used to derive 129 operations for this category \
#! 21 primitive operations were used to derive 142 operations for this category \
#! which algorithmically
#! * IsBicartesianClosedCategory
#! and not yet algorithmically
Expand Down
64 changes: 64 additions & 0 deletions CartesianCategories/gap/CartesianCategoriesDerivedMethods_extra.gi
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,70 @@ AddDerivationToCAP( CartesianRightUnitorWithGivenDirectProduct,

end );

##
AddDerivationToCAP( CartesianLeftUnitorInverseWithGivenDirectProduct,
"CartesianLeftUnitorInverse using CartesianDiagonal and UniversalMorphismIntoTerminalObject",
[ [ DirectProduct, 1 ],
[ TerminalObject, 1 ],
[ CartesianDiagonalWithGivenCartesianPower, 1 ],
[ UniversalMorphismIntoTerminalObjectWithGivenTerminalObject, 1 ],
[ DirectProductOnMorphismAndObjectWithGivenDirectProducts, 1 ],
[ PreCompose, 1 ] ],

function( cat, a, txa )
local L, axa, t;

L := ListWithIdenticalEntries( 2, a );

axa := DirectProduct( cat, L );

t := TerminalObject( cat );

return PreCompose( cat,
CartesianDiagonalWithGivenCartesianPower( cat,
a,
2,
axa ),
DirectProductOnMorphismAndObjectWithGivenDirectProducts( cat,
axa,
UniversalMorphismIntoTerminalObjectWithGivenTerminalObject( cat, a, t ),
a,
txa ) );

end );

##
AddDerivationToCAP( CartesianRightUnitorInverseWithGivenDirectProduct,
"CartesianRightUnitorInverse using CartesianDiagonal and UniversalMorphismIntoTerminalObject",
[ [ DirectProduct, 1 ],
[ TerminalObject, 1 ],
[ CartesianDiagonalWithGivenCartesianPower, 1 ],
[ UniversalMorphismIntoTerminalObjectWithGivenTerminalObject, 1 ],
[ DirectProductOnObjectAndMorphismWithGivenDirectProducts, 1 ],
[ PreCompose, 1 ] ],

function( cat, a, axt )
local L, axa, t;

L := ListWithIdenticalEntries( 2, a );

axa := DirectProduct( cat, L );

t := TerminalObject( cat );

return PreCompose( cat,
CartesianDiagonalWithGivenCartesianPower( cat,
a,
2,
axa ),
DirectProductOnObjectAndMorphismWithGivenDirectProducts( cat,
axa,
a,
UniversalMorphismIntoTerminalObjectWithGivenTerminalObject( cat, a, t ),
axt ) );

end );

##
AddDerivationToCAP( CartesianAssociatorRightToLeftWithGivenDirectProducts,
"CartesianAssociatorRightToLeftOfDirectProductsWithGivenDirectProducts using the universal morphism into direct product",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,70 @@ AddDerivationToCAP( CocartesianRightUnitorInverseWithGivenCoproduct,

end );

##
AddDerivationToCAP( CocartesianLeftUnitorWithGivenCoproduct,
"CocartesianLeftUnitor using CocartesianCodiagonal and UniversalMorphismIntoInitialObject",
[ [ Coproduct, 1 ],
[ InitialObject, 1 ],
[ CocartesianCodiagonalWithGivenCocartesianMultiple, 1 ],
[ UniversalMorphismFromInitialObjectWithGivenInitialObject, 1 ],
[ CoproductOnMorphismAndObjectWithGivenCoproducts, 1 ],
[ PreCompose, 1 ] ],

function( cat, a, ixa )
local L, axa, i;

L := ListWithIdenticalEntries( 2, a );

axa := Coproduct( cat, L );

i := InitialObject( cat );

return PreCompose( cat,
CoproductOnMorphismAndObjectWithGivenCoproducts( cat,
ixa,
UniversalMorphismFromInitialObjectWithGivenInitialObject( cat, a, i ),
a,
axa ),
CocartesianCodiagonalWithGivenCocartesianMultiple( cat,
a,
2,
axa ) );

end );

##
AddDerivationToCAP( CocartesianRightUnitorWithGivenCoproduct,
"CocartesianRightUnitor using CocartesianCodiagonal and UniversalMorphismIntoInitialObject",
[ [ Coproduct, 1 ],
[ InitialObject, 1 ],
[ CocartesianCodiagonalWithGivenCocartesianMultiple, 1 ],
[ UniversalMorphismFromInitialObjectWithGivenInitialObject, 1 ],
[ CoproductOnObjectAndMorphismWithGivenCoproducts, 1 ],
[ PreCompose, 1 ] ],

function( cat, a, axi )
local L, axa, i;

L := ListWithIdenticalEntries( 2, a );

axa := Coproduct( cat, L );

i := InitialObject( cat );

return PreCompose( cat,
CoproductOnObjectAndMorphismWithGivenCoproducts( cat,
axi,
a,
UniversalMorphismFromInitialObjectWithGivenInitialObject( cat, a, i ),
axa ),
CocartesianCodiagonalWithGivenCocartesianMultiple( cat,
a,
2,
axa ) );

end );

##
AddDerivationToCAP( CocartesianAssociatorLeftToRightWithGivenCoproducts,
"CocartesianAssociatorLeftToRightWithGivenCoproducts using the universal morphism from coproduct",
Expand Down
Loading