‣ IsSkeletalFinGSetCategory ( object ) | ( filter ) |
Returns: true
or false
The GAP category of the category of skeletal finite \(G\)-sets.
‣ IsSkeletalFinGSet ( object ) | ( filter ) |
Returns: true
or false
The GAP category of objects in the category of skeletal finite \(G\)-sets.
‣ IsSkeletalFinGSetMap ( object ) | ( filter ) |
Returns: true
or false
The GAP category of morphisms in the category of skeletal finite \(G\)-sets.
‣ AsList ( Omega ) | ( attribute ) |
Returns: a GAP set
The GAP set of the list used to construct a finite \(G\)-set Omega, i.e., AsList( FinGSet( G, L ) ) = L
.
‣ UnderlyingGroup ( Omega ) | ( attribute ) |
Returns: a group
The group \(G\) underlying the finite \(G\)-set Omega.
‣ FinGSet ( G, L ) | ( operation ) |
Returns: a CAP object
Construct a skeletal finite \(G\)-set out of the group G and a list L, i.e., an object in the CAP category SkeletalFinGSets
.
gap> S3 := SymmetricGroup( 3 ); Sym( [ 1 .. 3 ] ) gap> SetName( S3, "S3" ); gap> w1 := FinGSet( S3, [ 1, 2, 3, 1 ] ); <An object in SkeletalFin-S3-Sets> gap> IsWellDefined( w1 ); true gap> w2 := FinGSet( S3, [ 1, 2, 3, 1 ] ); <An object in SkeletalFin-S3-Sets> gap> IsWellDefined( w2 ); true gap> w1 = w2; true gap> S := FinGSet( S3, [ 1 ] ); <An object in SkeletalFin-S3-Sets> gap> IsWellDefined( S ); false gap> S := FinGSet( S3, [ "a", 0, 0, 0 ] ); <An object in SkeletalFin-S3-Sets> gap> IsWellDefined( S ); false gap> S := FinGSet( S3, [ -1, 0, 0, 0 ] ); <An object in SkeletalFin-S3-Sets> gap> IsWellDefined( S ); false
‣ MapOfFinGSets ( s, G, t ) | ( operation ) |
Returns: a CAP morphism
Construct a map \(\phi \colon\)s\(\to\)t of the skeletal finite \(G\)-sets s and t, i.e., a morphism in the CAP category SkeletalFinGSets
, where G is a list of lists describing the graph of \(\phi\).
gap> S3 := SymmetricGroup( 3 ); Sym( [ 1 .. 3 ] ) gap> w1 := FinGSet( S3, [ 1, 2, 0, 0 ] ); <An object in SkeletalFinGSets> gap> w2 := FinGSet( S3, [ 0, 1, 0, 1 ] ); <An object in SkeletalFinGSets> gap> imgs1 := [ [ [ 1, (2,3), 2 ] ], > [ [ 1, (), 4 ], [ 1, (), 2 ] ], > [], > [] ];; gap> pi1 := MapOfFinGSets( w1, imgs1, w2 ); <A morphism in SkeletalFinGSets> gap> imgs2 := [ [ [ 1, (), 2 ] ], > [ [ 1, (), 4 ], [ 1, (2,3), 2 ] ], > [], > [] ];; gap> pi2 := MapOfFinGSets( w1, imgs2, w2 ); <A morphism in SkeletalFinGSets> gap> pi1 = pi2; true gap> # BUT > imgs1 = imgs2; false gap> M := FinGSet( S3, [ 2, 1, 0, 0 ] ); <An object in SkeletalFinGSets> gap> N := FinGSet( SymmetricGroup( 3 ), [ 2, 1, 0, 0 ] ); <An object in SkeletalFinGSets> gap> imgs := [ [ [ 1, (), 2 ], [ 1, (), 2 ] ], > [ [ 1, (), 2 ] ], > [], > [] ];; gap> phi := MapOfFinGSets( M, imgs, N ); Error, The underlying groups of the source and the range are not the same with respect to IsIdenticalObj gap> phi := MapOfFinGSets( M, [ 1 ], M ); Error, I has the wrong format gap> phi := MapOfFinGSets( M, [ [ 1 ] ], M ); Error, images must be triples gap> phi := MapOfFinGSets( M, [ [ [ 1, () ] ] ], M ); Error, images must be triples gap> phi := MapOfFinGSets( M, [ [ [ 1, (), -1 ] ] ], M ); Error, last entry of an image must be an integer j with 1 <= j <= 4 gap> phi := MapOfFinGSets( M, [ [ [ 1, (), 5 ] ] ], M ); Error, last entry of an image must be an integer j with 1 <= j <= 4 gap> imgs := [ [ [ 1, (), 2 ], [ 1, (), 2 ] ], [ [ 1, (), 2 ] ], [] ];; gap> phi := MapOfFinGSets( M, imgs, M ); <A morphism in SkeletalFinGSets> gap> IsWellDefined( phi ); false gap> imgs := [ [ [ 1, (), 2 ] ], [ [ 1, (), 2 ] ], [], [] ];; gap> phi := MapOfFinGSets( M, imgs, M ); <A morphism in SkeletalFinGSets> gap> IsWellDefined( phi ); false gap> imgs := [ [ [ 0, (), 2 ], [ 1, (), 2 ] ], [ [ 1, (), 2 ] ], [], [] ];; gap> phi := MapOfFinGSets( M, imgs, M ); <A morphism in SkeletalFinGSets> gap> IsWellDefined( phi ); false gap> imgs := [ [ [ 3, (), 2 ], [ 1, (), 2 ] ], [ [ 1, (), 2 ] ], [], [] ];; gap> phi := MapOfFinGSets( M, imgs, M ); <A morphism in SkeletalFinGSets> gap> IsWellDefined( phi ); false gap> imgs := [ [ [ 1, (), 2 ], [ 1, (), 2 ] ], [ [ 1, "", 2 ] ], [], [] ];; gap> phi := MapOfFinGSets( M, imgs, M ); <A morphism in SkeletalFinGSets> gap> IsWellDefined( phi ); false gap> imgs := [ [ [ 1, (), 2 ], [ 1, (), 2 ] ], [ [ 1, (), 3 ] ], [], [] ];; gap> phi := MapOfFinGSets( M, imgs, M ); <A morphism in SkeletalFinGSets> gap> IsWellDefined( phi ); false gap> imgs := [ [ [ 1, (), 2 ], [ 1, (), 2 ] ], > [ [ 1, (1,2,3), 2 ] ], > [], > [] ];; gap> phi := MapOfFinGSets( M, imgs, M ); <A morphism in SkeletalFinGSets> gap> IsWellDefined( phi ); false
‣ SkeletalFinGSets ( G ) | ( attribute ) |
Returns: a category
The argument is a group \(G\). The output is the category of skeletal finite \(G\)-Sets.
gap> # Groups have to be the same with respect to IsIdenticalObj > C6 := CyclicGroup( 6 ); <pc group of size 6 with 2 generators> gap> S3 := SymmetricGroup( 3 ); Sym( [ 1 .. 3 ] ) gap> w1 := FinGSet( C6, [1, 2, 3, 1]); <An object in SkeletalFinGSets> gap> IsWellDefined( w1 ); true gap> w2 := FinGSet( S3, [1, 2, 3, 1]); <An object in SkeletalFinGSets> gap> IsWellDefined( w2 ); true gap> w1 = w2; Error, the object "An object in SkeletalFinGSets" and the object "An o\ bject in SkeletalFinGSets" do not belong to the same CAP category
gap> S3 := SymmetricGroup( 3 ); Sym( [ 1 .. 3 ] ) gap> S := FinGSet( S3, [ 1, 0, 0, 0 ] ); <An object in SkeletalFinGSets> gap> R := FinGSet( S3, [ 1, 0, 0, 0 ] ); <An object in SkeletalFinGSets> gap> T := FinGSet( S3, [ 1, 0, 0, 0 ] ); <An object in SkeletalFinGSets> gap> psi1 := MapOfFinGSets( S, [ [ [ 1, (1,2), 1 ] ], [], [], [] ], R ); <A morphism in SkeletalFinGSets> gap> IsWellDefined( psi1 ); true gap> psi2 := MapOfFinGSets( R, [ [ [ 1, (1,2,3), 1 ] ] , [], [], [] ] , T ); <A morphism in SkeletalFinGSets> gap> IsWellDefined( psi2 ); true gap> PreCompose( psi1, psi2 ); <A morphism in SkeletalFinGSets> gap> phi := PreCompose( psi1, psi2 ); <A morphism in SkeletalFinGSets> gap> IsWellDefined( phi ); true gap> Display( phi ); [ [ [ 1, (2,3), 1 ] ], [ ], [ ], [ ] ] gap> S3 := SymmetricGroup( 3 ); Sym( [ 1 .. 3 ] ) gap> S := FinGSet( S3, [ 2, 2, 0, 0 ] ); <An object in SkeletalFinGSets> gap> R := FinGSet( S3, [ 2, 1, 0, 0 ] ); <An object in SkeletalFinGSets> gap> T := FinGSet( S3, [ 2, 1, 1, 0 ] ); <An object in SkeletalFinGSets> gap> imgs := [ [ [ 2, (1,2), 1 ], [ 1, (1,2,3), 2 ] ], > [ [ 1, (), 2 ], [ 1, (2,3), 2 ] ], > [ ], > [ ] ];; gap> psi1 := MapOfFinGSets( S, imgs, R ); <A morphism in SkeletalFinGSets> gap> IsWellDefined( psi1 ); true gap> imgs := [ [ [ 1, (1,3), 1 ], [ 1, (1,2,3), 3 ] ], > [ [ 1, (), 2 ] ], > [ ], > [ ] ];; gap> psi2 := MapOfFinGSets( R, imgs, T ); <A morphism in SkeletalFinGSets> gap> IsWellDefined( psi2 ); true gap> pi := PreCompose( psi1, psi2 ); <A morphism in SkeletalFinGSets> gap> Display( pi ); [ [ [ 1, (2,3), 3 ], [ 1, (1,2,3), 2 ] ], [ [ 1, (), 2 ], [ 1, (2,3), 2 ] ], [ ], [ ] ] gap> G := SymmetricGroup( 0 );; gap> m := FinGSet( G, [ 3 ] ); <An object in SkeletalFinGSets> gap> n := FinGSet( G, [ 5 ] ); <An object in SkeletalFinGSets> gap> p := FinGSet( G, [ 7 ] ); <An object in SkeletalFinGSets> gap> imgs := [ [ [ 2, (), 1 ], [ 5, (), 1 ], [ 3, (), 1 ] ] ];; gap> psi := MapOfFinGSets( m, imgs, n ); <A morphism in SkeletalFinGSets> gap> imgs := [ [ [ 1, (), 1 ], > [ 4, (), 1 ], > [ 6, (), 1 ], > [ 6, (), 1 ], > [ 3, (), 1 ] ] ];; gap> phi := MapOfFinGSets( n, imgs, p ); <A morphism in SkeletalFinGSets> gap> alpha := PreCompose( psi, phi ); <A morphism in SkeletalFinGSets> gap> Display( alpha ); [ [ [ 4, (), 1 ], [ 3, (), 1 ], [ 6, (), 1 ] ] ]
gap> S3 := SymmetricGroup( 3 ); Sym( [ 1 .. 3 ] ) gap> M := FinGSet( S3, [ 1, 2, 1, 2 ] ); <An object in SkeletalFinGSets> gap> iota := IdentityMorphism( M ); <An identity morphism in SkeletalFinGSets> gap> IsWellDefined( iota ); true gap> IsEpimorphism( iota ); true gap> Display( iota ); [ [ [ 1, (), 1 ] ], [ [ 1, (), 2 ], [ 2, (), 2 ] ], [ [ 1, (), 3 ] ], [ [ 1, (), 4 ], [ 2, (), 4 ] ] ]
gap> S3 := SymmetricGroup( 3 ); Sym( [ 1 .. 3 ] ) gap> S := FinGSet( S3, [ 2, 2, 0, 0 ] ); <An object in SkeletalFinGSets> gap> u := UniversalMorphismFromInitialObject( S ); <A morphism in SkeletalFinGSets> gap> IsWellDefined( u ); true gap> S := FinGSet( S3, [ 2, 2, 0, 0 ] ); <An object in SkeletalFinGSets> gap> u := UniversalMorphismIntoTerminalObject( S ); <A morphism in SkeletalFinGSets> gap> IsWellDefined( u ); true gap> G := SymmetricGroup( 0 );; gap> m := FinGSet( G, [ 8 ] ); <An object in SkeletalFinGSets> gap> i := InitialObject( CapCategory( m ) ); <An object in SkeletalFinGSets> gap> iota := UniversalMorphismFromInitialObject( m ); <A morphism in SkeletalFinGSets> gap> AsList( i ); [ 0 ] gap> t := TerminalObject( CapCategory( m ) ); <An object in SkeletalFinGSets> gap> AsList( t ); [ 1 ] gap> pi := UniversalMorphismIntoTerminalObject( m ); <A morphism in SkeletalFinGSets> gap> IsIdenticalObj( Range( pi ), t ); true gap> pi_t := UniversalMorphismIntoTerminalObject( m ); <A morphism in SkeletalFinGSets> gap> Display( pi_t ); [ [ [ 1, (), 1 ], [ 1, (), 1 ], [ 1, (), 1 ], [ 1, (), 1 ], [ 1, (), 1 ], [ 1, (), 1 ], [ 1, (), 1 ], [ 1, (), 1 ] ] ] gap> pi = pi_t; true
gap> S3 := SymmetricGroup( 3 ); Sym( [ 1 .. 3 ] ) gap> M := FinGSet( S3, [ 1, 0, 0, 0 ] ); <An object in SkeletalFinGSets> gap> N := FinGSet( S3, [ 2, 0, 2, 0 ] ); <An object in SkeletalFinGSets> gap> O := FinGSet( S3, [ 2, 0, 0, 0 ] ); <An object in SkeletalFinGSets> gap> tau := MapOfFinGSets( M, [ [ [ 1, (1,2), 1 ] ], [], [], [] ], N ); <A morphism in SkeletalFinGSets> gap> IsWellDefined( tau ); true gap> imgs := [ [ [ 2, (), 1 ], [ 1, (1,3,2), 1 ] ], [], [], [] ];; gap> iota := MapOfFinGSets( O, imgs, N ); <A morphism in SkeletalFinGSets> gap> IsWellDefined( iota ); true gap> IsMonomorphism( iota ); true gap> u := LiftAlongMonomorphism( iota, tau ); <A morphism in SkeletalFinGSets> gap> IsWellDefined( u ); true gap> tau = PreCompose( u, iota ); true
gap> S3 := SymmetricGroup( 3 ); Sym( [ 1 .. 3 ] ) gap> M := FinGSet( S3, [ 2, 0, 0, 0 ] ); <An object in SkeletalFinGSets> gap> N := FinGSet( S3, [ 1, 0, 1, 0 ] ); <An object in SkeletalFinGSets> gap> O := FinGSet( S3, [ 2, 0, 1, 0 ] ); <An object in SkeletalFinGSets> gap> imgs := [ [ [ 1, (1,2), 1 ], [ 1, (), 3 ] ], [], [], [] ];; gap> tau := MapOfFinGSets( M, imgs, O ); <A morphism in SkeletalFinGSets> gap> IsWellDefined( tau ); true gap> imgs := [ [ [ 1, (1,2,3), 1 ], [ 1, (1,2), 3 ] ], [], [], [] ];; gap> epsilon := MapOfFinGSets( M, imgs, N ); <A morphism in SkeletalFinGSets> gap> IsWellDefined( epsilon ); true gap> IsEpimorphism( epsilon ); true gap> u := ColiftAlongEpimorphism( epsilon, tau ); <A morphism in SkeletalFinGSets> gap> IsWellDefined( u ); true gap> tau = PreCompose( epsilon, u ); true
gap> S3 := SymmetricGroup( 3 ); Sym( [ 1 .. 3 ] ) gap> A := FinGSet( S3, [ 0, 1, 0, 0 ] ); <An object in SkeletalFinGSets> gap> B := FinGSet( S3, [ 0, 0, 1, 0 ] ); <An object in SkeletalFinGSets> gap> Display( DirectProduct( A, B ) ); [ SymmetricGroup( [ 1 .. 3 ] ), [ 1, 0, 0, 0 ] ] gap> S4 := SymmetricGroup( 4 ); Sym( [ 1 .. 4 ] ) gap> A := FinGSet( S4, [ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 ] ); <An object in SkeletalFinGSets> gap> B := FinGSet( S4, [ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 ] ); <An object in SkeletalFinGSets> gap> Display( DirectProduct( A, B ) ); [ SymmetricGroup( [ 1 .. 4 ] ), [ 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] ] gap> pi := ProjectionInFactorOfDirectProduct( [ A, A ], 1 ); <A morphism in SkeletalFinGSets> gap> IsWellDefined( pi ); true gap> Display( pi ); [ [ [ 1, (), 3 ], [ 1, (), 3 ], [ 1, (), 3 ], [ 1, (), 3 ], [ 1, (), 3 ] ], [ ], [ [ 1, (), 3 ], [ 1, (), 3 ] ], [ ], [ ], [ ], [ ], [ ], [ ], [ ], [ ] ] gap> S5 := SymmetricGroup( 5 ); Sym( [ 1 .. 5 ] ) gap> A := FinGSet( S5, > [ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] > ); <An object in SkeletalFinGSets> gap> B := FinGSet( S5, > [ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] > ); <An object in SkeletalFinGSets> gap> D := [ A, B ]; [ <An object in SkeletalFinGSets>, <An object in SkeletalFinGSets> ] gap> pi1 := ProjectionInFactorOfDirectProduct( D, 1 ); <A morphism in SkeletalFinGSets> gap> IsWellDefined( pi1 ); true gap> pi2 := ProjectionInFactorOfDirectProduct( D, 2 ); <A morphism in SkeletalFinGSets> gap> IsWellDefined( pi2 ); true gap> tau := [ pi1, pi2 ]; [ <A morphism in SkeletalFinGSets>, <A morphism in SkeletalFinGSets> ] gap> u := UniversalMorphismIntoDirectProduct( D, tau ); <A morphism in SkeletalFinGSets> gap> IsWellDefined( u ); true gap> A := FinGSet( S3, [ 0, 1, 0, 0 ] ); <An object in SkeletalFinGSets> gap> B := FinGSet( S3, [ 0, 1, 0, 0 ] ); <An object in SkeletalFinGSets> gap> pi1 := ProjectionInFactorOfDirectProduct( [ A, B ], 1 ); <A morphism in SkeletalFinGSets> gap> pi2 := ProjectionInFactorOfDirectProduct( [ A, B ], 2 ); <A morphism in SkeletalFinGSets> gap> Display( pi1 ); [ [ [ 1, (), 2 ] ], [ [ 1, (), 2 ] ], [ ], [ ] ] gap> Display( pi2 ); [ [ [ 1, (1,3), 2 ] ], [ [ 1, (), 2 ] ], [ ], [ ] ] gap> M := FinGSet( S3, [ 1, 2, 0, 0 ] ); <An object in SkeletalFinGSets> gap> N := FinGSet( S3, [ 1, 0, 1, 2 ] ); <An object in SkeletalFinGSets> gap> D := [ M, N ]; [ <An object in SkeletalFinGSets>, <An object in SkeletalFinGSets> ] gap> tau1 := ProjectionInFactorOfDirectProduct( D, 1 ); <A morphism in SkeletalFinGSets> gap> tau2 := ProjectionInFactorOfDirectProduct( D, 2 ); <A morphism in SkeletalFinGSets> gap> tau := [ tau1, tau2 ]; [ <A morphism in SkeletalFinGSets>, <A morphism in SkeletalFinGSets> ] gap> u := UniversalMorphismIntoDirectProduct( D, tau ); <A morphism in SkeletalFinGSets> gap> IsWellDefined( u ); true gap> Display( u ); [ [ [ 1, (), 1 ], [ 2, (), 1 ], [ 3, (), 1 ], [ 4, (), 1 ], [ 5, (), 1 ], [ 6, (), 1 ], [ 7, (), 1 ], [ 8, (), 1 ], [ 9, (), 1 ], [ 10, (), 1 ], [ 11, (), 1 ], [ 12, (), 1 ], [ 13, (), 1 ], [ 14, (), 1 ], [ 15, (), 1 ], [ 16, (), 1 ], [ 17, (), 1 ], [ 18, (), 1 ] ], [ [ 1, (), 2 ], [ 2, (), 2 ], [ 3, (), 2 ], [ 4, (), 2 ] ], [ ], [ ] ] gap> L := FinGSet( S3, [ 2, 1, 0, 1 ] ); <An object in SkeletalFinGSets> gap> D := [ M, N, L ]; [ <An object in SkeletalFinGSets>, <An object in SkeletalFinGSets>, <An object in SkeletalFinGSets> ] gap> tau := ProjectionInFactorOfDirectProduct( D, 3 ); <A morphism in SkeletalFinGSets> gap> IsWellDefined( tau ); true gap> G := SymmetricGroup( 0 );; gap> m := FinGSet( G, [ 7 ] ); <An object in SkeletalFinGSets> gap> n := FinGSet( G, [ 3 ] ); <An object in SkeletalFinGSets> gap> p := FinGSet( G, [ 4 ] ); <An object in SkeletalFinGSets> gap> d := DirectProduct( [ m, n, p ] ); <An object in SkeletalFinGSets> gap> AsList( d ); [ 84 ] gap> pi1 := ProjectionInFactorOfDirectProduct( [ m, n, p ], 1 ); <A morphism in SkeletalFinGSets> gap> Display( pi1 ); [ [ [ 1, (), 1 ], [ 1, (), 1 ], [ 1, (), 1 ], [ 1, (), 1 ], [ 1, (), 1 ], [ 1, (), 1 ], [ 1, (), 1 ], [ 1, (), 1 ], [ 1, (), 1 ], [ 1, (), 1 ], [ 1, (), 1 ], [ 1, (), 1 ], [ 2, (), 1 ], [ 2, (), 1 ], [ 2, (), 1 ], [ 2, (), 1 ], [ 2, (), 1 ], [ 2, (), 1 ], [ 2, (), 1 ], [ 2, (), 1 ], [ 2, (), 1 ], [ 2, (), 1 ], [ 2, (), 1 ], [ 2, (), 1 ], [ 3, (), 1 ], [ 3, (), 1 ], [ 3, (), 1 ], [ 3, (), 1 ], [ 3, (), 1 ], [ 3, (), 1 ], [ 3, (), 1 ], [ 3, (), 1 ], [ 3, (), 1 ], [ 3, (), 1 ], [ 3, (), 1 ], [ 3, (), 1 ], [ 4, (), 1 ], [ 4, (), 1 ], [ 4, (), 1 ], [ 4, (), 1 ], [ 4, (), 1 ], [ 4, (), 1 ], [ 4, (), 1 ], [ 4, (), 1 ], [ 4, (), 1 ], [ 4, (), 1 ], [ 4, (), 1 ], [ 4, (), 1 ], [ 5, (), 1 ], [ 5, (), 1 ], [ 5, (), 1 ], [ 5, (), 1 ], [ 5, (), 1 ], [ 5, (), 1 ], [ 5, (), 1 ], [ 5, (), 1 ], [ 5, (), 1 ], [ 5, (), 1 ], [ 5, (), 1 ], [ 5, (), 1 ], [ 6, (), 1 ], [ 6, (), 1 ], [ 6, (), 1 ], [ 6, (), 1 ], [ 6, (), 1 ], [ 6, (), 1 ], [ 6, (), 1 ], [ 6, (), 1 ], [ 6, (), 1 ], [ 6, (), 1 ], [ 6, (), 1 ], [ 6, (), 1 ], [ 7, (), 1 ], [ 7, (), 1 ], [ 7, (), 1 ], [ 7, (), 1 ], [ 7, (), 1 ], [ 7, (), 1 ], [ 7, (), 1 ], [ 7, (), 1 ], [ 7, (), 1 ], [ 7, (), 1 ], [ 7, (), 1 ], [ 7, (), 1 ] ] ] gap> pi3 := ProjectionInFactorOfDirectProduct( [ m, n, p ], 3 ); <A morphism in SkeletalFinGSets> gap> Display( pi3 ); [ [ [ 1, (), 1 ], [ 2, (), 1 ], [ 3, (), 1 ], [ 4, (), 1 ], [ 1, (), 1 ], [ 2, (), 1 ], [ 3, (), 1 ], [ 4, (), 1 ], [ 1, (), 1 ], [ 2, (), 1 ], [ 3, (), 1 ], [ 4, (), 1 ], [ 1, (), 1 ], [ 2, (), 1 ], [ 3, (), 1 ], [ 4, (), 1 ], [ 1, (), 1 ], [ 2, (), 1 ], [ 3, (), 1 ], [ 4, (), 1 ], [ 1, (), 1 ], [ 2, (), 1 ], [ 3, (), 1 ], [ 4, (), 1 ], [ 1, (), 1 ], [ 2, (), 1 ], [ 3, (), 1 ], [ 4, (), 1 ], [ 1, (), 1 ], [ 2, (), 1 ], [ 3, (), 1 ], [ 4, (), 1 ], [ 1, (), 1 ], [ 2, (), 1 ], [ 3, (), 1 ], [ 4, (), 1 ], [ 1, (), 1 ], [ 2, (), 1 ], [ 3, (), 1 ], [ 4, (), 1 ], [ 1, (), 1 ], [ 2, (), 1 ], [ 3, (), 1 ], [ 4, (), 1 ], [ 1, (), 1 ], [ 2, (), 1 ], [ 3, (), 1 ], [ 4, (), 1 ], [ 1, (), 1 ], [ 2, (), 1 ], [ 3, (), 1 ], [ 4, (), 1 ], [ 1, (), 1 ], [ 2, (), 1 ], [ 3, (), 1 ], [ 4, (), 1 ], [ 1, (), 1 ], [ 2, (), 1 ], [ 3, (), 1 ], [ 4, (), 1 ], [ 1, (), 1 ], [ 2, (), 1 ], [ 3, (), 1 ], [ 4, (), 1 ], [ 1, (), 1 ], [ 2, (), 1 ], [ 3, (), 1 ], [ 4, (), 1 ], [ 1, (), 1 ], [ 2, (), 1 ], [ 3, (), 1 ], [ 4, (), 1 ], [ 1, (), 1 ], [ 2, (), 1 ], [ 3, (), 1 ], [ 4, (), 1 ], [ 1, (), 1 ], [ 2, (), 1 ], [ 3, (), 1 ], [ 4, (), 1 ], [ 1, (), 1 ], [ 2, (), 1 ], [ 3, (), 1 ], [ 4, (), 1 ] ] ]
gap> S3 := SymmetricGroup( 3 ); Sym( [ 1 .. 3 ] ) gap> M1 := FinGSet( S3, [ 2, 1, 0, 0 ] ); <An object in SkeletalFinGSets> gap> M2 := FinGSet( S3, [ 1, 1, 0, 0 ] ); <An object in SkeletalFinGSets> gap> M3 := FinGSet( S3, [ 2, 1, 0, 0 ] ); <An object in SkeletalFinGSets> gap> M4 := FinGSet( S3, [ 2, 0, 0, 0 ] ); <An object in SkeletalFinGSets> gap> C := Coproduct( [ M1, M2, M3, M4 ] ); <An object in SkeletalFinGSets> gap> tau1 := InjectionOfCofactorOfCoproduct( [ M1, M2, M3, M4 ], 1 ); <A morphism in SkeletalFinGSets> gap> tau2 := InjectionOfCofactorOfCoproduct( [ M1, M2, M3, M4 ], 2 ); <A morphism in SkeletalFinGSets> gap> tau3 := InjectionOfCofactorOfCoproduct( [ M1, M2, M3, M4 ], 3 ); <A morphism in SkeletalFinGSets> gap> tau4 := InjectionOfCofactorOfCoproduct( [ M1, M2, M3, M4 ], 4 ); <A morphism in SkeletalFinGSets> gap> tau := [ tau1, tau2, tau3, tau4 ];; gap> D := [ M1, M2, M3, M4 ];; gap> id_to_be := UniversalMorphismFromCoproduct( D, tau ); <A morphism in SkeletalFinGSets> gap> id := IdentityMorphism( C ); <An identity morphism in SkeletalFinGSets> gap> id_to_be = id; true gap> T := TerminalObject( CapCategory( M1 ) ); <An object in SkeletalFinGSets> gap> pi1 := UniversalMorphismIntoTerminalObject( M1 ); <A morphism in SkeletalFinGSets> gap> pi2 := UniversalMorphismIntoTerminalObject( M2 ); <A morphism in SkeletalFinGSets> gap> pi3 := UniversalMorphismIntoTerminalObject( M3 ); <A morphism in SkeletalFinGSets> gap> pi4 := UniversalMorphismIntoTerminalObject( M4 ); <A morphism in SkeletalFinGSets> gap> pi := [ pi1, pi2, pi3, pi4 ];; gap> psi := UniversalMorphismFromCoproduct( D, pi ); <A morphism in SkeletalFinGSets> gap> psi = UniversalMorphismIntoTerminalObject( C ); true gap> IsEpimorphism( psi ); true gap> G := SymmetricGroup( 0 );; gap> m := FinGSet( G, [ 7 ] ); <An object in SkeletalFinGSets> gap> n := FinGSet( G, [ 3 ] ); <An object in SkeletalFinGSets> gap> p := FinGSet( G, [ 4 ] ); <An object in SkeletalFinGSets> gap> c := Coproduct( m, n, p ); <An object in SkeletalFinGSets> gap> AsList( c ); [ 14 ] gap> iota1 := InjectionOfCofactorOfCoproduct( [ m, n, p ], 1 ); <A morphism in SkeletalFinGSets> gap> IsWellDefined( iota1 ); true gap> Display( iota1 ); [ [ [ 1, (), 1 ], [ 2, (), 1 ], [ 3, (), 1 ], [ 4, (), 1 ], [ 5, (), 1 ], [ 6, (), 1 ], [ 7, (), 1 ] ] ] gap> iota3 := InjectionOfCofactorOfCoproduct( [ m, n, p ], 3 ); <A morphism in SkeletalFinGSets> gap> Display( iota3 ); [ [ [ 11, (), 1 ], [ 12, (), 1 ], [ 13, (), 1 ], [ 14, (), 1 ] ] ]
gap> S3 := SymmetricGroup( 3 ); Sym( [ 1 .. 3 ] ) gap> M := FinGSet( S3, [ 2, 1, 0, 0 ] ); <An object in SkeletalFinGSets> gap> imgs := [ [ [ 1, (), 2 ], [ 1, (), 2 ] ], [ [ 1, (), 2 ] ], [], [] ];; gap> phi := MapOfFinGSets( M, imgs, M ); <A morphism in SkeletalFinGSets> gap> IsWellDefined( phi ); true gap> IsEpimorphism( phi ); false gap> I := ImageObject( phi ); <An object in SkeletalFinGSets> gap> iota := ImageEmbedding( phi ); <A monomorphism in SkeletalFinGSets> gap> phi_res := CoastrictionToImage( phi ); <A morphism in SkeletalFinGSets> gap> phi = PreCompose( phi_res, iota ); true gap> T := FinGSet( S3, [ 1, 1, 0, 0 ] );; gap> imgs := [ [ [ 1, (), 2 ], [ 1, (), 2 ] ], [ [ 1, (), 2 ] ], [], [] ];; gap> tau1 := MapOfFinGSets( M, imgs, T );; gap> imgs := [ [ [ 1, (), 1 ] ], [ [ 1, (), 2 ] ], [], [] ];; gap> tau2 := MapOfFinGSets( T, imgs, M );; gap> IsMonomorphism( tau2 ); true gap> phi = PreCompose( tau1, tau2 ); true gap> u := UniversalMorphismFromImage( phi, [ tau1, tau2 ] ); <A morphism in SkeletalFinGSets> gap> tau1 = PreCompose( phi_res, u ); true gap> iota = PreCompose( u, tau2 ); true gap> S3 := SymmetricGroup( 3 ); Sym( [ 1 .. 3 ] ) gap> M := FinGSet( S3, [ 2, 1, 0, 0 ] ); <An object in SkeletalFinGSets> gap> imgs := [ [ [ 2, (), 1 ], [ 1, (), 1 ] ], [ [ 1, (), 2 ] ], [], [] ];; gap> phi := MapOfFinGSets( M, imgs, M ); <A morphism in SkeletalFinGSets> gap> IsWellDefined( phi ); true gap> IsEpimorphism( phi ); true gap> I := ImageObject( phi ); <An object in SkeletalFinGSets> gap> psi := ImageEmbedding( phi ); <A monomorphism in SkeletalFinGSets> gap> phi_res := CoastrictionToImage( phi ); <A morphism in SkeletalFinGSets> gap> phi = PreCompose( phi_res, psi ); true gap> G := SymmetricGroup( 0 );; gap> m := FinGSet( G, [ 7 ] ); <An object in SkeletalFinGSets> gap> n := FinGSet( G, [ 3 ] ); <An object in SkeletalFinGSets> gap> imgs := [ [ [ 7, (), 1 ], [ 5, (), 1 ], [ 5, (), 1 ] ] ];; gap> phi := MapOfFinGSets( n, imgs, m ); <A morphism in SkeletalFinGSets> gap> IsWellDefined( phi ); true gap> ImageObject( phi ); <An object in SkeletalFinGSets> gap> AsList( ImageObject( phi ) ); [ 2 ] gap> pi := ImageEmbedding( phi ); <A monomorphism in SkeletalFinGSets> gap> Display( pi ); [ [ [ 5, (), 1 ], [ 7, (), 1 ] ] ] gap> phi_res := CoastrictionToImage( phi ); <A morphism in SkeletalFinGSets> gap> phi = PreCompose( phi_res, pi ); true
gap> S3 := SymmetricGroup( 3 ); Sym( [ 1 .. 3 ] ) gap> s := FinGSet( S3, [ 1, 0, 2, 0 ] ); <An object in SkeletalFinGSets> gap> r := FinGSet( S3, [ 1, 2, 1, 0 ] ); <An object in SkeletalFinGSets> gap> imgs := [ [ [ 1, (1,2), 1 ] ], > [], > [ [ 1, (), 3 ], [ 1, (1,2,3), 3 ] ], > [] ];; gap> psi1 := MapOfFinGSets( s, imgs, r ); <A morphism in SkeletalFinGSets> gap> IsWellDefined( psi1 ); true gap> imgs := [ [[ 1, (1,2), 3 ]], [], [[ 1, (), 3 ], [ 1, (), 3 ]], [] ];; gap> psi2 := MapOfFinGSets( s, imgs, r ); <A morphism in SkeletalFinGSets> gap> IsWellDefined( psi2 ); true gap> D := [ psi1, psi2 ];; gap> Eq := Equalizer( D ); <An object in SkeletalFinGSets> gap> AsList( Eq ); [ 0, 0, 2, 0 ] gap> psi := EmbeddingOfEqualizer( D ); <A monomorphism in SkeletalFinGSets> gap> IsWellDefined( psi ); true gap> Display( psi ); [ [ ], [ ], [ [ 1, (), 3 ], [ 2, (), 3 ] ], [ ] ] gap> PreCompose( psi, psi1 ) = PreCompose( psi, psi2 ); true gap> t := FinGSet( S3, [ 1, 0, 1, 0 ] ); <An object in SkeletalFinGSets> gap> imgs := [ [ [ 2, (1,2), 3 ] ], [], [ [ 1, (1,2,3), 3 ] ], [] ];; gap> tau := MapOfFinGSets( t, imgs , s ); <A morphism in SkeletalFinGSets> gap> IsWellDefined( tau ); true gap> phi := UniversalMorphismIntoEqualizer( D, tau ); <A morphism in SkeletalFinGSets> gap> Display( phi ); [ [ [ 2, (1,2), 3 ] ], [ ], [ [ 1, (1,2,3), 3 ] ], [ ] ] gap> IsWellDefined( phi ); true gap> PreCompose( phi, psi ) = tau; true gap> G := SymmetricGroup( 0 );; gap> S := FinGSet( G, [ 5 ] ); <An object in SkeletalFinGSets> gap> T := FinGSet( G, [ 3 ] ); <An object in SkeletalFinGSets> gap> imgs := [ [ [ 3, (), 1 ], > [ 3, (), 1 ], > [ 1, (), 1 ], > [ 2, (), 1 ], > [ 2, (), 1 ] ] ];; gap> f1 := MapOfFinGSets( S, imgs, T ); <A morphism in SkeletalFinGSets> gap> imgs := [ [ [ 3, (), 1 ], > [ 2, (), 1 ], > [ 3, (), 1 ], > [ 1, (), 1 ], > [ 2, (), 1 ] ] ];; gap> f2 := MapOfFinGSets( S, imgs, T ); <A morphism in SkeletalFinGSets> gap> imgs := [ [ [ 3, (), 1 ], > [ 1, (), 1 ], > [ 2, (), 1 ], > [ 1, (), 1 ], > [ 2, (), 1 ] ] ];; gap> f3 := MapOfFinGSets( S, imgs, T ); <A morphism in SkeletalFinGSets> gap> D := [ f1, f2, f3 ];; gap> Eq := Equalizer( D ); <An object in SkeletalFinGSets> gap> AsList( Eq ); [ 2 ] gap> psi := EmbeddingOfEqualizer( D ); <A monomorphism in SkeletalFinGSets> gap> Display( psi ); [ [ [ 1, (), 1 ], [ 5, (), 1 ] ] ] gap> PreCompose( psi, f1 ) = PreCompose( psi, f2 ); true gap> PreCompose( psi, f1 ) = PreCompose( psi, f3 ); true gap> D := [ f2, f3 ]; [ <A morphism in SkeletalFinGSets>, <A morphism in SkeletalFinGSets> ] gap> Eq := Equalizer( D ); <An object in SkeletalFinGSets> gap> AsList( Eq ); [ 3 ] gap> psi := EmbeddingOfEqualizer( D ); <A monomorphism in SkeletalFinGSets> gap> Display( psi ); [ [ [ 1, (), 1 ], [ 4, (), 1 ], [ 5, (), 1 ] ] ]
gap> S3 := SymmetricGroup( 3 ); Sym( [ 1 .. 3 ] ) gap> A := FinGSet( S3, [ 1, 0, 1, 0 ] ); <An object in SkeletalFinGSets> gap> B := FinGSet( S3, [ 2, 1, 0, 0 ] ); <An object in SkeletalFinGSets> gap> C := FinGSet( S3, [ 2, 1, 1, 0 ] ); <An object in SkeletalFinGSets> gap> imgs := [ [ [ 2, (), 1 ] ], [], [ [ 1, (), 3 ] ], [] ];; gap> tau1 := MapOfFinGSets( A, imgs, C ); <A morphism in SkeletalFinGSets> gap> imgs := [ [ [ 1, (), 1 ], [ 2, (), 1 ] ], [ [ 1, (), 2 ] ], [], [] ];; gap> tau2 := MapOfFinGSets( B, imgs, C ); <A morphism in SkeletalFinGSets> gap> D := [ tau1, tau2 ]; [ <A morphism in SkeletalFinGSets>, <A morphism in SkeletalFinGSets> ] gap> F := FiberProduct( D ); <An object in SkeletalFinGSets> gap> Display( F ); [ SymmetricGroup( [ 1 .. 3 ] ), [ 1, 0, 0, 0 ] ] gap> pi1 := ProjectionInFactorOfFiberProduct( D, 1 ); <A morphism in SkeletalFinGSets> gap> Display( pi1 ); [ [ [ 1, (), 1 ] ], [ ], [ ], [ ] ] gap> pi2 := ProjectionInFactorOfFiberProduct( D, 2 ); <A morphism in SkeletalFinGSets> gap> Display( pi2 ); [ [ [ 2, (), 1 ] ], [ ], [ ], [ ] ] gap> G := SymmetricGroup( 0 );; gap> m := FinGSet( G, [ 5 ] ); <An object in SkeletalFinGSets> gap> n1 := FinGSet( G, [ 3 ] ); <An object in SkeletalFinGSets> gap> imgs := [ [ [ 1, (), 1 ], [ 2, (), 1 ], [ 3, (), 1 ] ] ];; gap> iota1 := MapOfFinGSets( n1, imgs, m ); <A morphism in SkeletalFinGSets> gap> IsMonomorphism( iota1 ); true gap> n2 := FinGSet( G, [ 4 ] ); <An object in SkeletalFinGSets> gap> imgs := [ [ [ 1, (), 1 ], [ 2, (), 1 ], [ 3, (), 1 ], [ 4, (), 1 ] ] ];; gap> iota2 := MapOfFinGSets( n2, imgs, m ); <A morphism in SkeletalFinGSets> gap> IsMonomorphism( iota2 ); true gap> D := [ iota1, iota2 ]; [ <A monomorphism in SkeletalFinGSets>, <A monomorphism in SkeletalFinGSets> ] gap> Fib := FiberProduct( D ); <An object in SkeletalFinGSets> gap> AsList( Fib ); [ 3 ] gap> pi1 := ProjectionInFactorOfFiberProduct( D, 1 ); <A monomorphism in SkeletalFinGSets> gap> Display( pi1 ); [ [ [ 1, (), 1 ], [ 2, (), 1 ], [ 3, (), 1 ] ] ] gap> int1 := ImageObject( pi1 ); <An object in SkeletalFinGSets> gap> AsList( int1 ); [ 3 ] gap> pi2 := ProjectionInFactorOfFiberProduct( D, 2 ); <A monomorphism in SkeletalFinGSets> gap> Display( pi2 ); [ [ [ 1, (), 1 ], [ 2, (), 1 ], [ 3, (), 1 ] ] ] gap> int2 := ImageObject( pi2 ); <An object in SkeletalFinGSets> gap> AsList( int2 ); [ 3 ] gap> omega1 := PreCompose( pi1, iota1 ); <A monomorphism in SkeletalFinGSets> gap> omega2 := PreCompose( pi2, iota2 ); <A monomorphism in SkeletalFinGSets> gap> omega1 = omega2; true gap> Display( omega1 ); [ [ [ 1, (), 1 ], [ 2, (), 1 ], [ 3, (), 1 ] ] ]
gap> S5 := SymmetricGroup( 5 ); Sym( [ 1 .. 5 ] ) gap> g_1_1 := ();; gap> g_1_2 := (1,2);; gap> g_1_3 := (1,3);; gap> g_1_4 := (1,4);; gap> g_2_1 := ();; gap> g_2_2 := (1,2);; gap> g_2_3 := ();; gap> g_2_4 := (1,2);; gap> g_3_1 := ();; gap> g_3_2 := (1,2);; gap> g_3_3 := (1,3);; gap> g_3_4 := (1,3);; gap> A := FinGSet( S5, > [ 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] > ); <An object in SkeletalFinGSets> gap> B := FinGSet( S5, > [ 0, 3, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] > ); <An object in SkeletalFinGSets> gap> imgs := [ [ [ 1, g_1_1, 2 ], > [ 1, g_1_3, 2 ], > [ 2, g_2_1, 2 ], > [ 2, g_2_3, 2 ], > [ 3, g_3_1, 2 ], > [ 3, g_3_3, 2 ] ], > [], [], [], [], > [], [], [], [], > [], [], [], [], > [], [], [], [], [], [] ];; gap> f_1 := MapOfFinGSets(A, imgs, B); <A morphism in SkeletalFinGSets> gap> imgs := [ [ [ 1, g_1_2, 4 ], > [ 1, g_1_4, 4 ], > [ 2, g_2_2, 4 ], > [ 2, g_2_4, 4 ], > [ 3, g_3_2, 4 ], > [ 3, g_3_4, 4 ] ], > [], [], [], [], > [], [], [], [], > [], [], [], [], > [], [], [], [], [], [] ];; gap> f_2 := MapOfFinGSets(A, imgs, B); <A morphism in SkeletalFinGSets> gap> IsWellDefined( f_1 ); true gap> IsWellDefined( f_2 ); true gap> D := [ f_1, f_2 ];; gap> Cq := Coequalizer( D ); <An object in SkeletalFinGSets> gap> AsList( Cq ); [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1 ] gap> pi := ProjectionOntoCoequalizer( D ); <An epimorphism in SkeletalFinGSets> gap> IsWellDefined( pi ); true gap> id_to_be := UniversalMorphismFromCoequalizer( D, pi ); <A morphism in SkeletalFinGSets> gap> IsWellDefined( id_to_be ); true gap> id := IdentityMorphism( Cq ); <An identity morphism in SkeletalFinGSets> gap> id = id_to_be; true gap> A := FinGSet( S5, > [ 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] > ); <An object in SkeletalFinGSets> gap> B := FinGSet( S5, > [ 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] > ); <An object in SkeletalFinGSets> gap> imgs := [ [ [ 1, g_1_1, 2 ], > [ 1, g_1_3, 2 ], > [ 2, g_2_1, 2 ], > [ 2, g_2_3, 2 ], > [ 3, g_3_1, 2 ], > [ 3, g_3_3, 2 ] ], > [], [], [], [], > [], [], [], [], > [], [], [], [], > [], [], [], [], [], [] ];; gap> f_1 := MapOfFinGSets(A, imgs, B); <A morphism in SkeletalFinGSets> gap> imgs := [ [ [ 1, g_1_2, 4 ], > [ 1, g_1_4, 4 ], > [ 2, g_2_2, 4 ], > [ 2, g_2_4, 4 ], > [ 3, g_3_2, 4 ], > [ 3, g_3_4, 4 ] ], > [], [], [], [], > [], [], [], [], > [], [], [], [], > [], [], [], [], [], [] ];; gap> f_2 := MapOfFinGSets(A, imgs, B); <A morphism in SkeletalFinGSets> gap> IsWellDefined( f_1 ); true gap> IsWellDefined( f_2 ); true gap> D := [ f_1, f_2 ];; gap> Cq := Coequalizer( D ); <An object in SkeletalFinGSets> gap> AsList( Cq ); [ 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1 ] gap> pi := ProjectionOntoCoequalizer( D ); <An epimorphism in SkeletalFinGSets> gap> IsWellDefined( pi ); true gap> id_to_be := UniversalMorphismFromCoequalizer( D, pi ); <A morphism in SkeletalFinGSets> gap> IsWellDefined( id_to_be ); true gap> id := IdentityMorphism( Cq ); <An identity morphism in SkeletalFinGSets> gap> id = id_to_be; true gap> A := FinGSet( S5, > [ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] > ); <An object in SkeletalFinGSets> gap> B := FinGSet( S5, > [ 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] > ); <An object in SkeletalFinGSets> gap> imgs := [ [ [ 1, (), 3 ] ], > [], [], [], [], > [], [], [], [], > [], [], [], [], > [], [], [], [], [], [] ];; gap> f_1 := MapOfFinGSets(A, imgs, B); <A morphism in SkeletalFinGSets> gap> imgs := [ [ [ 1, (1,2,3), 4] ], > [], [], [], [], > [], [], [], [], > [], [], [], [], > [], [], [], [], [], [] ];; gap> f_2 := MapOfFinGSets(A, imgs, B); <A morphism in SkeletalFinGSets> gap> IsWellDefined( f_1 ); true gap> IsWellDefined( f_2 ); true gap> D := [ f_1, f_2 ];; gap> Cq := Coequalizer( D ); <An object in SkeletalFinGSets> gap> AsList( Cq ); [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 ] gap> pi := ProjectionOntoCoequalizer( D ); <An epimorphism in SkeletalFinGSets> gap> IsWellDefined( pi ); true gap> G := SymmetricGroup( 0 );; gap> s := FinGSet( G, [ 5 ] ); <An object in SkeletalFinGSets> gap> t := FinGSet( G, [ 4 ] ); <An object in SkeletalFinGSets> gap> imgs := [ [ [ 3, (), 1 ], > [ 4, (), 1 ], > [ 4, (), 1 ], > [ 2, (), 1 ], > [ 4, (), 1 ] ] ];; gap> f := MapOfFinGSets( s, imgs, t ); <A morphism in SkeletalFinGSets> gap> imgs := [ [ [ 3, (), 1 ], > [ 3, (), 1 ], > [ 4, (), 1 ], > [ 2, (), 1 ], > [ 4, (), 1 ] ] ];; gap> g := MapOfFinGSets( s, imgs, t ); <A morphism in SkeletalFinGSets> gap> D := [ f, g ]; [ <A morphism in SkeletalFinGSets>, <A morphism in SkeletalFinGSets> ] gap> C := Coequalizer( D ); <An object in SkeletalFinGSets> gap> AsList( C ); [ 3 ] gap> pi := ProjectionOntoCoequalizer( D ); <An epimorphism in SkeletalFinGSets> gap> Display( pi ); [ [ [ 1, (), 1 ], [ 2, (), 1 ], [ 3, (), 1 ], [ 3, (), 1 ] ] ] gap> imgs := [ [ [ 2, (), 1 ], [ 1, (), 1 ], [ 2, (), 1 ], [ 2, (), 1 ] ] ];; gap> tau := MapOfFinGSets( t, imgs, FinGSet( G, [ 2 ] ) ); <A morphism in SkeletalFinGSets> gap> phi := UniversalMorphismFromCoequalizer( D, tau ); <A morphism in SkeletalFinGSets> gap> Display( phi ); [ [ [ 2, (), 1 ], [ 1, (), 1 ], [ 2, (), 1 ] ] ] gap> PreCompose( pi, phi ) = tau; true gap> G := SymmetricGroup( 0 );; gap> A := FinGSet( G, [ 2 ] ); <An object in SkeletalFinGSets> gap> B := FinGSet( G, [ 3 ] ); <An object in SkeletalFinGSets> gap> f := MapOfFinGSets( A, [ [ [ 1, (), 1 ], [ 2, (), 1 ] ] ], B ); <A morphism in SkeletalFinGSets> gap> IsWellDefined( f ); true gap> g := MapOfFinGSets( A, [ [ [ 2, (), 1 ], [ 3, (), 1 ] ] ], B ); <A morphism in SkeletalFinGSets> gap> IsWellDefined( g ); true gap> D := [ f, g ];; gap> Cq := Coequalizer( D );; gap> Display( Cq ); [ Group( () ), [ 1 ] ] gap> pi := ProjectionOntoCoequalizer( D );; gap> IsWellDefined( pi ); true gap> PreCompose( f, pi ) = PreCompose( g, pi ); true gap> G := SymmetricGroup( 3 );; gap> A := FinGSet( G, [ 0, 0, 0, 0 ] );; gap> id := IdentityMorphism( A ); <An identity morphism in SkeletalFinGSets> gap> D := [ id, id ];; gap> Cq := Coequalizer( D );; gap> Display( Cq ); [ SymmetricGroup( [ 1 .. 3 ] ), [ 0, 0, 0, 0 ] ] gap> pi := ProjectionOntoCoequalizer( D );; gap> IsWellDefined( pi ); true gap> pi = id; true gap> G := SymmetricGroup( 3 );; gap> A := FinGSet( G, [ 0, 0, 0, 0 ] ); <An object in SkeletalFinGSets> gap> B := FinGSet( G, [ 1, 1, 1, 1 ] ); <An object in SkeletalFinGSets> gap> f := MapOfFinGSets( A, [ [ ], [ ], [ ], [ ] ], B ); <A morphism in SkeletalFinGSets> gap> IsWellDefined( f ); true gap> D := [ f, f ];; gap> Cq := Coequalizer( D );; gap> Display( Cq ); [ SymmetricGroup( [ 1 .. 3 ] ), [ 1, 1, 1, 1 ] ] gap> pi := ProjectionOntoCoequalizer( D );; gap> pi = IdentityMorphism( B ); true
gap> S3 := SymmetricGroup( 3 ); Sym( [ 1 .. 3 ] ) gap> A := FinGSet( S3, [ 1, 0, 1, 0 ] ); <An object in SkeletalFinGSets> gap> B := FinGSet( S3, [ 2, 1, 0, 0 ] ); <An object in SkeletalFinGSets> gap> C := FinGSet( S3, [ 3, 1, 1, 0 ] ); <An object in SkeletalFinGSets> gap> imgs := [ [ [ 3, (), 1 ] ], [], [ [ 1, (), 3 ] ], [] ];; gap> tau1 := MapOfFinGSets( A, imgs, C ); <A morphism in SkeletalFinGSets> gap> imgs := [ [ [ 2, (), 1 ], [ 3, (), 1 ] ], [ [ 1, (), 2 ] ], [], [] ];; gap> tau2 := MapOfFinGSets( B, imgs, C ); <A morphism in SkeletalFinGSets> gap> D := [ tau1, tau2 ]; [ <A morphism in SkeletalFinGSets>, <A morphism in SkeletalFinGSets> ] gap> F := FiberProduct( D ); <An object in SkeletalFinGSets> gap> pi1 := ProjectionInFactorOfFiberProduct( D, 1 ); <A morphism in SkeletalFinGSets> gap> pi2 := ProjectionInFactorOfFiberProduct( D, 2 ); <A morphism in SkeletalFinGSets> gap> iota := UniversalMorphismFromPushout( [ pi1, pi2 ], [ tau1, tau2 ] ); <A morphism in SkeletalFinGSets> gap> Display( iota ); [ [ [ 3, (), 1 ], [ 2, (), 1 ] ], [ [ 1, (), 2 ] ], [ [ 1, (), 3 ] ], [ ] ] gap> G := SymmetricGroup( 0 );; gap> M := FinGSet( G, [ 5 ] ); <An object in SkeletalFinGSets> gap> N1 := FinGSet( G, [ 3 ] ); <An object in SkeletalFinGSets> gap> imgs := [ [ [ 1, (), 1 ], [ 2, (), 1 ], [ 3, (), 1 ] ] ];; gap> iota1 := MapOfFinGSets( N1, imgs, M ); <A morphism in SkeletalFinGSets> gap> IsMonomorphism( iota1 ); true gap> N2 := FinGSet( G, [ 2 ] ); <An object in SkeletalFinGSets> gap> iota2 := MapOfFinGSets( N2, [ [ [ 1, (), 1 ], [ 2, (), 1 ] ] ], M ); <A morphism in SkeletalFinGSets> gap> IsMonomorphism( iota2 ); true gap> D := [ iota1, iota2 ]; [ <A monomorphism in SkeletalFinGSets>, <A monomorphism in SkeletalFinGSets> ] gap> Fib := FiberProduct( D ); <An object in SkeletalFinGSets> gap> AsList( Fib ); [ 2 ] gap> pi1 := ProjectionInFactorOfFiberProduct( D, 1 ); <A monomorphism in SkeletalFinGSets> gap> Display( pi1 ); [ [ [ 1, (), 1 ], [ 2, (), 1 ] ] ] gap> pi2 := ProjectionInFactorOfFiberProduct( D, 2 ); <A monomorphism in SkeletalFinGSets> gap> Display( pi2 ); [ [ [ 1, (), 1 ], [ 2, (), 1 ] ] ] gap> D := [ pi1, pi2 ]; [ <A monomorphism in SkeletalFinGSets>, <A monomorphism in SkeletalFinGSets> ] gap> UU := Pushout( D ); <An object in SkeletalFinGSets> gap> AsList( UU ); [ 3 ] gap> kappa1 := InjectionOfCofactorOfPushout( D, 1 ); <A morphism in SkeletalFinGSets> gap> Display( kappa1 ); [ [ [ 1, (), 1 ], [ 2, (), 1 ], [ 3, (), 1 ] ] ] gap> kappa2 := InjectionOfCofactorOfPushout( D, 2 ); <A morphism in SkeletalFinGSets> gap> Display( kappa2 ); [ [ [ 1, (), 1 ], [ 2, (), 1 ] ] ] gap> PreCompose( pi1, kappa1 ) = PreCompose( pi2, kappa2 ); true
generated by GAPDoc2HTML