‣ Source ( PSh ) | ( attribute ) |
Returns: a CAP category
The source category \(C\) of the presheaf category PSh=PSh
(\(C, D\)).
‣ Target ( PSh ) | ( attribute ) |
Returns: a CAP category
The target category \(D\) of the presheaf category PSh=PSh
(\(C, D\)).
‣ OppositeOfSource ( Hom ) | ( attribute ) |
Returns: a CAP category
The opposite \(C^\mathrm{op}\) of the source category \(C\) of the presheaf category PSh=PSh
(\(C, D\)).
‣ Source ( F ) | ( attribute ) |
Returns: a CAP category
The source of the presheaf F.
‣ Target ( F ) | ( attribute ) |
Returns: a CAP category
The target of the presheaf F.
‣ YonedaEmbeddingOfSourceCategory ( PSh ) | ( attribute ) |
Returns: a CAP functor
‣ PreSheaves ( B, D ) | ( operation ) |
‣ PreSheaves ( B ) | ( operation ) |
Returns: a CAP category
Construct the category Hom( B^op, D )
of functors from the opposite of the small category B to the category D as objects and their natural transformations as morphisms.
‣ 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.
gap> LoadPackage( "PreSheaves" ); true gap> LoadPackage( "Toposes", ">= 2024.06-03", fail ); true gap> T := PreSheaves( InitialCategory( ) ); PreSheaves( InitialCategory( ), InitialCategory( ) ) gap> IsIdenticalObj( T, RangeCategoryOfHomomorphismStructure( T ) ); true gap> IsTerminalCategory( T ); true gap> Display( T ); A CAP category with name PreSheaves( InitialCategory( ), InitialCategory( ) ): 111 primitive operations were used to derive 614 operations for this category which algorithmically * IsCategoryWithDecidableColifts * IsCategoryWithDecidableLifts * IsFiniteCategory * IsEquippedWithHomomorphismStructure * IsLinearCategoryOverCommutativeRing * IsLeftClosedMonoidalCategory * IsLeftCoclosedMonoidalCategory * IsBicartesianCoclosedCategory * IsRigidSymmetricClosedMonoidalCategory * IsRigidSymmetricCoclosedMonoidalCategory * IsElementaryTopos * IsAbelianCategoryWithEnoughInjectives * IsAbelianCategoryWithEnoughProjectives and not yet algorithmically * IsLinearCategoryOverCommutativeRingWithFinitelyGeneratedFreeExternalHoms and furthermore mathematically * IsLocallyOfFiniteInjectiveDimension * IsLocallyOfFiniteProjectiveDimension * IsSkeletalCategory * IsStrictCartesianCategory * IsStrictCocartesianCategory * IsStrictMonoidalCategory * IsTerminalCategory gap> i := InitialObject( T ); <An object in PreSheaves( InitialCategory( ), InitialCategory( ) )> gap> t := TerminalObject( T ); <An object in PreSheaves( InitialCategory( ), InitialCategory( ) )> gap> z := ZeroObject( T ); <A zero object in PreSheaves( InitialCategory( ), InitialCategory( ) )> gap> Display( i ); An object in PreSheaves( InitialCategory( ), InitialCategory( ) ). gap> Display( t ); An object in PreSheaves( InitialCategory( ), InitialCategory( ) ). gap> Display( z ); A zero object in PreSheaves( InitialCategory( ), InitialCategory( ) ). gap> IsIdenticalObj( i, z ); false gap> IsIdenticalObj( t, z ); false gap> IsEqualForObjects( i, z ); true gap> IsEqualForObjects( t, z ); true gap> IsWellDefined( z ); true gap> id_z := IdentityMorphism( z ); <A zero, identity morphism in PreSheaves( InitialCategory( ), InitialCategory( ) )> gap> fn_z := ZeroObjectFunctorial( T ); <A zero, isomorphism in PreSheaves( InitialCategory( ), InitialCategory( ) )> gap> IsWellDefined( fn_z ); true gap> IsEqualForMorphisms( id_z, fn_z ); true gap> IsCongruentForMorphisms( id_z, fn_z ); true
SkeletalFinSets
gap> LoadPackage( "PreSheaves" ); true gap> LoadPackage( "Toposes", ">= 2024.06-03", fail ); true gap> LoadPackage( "FinSetsForCAP" ); true gap> PSh := PreSheaves( SkeletalFinSets, SkeletalFinSets ); PreSheaves( SkeletalFinSets, SkeletalFinSets ) gap> Display( PSh ); A CAP category with name PreSheaves( SkeletalFinSets, SkeletalFinSets ): 46 primitive operations were used to derive 165 operations for this category which not yet algorithmically * IsFiniteBicompleteCategory * IsDistributiveCategory gap> MissingOperationsForConstructivenessOfCategory( PSh, "IsElementaryTopos" ); [ "IsEqualForObjects", "IsEqualForMorphisms", "IsCongruentForMorphisms", "ExponentialOnObjects", "ExponentialOnMorphismsWithGivenExponentials", "CartesianRightEvaluationMorphismWithGivenSource", "CartesianRightCoevaluationMorphismWithGivenRange", "CartesianLeftEvaluationMorphismWithGivenSource", "CartesianLeftCoevaluationMorphismWithGivenRange", "SubobjectClassifier", "ClassifyingMorphismOfSubobjectWithGivenSubobjectClassifier", "SubobjectOfClassifyingMorphism" ] gap> Y := YonedaEmbeddingOfSourceCategory( PSh ); Yoneda embedding functor gap> omega := SubobjectClassifier( SourceOfFunctor( Y ) ); |2| gap> M := FinSet( 3 ); |3| gap> Y( omega )( M ); |8| gap> phi := MapOfFinSets( omega, [ 2, 0 ], M ); |2| → |3| gap> omega_phi := Y( omega )( phi ); |8| → |4| gap> Display( omega_phi ); { 0,..., 7 } ⱶ[ 0, 2, 0, 2, 1, 3, 1, 3 ]→ { 0,..., 3 } gap> phi_omega := Y( phi )( omega ); |4| → |9| gap> Display( phi_omega ); { 0,..., 3 } ⱶ[ 8, 6, 2, 0 ]→ { 0,..., 8 } gap> six1 := Y( FinSet( 6 ) ); <A projective object in PreSheaves( SkeletalFinSets, SkeletalFinSets )> gap> six2 := DirectProduct( Y( FinSet( 2 ) ), Y( FinSet( 3 ) ) ); <An object in PreSheaves( SkeletalFinSets, SkeletalFinSets )> gap> List( [ 0 .. 7 ], i -> six1( FinSet( i ) ) ); [ |1|, |6|, |36|, |216|, |1296|, |7776|, |46656|, |279936| ] gap> List( [ 0 .. 7 ], i -> six2( FinSet( i ) ) ); [ |1|, |6|, |36|, |216|, |1296|, |7776|, |46656|, |279936| ] gap> six1_on_mor := six1( UniversalMorphismIntoTerminalObject( FinSet( 3 ) ) ); |6| → |216| gap> Display( six1_on_mor ); { 0,..., 5 } ⱶ[ 0, 43, 86, 129, 172, 215 ]→ { 0,..., 215 } gap> six2_on_mor := six2( UniversalMorphismIntoTerminalObject( FinSet( 3 ) ) ); |6| → |216| gap> Display( six2_on_mor ); { 0,..., 5 } ⱶ[ 0, 7, 104, 111, 208, 215 ]→ { 0,..., 215 }
generated by GAPDoc2HTML