@@ -15,7 +15,10 @@ InstallMethod( SkeletalCategoryOfTransitiveLeftGSets,
1515 [ " overhead" , true ] ,
1616 ] ,
1717 function ( CAP_NAMED_ARGUMENTS, group_as_category )
18- local group, name_of_group, tom, u, name, SkeletalTransitiveGSets;
18+ local group, name_of_group, tom, u,
19+ name, category_filter, category_object_filter, category_morphism_filter,
20+ object_datum_type, morphism_datum_type,
21+ SkeletalTransitiveGSets;
1922
2023 group := UnderlyingGroup( group_as_category );
2124
@@ -34,14 +37,26 @@ InstallMethod( SkeletalCategoryOfTransitiveLeftGSets,
3437
3538 name := Concatenation( " SkeletalCategoryOfTransitiveLeftGSets( " , name_of_group, " ) with " , String( u ), " objects" );
3639
40+ # #
41+ category_filter := IsSkeletalCategoryOfTransitiveLeftGSets;
42+ category_object_filter := IsObjectInSkeletalCategoryOfTransitiveLeftGSets;
43+ category_morphism_filter := IsMorphismInSkeletalCategoryOfTransitiveLeftGSets;
44+
45+ # #
46+ object_datum_type := IsBigInt;
47+
48+ # #
49+ morphism_datum_type := CapJitDataTypeOfElementOfGroup( group );
50+
3751 SkeletalTransitiveGSets :=
38- CreateCapCategoryWithDataTypes( name,
39- IsSkeletalCategoryOfTransitiveLeftGSets,
40- IsObjectInSkeletalCategoryOfTransitiveLeftGSets,
41- IsMorphismInSkeletalCategoryOfTransitiveLeftGSets,
52+ CreateCapCategoryWithDataTypes(
53+ name,
54+ category_filter,
55+ category_object_filter,
56+ category_morphism_filter,
4257 IsCapCategoryTwoCell,
43- IsBigInt ,
44- IsMultiplicativeElementWithInverse ,
58+ object_datum_type ,
59+ morphism_datum_type ,
4560 fail :
4661 overhead := CAP_NAMED_ARGUMENTS.overhead );
4762
@@ -215,7 +230,7 @@ InstallMethod( SkeletalCategoryOfTransitiveLeftGSets,
215230 function ( SkeletalTransitiveGSets, mor_pre, mor_post )
216231
217232 # # we choose the left cosets in order for the embedding G ↪ SkeletalCategoryOfTransitiveLeftGSets( G ) to be covariant:
218- # # g: G/U → G/V, h: G/V → G/W, translates to U ⊆ ᵍV, V ⊆ ʰW ⟹ U ⊆ ᵍV ⊆ ᵍʰW
233+ # # g: G/U → G/V, h: G/V → G/W, translates to Uᵍ ⊆ V, Vʰ ⊆ W ⟹ Uᵍʰ ⊆ Vʰ ⊆ W
219234 return MorphismConstructor( SkeletalTransitiveGSets,
220235 Source( mor_pre ),
221236 UnderlyingGroupElement( mor_pre ) * UnderlyingGroupElement( mor_post ),
@@ -450,6 +465,12 @@ InstallMethod( SkeletalCategoryOfTransitiveLeftGSets,
450465
451466 end );
452467
468+ if CAP_NAMED_ARGUMENTS.no_precompiled_code <> true then
469+
470+ ADD_FUNCTIONS_FOR_SkeletalCategoryOfTransitiveLeftGSets_precompiled( SkeletalTransitiveGSets );
471+
472+ fi ;
473+
453474 if CAP_NAMED_ARGUMENTS.FinalizeCategory then
454475 Finalize( SkeletalTransitiveGSets );
455476 fi ;
@@ -494,13 +515,13 @@ InstallMethod( \.,
494515end );
495516
496517# #
497- InstallMethod ( SetOfObjects,
518+ InstallMethodForCompilerForCAP ( SetOfObjects,
498519 " for the skeletal category of transitive left G-sets" ,
499520 [ IsSkeletalCategoryOfTransitiveLeftGSets ] ,
500521
501522 function ( SkeletalTransitiveGSets )
502523
503- return SetOfObjectsOfCategory ( SkeletalTransitiveGSets );
524+ return SetOfObjectsAsUnresolvableAttribute ( SkeletalTransitiveGSets );
504525
505526end );
506527
0 commit comments