@@ -61,11 +61,11 @@ DeclareAttribute( "SkeletalCategoryOfTransitiveLeftGSets",
6161DeclareAttribute( " UnderlyingGroup" ,
6262 IsSkeletalCategoryOfTransitiveLeftGSets );
6363
64- # CapJitAddTypeSignature( "UnderlyingGroup", [ IsSkeletalCategoryOfTransitiveLeftGSets ], function ( input_types )
65- #
66- # return CapJitDataTypeOfGroup( UnderlyingGroup( input_types[1].category ) );
67- #
68- # end );
64+ CapJitAddTypeSignature( " UnderlyingGroup" , [ IsSkeletalCategoryOfTransitiveLeftGSets ] , function ( input_types )
65+
66+ return CapJitDataTypeOfGroup( UnderlyingGroup( input_types[ 1 ] .category ) );
67+
68+ end );
6969
7070# ! @Description
7171# ! The group $G$ underlying the skeletal category <A>C</A> of transitive left $G$-set, viewed as a category on one object.
@@ -103,11 +103,11 @@ CapJitAddTypeSignature( "NumberOfObjects", [ IsSkeletalCategoryOfTransitiveLeftG
103103DeclareAttribute( " CardinalitiesOfObjects" ,
104104 IsSkeletalCategoryOfTransitiveLeftGSets );
105105
106- # CapJitAddTypeSignature( "CardinalitiesOfObjects", [ IsSkeletalCategoryOfTransitiveLeftGSets ], function ( input_types )
107- #
108- # return CapJitDataTypeOfListOf( IsBigInt );
109- #
110- # end );
106+ CapJitAddTypeSignature( " CardinalitiesOfObjects" , [ IsSkeletalCategoryOfTransitiveLeftGSets ] , function ( input_types )
107+
108+ return CapJitDataTypeOfListOf( IsBigInt );
109+
110+ end );
111111
112112# ! @Description
113113# ! The list of subgroups up to conjugation of the underlying group.
@@ -116,6 +116,12 @@ DeclareAttribute( "CardinalitiesOfObjects",
116116DeclareAttribute( " RepresentativesOfSubgroupsUpToConjugation" ,
117117 IsSkeletalCategoryOfTransitiveLeftGSets );
118118
119+ CapJitAddTypeSignature( " RepresentativesOfSubgroupsUpToConjugation" , [ IsSkeletalCategoryOfTransitiveLeftGSets ] , function ( input_types )
120+
121+ return CapJitDataTypeOfListOf( CapJitDataTypeOfSubgroup( UnderlyingGroup( input_types[ 1 ] .category ) ) );
122+
123+ end );
124+
119125# ! @Description
120126# ! The positive integer $i$ such that the transitive left $G$-set <A>Omega</A> $\cong U_i \backslash G$, i.e.,
121127# ! <C>ObjectNumber( TransitiveGSet( G, i ) ) = i</C>.
@@ -124,7 +130,13 @@ DeclareAttribute( "RepresentativesOfSubgroupsUpToConjugation",
124130DeclareAttribute( " ObjectNumber" ,
125131 IsObjectInSkeletalCategoryOfTransitiveLeftGSets );
126132
127- CapJitAddTypeSignature( " ObjectNumber" , [ IsObjectInSkeletalCategoryOfTransitiveLeftGSets ] , IsBigInt );
133+ CapJitAddTypeSignature( " ObjectNumber" , [ IsObjectInSkeletalCategoryOfTransitiveLeftGSets ] , function ( input_types )
134+
135+ Assert ( 0 , IsSkeletalCategoryOfTransitiveLeftGSets( input_types[ 1 ] .category ) );
136+
137+ return ObjectDatumType( input_types[ 1 ] .category );
138+
139+ end );
128140
129141# ! @Description
130142# ! The group elements $g \in G$ defining the morphism <A>phi</A>: $\cong U_s \backslash G \to U_t \backslash G$
@@ -134,13 +146,13 @@ CapJitAddTypeSignature( "ObjectNumber", [ IsObjectInSkeletalCategoryOfTransitive
134146DeclareAttribute( " UnderlyingGroupElement" ,
135147 IsMorphismInSkeletalCategoryOfTransitiveLeftGSets );
136148
137- # CapJitAddTypeSignature( "UnderlyingGroupElement", [ IsMorphismInSkeletalCategoryOfTransitiveLeftGSets ], function ( input_types )
138- #
139- # Assert( 0, IsSkeletalCategoryOfTransitiveLeftGSets( input_types[1].category ) );
140- #
141- # return CapJitDataTypeOfElementOfGroup( UnderlyingGroup( input_types[1].category ) );
142- #
143- # end );
149+ CapJitAddTypeSignature( " UnderlyingGroupElement" , [ IsMorphismInSkeletalCategoryOfTransitiveLeftGSets ] , function ( input_types )
150+
151+ Assert ( 0 , IsSkeletalCategoryOfTransitiveLeftGSets( input_types[ 1 ] .category ) );
152+
153+ return MorphismDatumType( input_types[ 1 ] .category );
154+
155+ end );
144156
145157# ! @Description
146158# ! The cardinality of the transitive left $G$-set <A>Omega</A>.
0 commit comments