‣ PreSheaves ( B, C ) | ( operation ) |
‣ PreSheaves ( B, k ) | ( operation ) |
‣ PreSheaves ( B ) | ( operation ) |
Returns: a CAP category
Construct the category Hom( B^op, C )
of functors from the opposite of the small category B to the category C as objects and their natural transformations as morphisms.
‣ CreatePreSheaf ( F ) | ( attribute ) |
‣ CreatePreSheaf ( B, rec_images_of_objects, rec_images_of_morphisms ) | ( operation ) |
‣ CreatePreSheaf ( B, images_of_objects, images_of_morphisms ) | ( operation ) |
Returns: a presheaf
Turn the functor F:B^op
\to C
into an object in the category of functors PSh := PreSheaves( B, C )
. An alternative input is the source category B and two defining records rec_images_of_objects and rec_images_of_morphisms of F. Another alternative input is the source category B and two defining lists images_of_objects and images_of_morphisms of F. The order of their entries must correspond to that of the vertices and arrows of the underlying quiver.
For the convenience of the user the following input is also valid: If images_of_objects is a list of nonnegative integers, images_of_morphisms is a list of matrices, and k:= CommutativeRingOfLinearCategory
( B ) is a field then the two lists are interpreted as objects and morphisms in a matrix category or a category of rows over k, respectively.
‣ CreatePreSheafMorphismByValues ( arg1, arg2, arg3, arg4 ) | ( operation ) |
‣ CreatePreSheafMorphism ( eta ) | ( attribute ) |
‣ CreatePreSheafMorphism ( U, e, V ) | ( operation ) |
‣ CreatePreSheafMorphism ( U, e, V ) | ( operation ) |
‣ CreatePreSheafMorphismByFunction ( arg1, arg2, arg3 ) | ( operation ) |
Returns: a morphism in a CAP category
Turn the natrual transformation eta:F \to G into a morphism U := AsObjectInFunctorCategory( F )
\to V := AsObjectInFunctorCategory( G )
in the category of functors Hom := Hom( B, C )
, where B := Source( F ) = Source( G )
and C := Range( F ) = Range( G )
.
An alternative input is the triple (U, e, V), where e is a defining record of eta.
Another alternative input is the triple (U, e, V), where e is a defining list of eta.
‣ CoYonedaLemma ( F ) | ( attribute ) |
‣ SomeDiagramOfRepresentables ( F ) | ( attribute ) |
‣ CategoryOfInternalCategories ( C ) | ( attribute ) |
Construct the category of categories internal to the monoidal or cartesian category C. The output the full subcategory of the subcategory of functors from the SimplicialCategoryTruncatedInDegree
(2) into C for which each such functor is the nerve truncated in degree 2 of a category internal to C.
‣ Source ( PSh ) | ( attribute ) |
‣ Range ( PSh ) | ( attribute ) |
‣ Source ( F ) | ( attribute ) |
Returns: a CAP category
The source of the presheaf F.
‣ Range ( F ) | ( attribute ) |
Returns: a CAP category
The target of the presheaf F.
‣ ValuesOnAllObjects ( eta ) | ( attribute ) |
Returns: a list
Returns the values of the presheaf morphism eta on all objects of the source category of presheaf category PSh.
The 2-cell underlying the functor object F_or_eta.
‣ UnderlyingCapTwoCategoryCell ( F_or_eta ) | ( attribute ) |
Returns: a CAP functor or natural transformation
‣ YonedaEmbedding ( B ) | ( attribute ) |
Returns: a CAP functor
‣ YonedaEmbeddingOfSourceCategory ( PSh ) | ( attribute ) |
Returns: a CAP functor
‣ ImageOfYonedaEmbeddingOfSource ( PSh ) | ( attribute ) |
Returns: a CAP category
Returns the full subcategory of PSh generated by the values of the Yoneda embedding on the objects of Source
(PSh).
‣ SimpleObjects ( PSh ) | ( attribute ) |
Returns: a list of objects
The input is a category of presheaves PSh of an admissible k-algebroid for some field k. The output is the list of simple objects in PSh.
gap> q := RightQuiver( "q(4)[x:1->1,a:1->2,b:2->4,c:1->3,d:3->4,y:4->4]" ); q(4)[x:1->1,a:1->2,b:2->4,c:1->3,d:3->4,y:4->4] gap> F := FreeCategory( q ); FreeCategory( RightQuiver( "q(4)[x:1->1,a:1->2,b:2->4,c:1->3,d:3->4, y:4->4]" ) ) gap> k := HomalgFieldOfRationals( ); Q gap> kF := k[F]; Algebroid( Q, FreeCategory( RightQuiver( "q(4)[x:1->1,a:1->2,b:2->4, c:1->3,d:3->4,y:4->4]" ) ) ) gap> A := kF / [ kF.x^3, kF.y^2 ]; Algebroid( Q, FreeCategory( RightQuiver( "q(4)[x:1->1,a:1->2,b:2->4, c:1->3,d:3->4,y:4->4]" ) ) ) / relations gap> PSh := PreSheaves( A ); PreSheaves( Algebroid( Q, FreeCategory( RightQuiver( "q(4)[x:1->1, a:1->2,b:2->4,c:1->3,d:3->4,y:4->4]" ) ) ) / relations, Rows( Q ) ) gap> P := PSh.4; <(1)->12, (2)->2, (3)->2, (4)->2; (x)->12x12, (a)->2x12, (b)->2x2, (c)->2x12, (d)->2x2, (y)->2x2> gap> IsProjective( P ); true gap> Display( P ); Image of <(1)>: A row module over Q of rank 12 Image of <(2)>: A row module over Q of rank 2 Image of <(3)>: A row module over Q of rank 2 Image of <(4)>: A row module over Q of rank 2 Image of (1)-[{ 1*(x) }]->(1): Source: A row module over Q of rank 12 Matrix: [ [ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 ], [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 ], [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 ], [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] ] Range: A row module over Q of rank 12 A morphism in Rows( Q ) Image of (1)-[{ 1*(a) }]->(2): Source: A row module over Q of rank 2 Matrix: [ [ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 ] ] Range: A row module over Q of rank 12 A morphism in Rows( Q ) Image of (2)-[{ 1*(b) }]->(4): Source: A row module over Q of rank 2 Matrix: [ [ 1, 0 ], [ 0, 1 ] ] Range: A row module over Q of rank 2 A morphism in Rows( Q ) Image of (1)-[{ 1*(c) }]->(3): Source: A row module over Q of rank 2 Matrix: [ [ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 ] ] Range: A row module over Q of rank 12 A morphism in Rows( Q ) Image of (3)-[{ 1*(d) }]->(4): Source: A row module over Q of rank 2 Matrix: [ [ 1, 0 ], [ 0, 1 ] ] Range: A row module over Q of rank 2 A morphism in Rows( Q ) Image of (4)-[{ 1*(y) }]->(4): Source: A row module over Q of rank 2 Matrix: [ [ 0, 1 ], [ 0, 0 ] ] Range: A row module over Q of rank 2 A morphism in Rows( Q ) An object in PreSheaves( Algebroid( Q, FreeCategory( RightQuiver( "q(4)[x:1->1, a:1->2,b:2->4,c:1->3,d:3->4,y:4->4]" ) ) ) / relations, Rows( Q ) ) given by the above data gap> CP := CreateComplex( ComplexesCategoryByCochains( PSh ), P, 0 ); <An object in Complexes category by cochains( PreSheaves( Algebroid( Q, FreeCategory( RightQuiver( "q(4)[x:1->1,a:1->2,b:2->4,c:1->3,d:3->4,y:4->4]" ) ) ) / relations, Rows( Q ) ) ) supported on the interval [ 0 .. 0 ]> gap> I_CP := InjectiveResolution( CP, true ); <An object in Complexes category by cochains( PreSheaves( Algebroid( Q, FreeCategory( RightQuiver( "q(4)[x:1->1,a:1->2,b:2->4,c:1->3,d:3->4,y:4->4]" ) ) ) / relations, Rows( Q ) ) ) supported on the interval [ 0 .. 1 ]> gap> IsWellDefined( I_CP ) and CohomologySupport( I_CP ) = [ 0 ]; true gap> q := QuasiIsomorphismFromProjectiveResolution( CP, true );; gap> IsWellDefined( q ) and IsQuasiIsomorphism( q ); true
‣ NerveTruncatedInDegree2 ( B ) | ( attribute ) |
Returns: a presheaf
The input is a category B with finitely many objects equipped with a homomorphism structure with values in a finite complete and finite cocomplete category H. The output is the nerve of B truncated in degree 2, as an object in the category of presheaves on SimplicialCategoryTruncatedInDegree
(2) with values in H.
We compute the nerve of the full subcategory of the simplicial category \Delta on the objects [0], [1], [2].
gap> Delta2 := SimplicialCategoryTruncatedInDegree( 2 ); FreeCategory( RightQuiver( "Delta(C0,C1,C2)[id:C1->C0,s:C0->C1,t:C0->C1, is:C2->C1,it:C2->C1, ps:C1->C2,pt:C1->C2,mu:C1->C2]" ) ) / relations gap> RelationsOfFpCategory( Delta2 ); [ [ (s*id), (C0) ], [ (t*id), (C0) ], [ (ps*is), (C1) ], [ (pt*it), (C1) ], [ (is*id), (it*id) ], [ (pt*is), (id*t) ], [ (ps*it), (id*s) ], [ (s*pt), (t*ps) ], [ (s*mu), (s*ps) ], [ (t*mu), (t*pt) ], [ (mu*is), (C1) ], [ (mu*it), (C1) ] ] gap> Size( Delta2 ); 31 gap> N := NerveTruncatedInDegree2( Delta2 ); <An object in PreSheaves( FreeCategory( RightQuiver( "Delta(C0,C1,C2)[id:C1->C0,s:C0->C1,t:C0->C1, is:C2->C1,it:C2->C1, ps:C1->C2,pt:C1->C2,mu:C1->C2]" ) ) / relations, SkeletalFinSets )> gap> IsWellDefined( N ); true gap> N.C0; |3| gap> Display( N.C0 ); { 0, 1, 2 } gap> N.C1; |31| gap> Display( N.C1 ); { 0,..., 30 } gap> N.C2; |393| gap> Display( N.C2 ); { 0,..., 392 } gap> N.id; |3| → |31| gap> Display( N.id ); { 0, 1, 2 } ⱶ[ 0, 5, 21 ]→ { 0,..., 30 } gap> IntCat := CategoryOfInternalCategories( > RangeCategoryOfHomomorphismStructure( Delta2 ) ); FullSubcategoryByObjectMembershipFunction( PreSheaves( FreeCategory( RightQuiver( "Delta(C0,C1,C2)[id:C1->C0,s:C0->C1,t:C0->C1, is:C2->C1,it:C2->C1, ps:C1->C2,pt:C1->C2,mu:C1->C2]" ) ) / relations, SkeletalFinSets ), ObjectMembershipFunction ) gap> IsWellDefined( N / IntCat ); true
We compute the nerve of the full subcategory of the simplicial category \Delta on the objects [0], [1], [2].
gap> Delta2 := CategoryFromNerveData( SimplicialCategoryTruncatedInDegree( 2 ) ); FreeCategory( RightQuiver( "Delta(C0,C1,C2)[id:C1->C0,s:C0->C1,t:C0->C1, is:C2->C1,it:C2->C1, ps:C1->C2,pt:C1->C2,mu:C1->C2]" ) ) / relations gap> N := NerveTruncatedInDegree2( Delta2 ); <An object in PreSheaves( FreeCategory( RightQuiver( "Delta(C0,C1,C2)[id:C1->C0,s:C0->C1,t:C0->C1, is:C2->C1,it:C2->C1, ps:C1->C2,pt:C1->C2,mu:C1->C2]" ) ) / relations, SkeletalFinSets )> gap> IsWellDefined( N ); true gap> N.C0; |3| gap> Display( N.C0 ); { 0, 1, 2 } gap> N.C1; |31| gap> Display( N.C1 ); { 0,..., 30 } gap> N.C2; |393| gap> Display( N.C2 ); { 0,..., 392 } gap> N.id; |3| → |31| gap> Display( N.id ); { 0, 1, 2 } ⱶ[ 0, 5, 21 ]→ { 0,..., 30 }
‣ SievesOfPathsToTruth ( iota ) | ( attribute ) |
Returns: a monomorphisms in a Hom-category of functors
The input is a monomorphism iota:Q \to P in the category of presheaves with values in RangeCategoryOfHomomorphismStructure
(C) on the finitely presented category C:=(Source
(P)) with finite \mathrm{Hom}-sets. The output is the morphism from P to the SieveFunctor
(C) mapping for each c \in C the element x \in P(c) to its "paths to truth" f: a \to c translating x into f(x) \in Q(a) \subseteq P(a).
‣ ApplyObjectInPreSheafCategoryToObject ( F, obj ) | ( operation ) |
Returns: a CAP object
Apply the presheaf F to the object obj. The shorthand is F(obj).
‣ ApplyObjectInPreSheafCategoryToMorphism ( F, mor ) | ( operation ) |
Returns: a CAP morphism
Apply the presheaf F to the morphism mor. The shorthand is F(mor).
‣ ApplyMorphismInPreSheafCategoryToObject ( eta, obj ) | ( operation ) |
Returns: a CAP morphism
Apply the presheaf morphism eta to the object obj. The shorthand is eta(o).
‣ IsPreSheafCategory ( category ) | ( filter ) |
Returns: true
or false
The GAP category of a presheaf category.
‣ IsCellInPreSheafCategory ( cell ) | ( filter ) |
Returns: true
or false
The GAP category of cells in a presheaf category.
‣ IsObjectInPreSheafCategory ( obj ) | ( filter ) |
Returns: true
or false
The GAP category of objects in a presheaf category.
‣ IsMorphismInPreSheafCategory ( mor ) | ( filter ) |
Returns: true
or false
The GAP category of morphisms in a presheaf category.
‣ IsPreSheafCategoryOfFpEnrichedCategory ( category ) | ( filter ) |
Returns: true
or false
The GAP category of a presheaf category of a finitely presented enriched category.
‣ IsCellInPreSheafCategoryOfFpEnrichedCategory ( cell ) | ( filter ) |
Returns: true
or false
The GAP category of cells in a presheaf category of a finitely presented enriched category.
‣ IsObjectInPreSheafCategoryOfFpEnrichedCategory ( obj ) | ( filter ) |
Returns: true
or false
The GAP category of objects in a presheaf category of a finitely presented enriched category.
‣ IsMorphismInPreSheafCategoryOfFpEnrichedCategory ( mor ) | ( filter ) |
Returns: true
or false
The GAP category of morphisms in a presheaf category of a finitely presented enriched category.
‣ CAP_INTERNAL_METHOD_NAME_LIST_FOR_PRESHEAF_CATEGORY | ( global variable ) |
‣ CAP_INTERNAL_METHOD_NAME_LIST_FOR_MONOIDAL_PRESHEAF_CATEGORY | ( global variable ) |
‣ CAP_INTERNAL_METHOD_NAME_LIST_FOR_MONOIDAL_PRESHEAF_CATEGORY_WITH_DUALS | ( global variable ) |
The subobject classifier of the PreSheaves
(C, H), where H:=RangeCategoryOfHomomorphismStructure
(C) is the functor of sieves, mapping each object c \in C^\mathrm{op} to the set of subobjects of the representable functor \mathrm{Hom}_C(-,c).
gap> q := RightQuiver( "q(1)[a:1->1]" ); q(1)[a:1->1] gap> Fq := FreeCategory( q ); FreeCategory( RightQuiver( "q(1)[a:1->1]" ) ) gap> M0 := Fq / [ [ Fq.a^3, Fq.1 ] ]; FreeCategory( RightQuiver( "q(1)[a:1->1]" ) ) / [ a*a*a = 1 ] gap> PShM0 := PreSheaves( M0 ); PreSheaves( FreeCategory( RightQuiver( "q(1)[a:1->1]" ) ) / [ a*a*a = 1 ], SkeletalFinSets ) gap> Omega0 := SubobjectClassifier( PShM0 ); <An object in PreSheaves( FreeCategory( RightQuiver( "q(1)[a:1->1]" ) ) / [ a*a*a = 1 ], SkeletalFinSets )> gap> Display( Omega0 ); Image of <(1)>: { 0, 1 } Image of (1)-[(a)]->(1): { 0, 1 } ⱶ[ 0, 1 ]→ { 0, 1 } An object in PreSheaves( FreeCategory( RightQuiver( "q(1)[a:1->1]" ) ) / [ a*a*a = 1 ], SkeletalFinSets ) given by the above data gap> e := Exponential( Omega0, Omega0 ); <An object in PreSheaves( FreeCategory( RightQuiver( "q(1)[a:1->1]" ) ) / [ a*a*a = 1 ], SkeletalFinSets )> gap> Display( e ); Image of <(1)>: { 0,..., 3 } Image of (1)-[(a)]->(1): { 0,..., 3 } ⱶ[ 0, 1, 2, 3 ]→ { 0,..., 3 } An object in PreSheaves( FreeCategory( RightQuiver( "q(1)[a:1->1]" ) ) / [ a*a*a = 1 ], SkeletalFinSets ) given by the above data gap> ev0 := CartesianEvaluationMorphism( Omega0, Omega0 ); <A morphism in PreSheaves( FreeCategory( RightQuiver( "q(1)[a:1->1]" ) ) / [ a*a*a = 1 ], SkeletalFinSets )> gap> Display( ev0 ); Image of <(1)>: { 0,..., 7 } ⱶ[ 0, 1, 0, 1, 0, 0, 1, 1 ]→ { 0, 1 } A morphism in PreSheaves( FreeCategory( RightQuiver( "q(1)[a:1->1]" ) ) / [ a*a*a = 1 ], SkeletalFinSets ) given by the above data gap> M1 := Fq / [ [ Fq.a^3, Fq.a ] ]; FreeCategory( RightQuiver( "q(1)[a:1->1]" ) ) / [ a*a*a = a ] gap> PShM1 := PreSheaves( M1 ); PreSheaves( FreeCategory( RightQuiver( "q(1)[a:1->1]" ) ) / [ a*a*a = a ], SkeletalFinSets ) gap> Omega1 := SubobjectClassifier( PShM1 ); <An object in PreSheaves( FreeCategory( RightQuiver( "q(1)[a:1->1]" ) ) / [ a*a*a = a ], SkeletalFinSets )> gap> Display( Omega1 ); Image of <(1)>: { 0, 1, 2 } Image of (1)-[(a)]->(1): { 0, 1, 2 } ⱶ[ 0, 2, 2 ]→ { 0, 1, 2 } An object in PreSheaves( FreeCategory( RightQuiver( "q(1)[a:1->1]" ) ) / [ a*a*a = a ], SkeletalFinSets ) given by the above data gap> M2 := Fq / [ [ Fq.a^3, Fq.a^2 ] ]; FreeCategory( RightQuiver( "q(1)[a:1->1]" ) ) / [ a*a*a = a*a ] gap> PShM2 := PreSheaves( M2 ); PreSheaves( FreeCategory( RightQuiver( "q(1)[a:1->1]" ) ) / [ a*a*a = a*a ], SkeletalFinSets ) gap> Omega2 := SubobjectClassifier( PShM2 ); <An object in PreSheaves( FreeCategory( RightQuiver( "q(1)[a:1->1]" ) ) / [ a*a*a = a*a ], SkeletalFinSets )> gap> Display( Omega2 ); Image of <(1)>: { 0,..., 3 } Image of (1)-[(a)]->(1): { 0,..., 3 } ⱶ[ 0, 2, 3, 3 ]→ { 0,..., 3 } An object in PreSheaves( FreeCategory( RightQuiver( "q(1)[a:1->1]" ) ) / [ a*a*a = a*a ], SkeletalFinSets ) given by the above data gap> true2 := TruthMorphismOfTrue( PShM2 ); <A morphism in PreSheaves( FreeCategory( RightQuiver( "q(1)[a:1->1]" ) ) / [ a*a*a = a*a ], SkeletalFinSets )> gap> Display( true2 ); Image of <(1)>: { 0 } ⱶ[ 3 ]→ { 0,..., 3 } A morphism in PreSheaves( FreeCategory( RightQuiver( "q(1)[a:1->1]" ) ) / [ a*a*a = a*a ], SkeletalFinSets ) given by the above data gap> false2 := TruthMorphismOfFalse( PShM2 ); <A morphism in PreSheaves( FreeCategory( RightQuiver( "q(1)[a:1->1]" ) ) / [ a*a*a = a*a ], SkeletalFinSets )> gap> Display( false2 ); Image of <(1)>: { 0 } ⱶ[ 0 ]→ { 0,..., 3 } A morphism in PreSheaves( FreeCategory( RightQuiver( "q(1)[a:1->1]" ) ) / [ a*a*a = a*a ], SkeletalFinSets ) given by the above data gap> iota := CreatePreSheafMorphism( EmbeddingOfSieveFunctor( M2 ) ); <A morphism in PreSheaves( FreeCategory( RightQuiver( "q(1)[a:1->1]" ) ) / [ a*a*a = a*a ], SkeletalFinSets )> gap> Display( iota ); Image of <(1)>: { 0,..., 3 } ⱶ[ 0, 4, 6, 7 ]→ { 0,..., 7 } A morphism in PreSheaves( FreeCategory( RightQuiver( "q(1)[a:1->1]" ) ) / [ a*a*a = a*a ], SkeletalFinSets ) given by the above data gap> Range( iota ); <An object in PreSheaves( FreeCategory( RightQuiver( "q(1)[a:1->1]" ) ) / [ a*a*a = a*a ], SkeletalFinSets )> gap> Display( Range( iota ) ); Image of <(1)>: { 0,..., 7 } Image of (1)-[(a)]->(1): { 0,..., 7 } ⱶ[ 0, 0, 1, 1, 6, 6, 7, 7 ]→ { 0,..., 7 } An object in PreSheaves( FreeCategory( RightQuiver( "q(1)[a:1->1]" ) ) / [ a*a*a = a*a ], SkeletalFinSets ) given by the above data gap> t2 := SubobjectOfClassifyingMorphism( true2 ); <A monomorphism in PreSheaves( FreeCategory( RightQuiver( "q(1)[a:1->1]" ) ) / [ a*a*a = a*a ], SkeletalFinSets )> gap> Display( t2 ); Image of <(1)>: { 0 } ⱶ[ 0 ]→ { 0 } A morphism in PreSheaves( FreeCategory( RightQuiver( "q(1)[a:1->1]" ) ) / [ a*a*a = a*a ], SkeletalFinSets ) given by the above data gap> f2 := SubobjectOfClassifyingMorphism( false2 ); <A monomorphism in PreSheaves( FreeCategory( RightQuiver( "q(1)[a:1->1]" ) ) / [ a*a*a = a*a ], SkeletalFinSets )> gap> Display( f2 ); Image of <(1)>: ∅ ⱶ[ ]→ { 0 } A morphism in PreSheaves( FreeCategory( RightQuiver( "q(1)[a:1->1]" ) ) / [ a*a*a = a*a ], SkeletalFinSets ) given by the above data gap> H := HomStructure( Omega2, Omega2 ); |8| gap> Display( H ); { 0,..., 7 } gap> T2 := DistinguishedObjectOfHomomorphismStructure( PShM2 ); |1| gap> L := List( H, i -> > InterpretMorphismFromDistinguishedObjectToHomomorphismStructureAsMorphism( > Omega2, Omega2, MapOfFinSets( T2, [ i ], H ) ) );; gap> Length( L ); 8 gap> Perform( L, Display ); Image of <(1)>: { 0,..., 3 } ⱶ[ 0, 0, 0, 0 ]→ { 0,..., 3 } A morphism in PreSheaves( FreeCategory( RightQuiver( "q(1)[a:1->1]" ) ) / [ a*a*a = a*a ], SkeletalFinSets ) given by the above data Image of <(1)>: { 0,..., 3 } ⱶ[ 3, 0, 0, 0 ]→ { 0,..., 3 } A morphism in PreSheaves( FreeCategory( RightQuiver( "q(1)[a:1->1]" ) ) / [ a*a*a = a*a ], SkeletalFinSets ) given by the above data Image of <(1)>: { 0,..., 3 } ⱶ[ 0, 1, 2, 3 ]→ { 0,..., 3 } A morphism in PreSheaves( FreeCategory( RightQuiver( "q(1)[a:1->1]" ) ) / [ a*a*a = a*a ], SkeletalFinSets ) given by the above data Image of <(1)>: { 0,..., 3 } ⱶ[ 3, 1, 2, 3 ]→ { 0,..., 3 } A morphism in PreSheaves( FreeCategory( RightQuiver( "q(1)[a:1->1]" ) ) / [ a*a*a = a*a ], SkeletalFinSets ) given by the above data Image of <(1)>: { 0,..., 3 } ⱶ[ 0, 2, 3, 3 ]→ { 0,..., 3 } A morphism in PreSheaves( FreeCategory( RightQuiver( "q(1)[a:1->1]" ) ) / [ a*a*a = a*a ], SkeletalFinSets ) given by the above data Image of <(1)>: { 0,..., 3 } ⱶ[ 0, 3, 3, 3 ]→ { 0,..., 3 } A morphism in PreSheaves( FreeCategory( RightQuiver( "q(1)[a:1->1]" ) ) / [ a*a*a = a*a ], SkeletalFinSets ) given by the above data Image of <(1)>: { 0,..., 3 } ⱶ[ 3, 2, 3, 3 ]→ { 0,..., 3 } A morphism in PreSheaves( FreeCategory( RightQuiver( "q(1)[a:1->1]" ) ) / [ a*a*a = a*a ], SkeletalFinSets ) given by the above data Image of <(1)>: { 0,..., 3 } ⱶ[ 3, 3, 3, 3 ]→ { 0,..., 3 } A morphism in PreSheaves( FreeCategory( RightQuiver( "q(1)[a:1->1]" ) ) / [ a*a*a = a*a ], SkeletalFinSets ) given by the above data
generated by GAPDoc2HTML