Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/GAP/pkg/semigroups/tst/extreme/   (GAP Algebra Version 4.15.1©)  Datei vom 29.7.2025 mit Größe 28 kB image not shown  

Quelle  properties.tst   Sprache: unbekannt

 
Spracherkennung für: .tst vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]

#############################################################################
##
#W  extreme/properties.tst
#Y  Copyright (C) 2011-15                                James D. Mitchell
##
##  Licensing information can be found in the README file of this package.
##
#############################################################################
##

#@local I, S, acting, d, f, g, gens, i, inv, iso, iter, j, rms, s, semis, small
#@local t
gap> START_TEST("Semigroups package: extreme/properties.tst");
gap> LoadPackage("semigroups", false);;

#
gap> SEMIGROUPS.StartTest();

# PropertiesTest3
gap> semis :=
> [Semigroup([Transformation([2244]),
>      Transformation([534466])]),
>  Semigroup([Transformation([54421]),
>      Transformation([25541])]),
>  Semigroup([Transformation([12133]),
>      Transformation([22355])]),
>  Semigroup([Transformation([12133]),
>      Transformation([22355])]),
>  Semigroup([Transformation([87531388]),
>      Transformation([514144])]),
>  Semigroup([Transformation([31232323]),
>      Transformation([25852578])]),
>  Semigroup([Transformation([33262446]),
>      Transformation([51787581])]),
>  Semigroup([Transformation([33262446346]),
>      Transformation([44613333111111])]),
>  Semigroup([Transformation([33262446346]),
>      Transformation([44613333111111]),
>      Transformation([2234466666])]),
>  Semigroup([Transformation([33262446346]),
>      Transformation([44613333111111]),
>      Transformation([2234466666]),
>      Transformation([2234466661111])]),
>  Semigroup([Transformation([123646119667612]),
>      Transformation([107211731243875])]),
>  Semigroup([Transformation([3212279421121112]),
>      Transformation([36127223617111])]),
>  Semigroup(
>    [Transformation([22]), Transformation([234561])]),
>  Semigroup([Transformation([214567321]),
>      Transformation([214214214])]),
>  Semigroup([Transformation([525581085210]),
>      Transformation([2255588888])]),
>  Semigroup([Transformation([46385610437]),
>      Transformation([5663863784]),
>      Transformation([86328109262])]),
>  Semigroup([Transformation([14111172625510]),
>      Transformation([244210511111167])]),
>  Semigroup([Transformation([1087414101072]),
>      Transformation([525591083810])]),
>  Semigroup([Transformation([21453789106]),
>      Transformation([1243]),
>      Transformation([12345610987]),
>      Transformation([9143693439])]),
>  Semigroup([Transformation([13109515131382726]),
>             Transformation([6111210410135851169])]),
>  Semigroup([Transformation([1210851512128262]),
>      Transformation([561011104101257410]),
>      Transformation([6812548107411011])]),
>  Semigroup([Transformation([2345187627]),
>      Transformation([5412376541]),
>      Transformation([2143214433])])];;
gap> List([1 .. 15], i -> IsCompletelyRegularSemigroup(semis[i]));
[ false, true, false, false, false, true, true, true, true, true, false, 
  false, false, false, true ]
gap> List([15 .. 22], i -> IsCompletelyRegularSemigroup(semis[i]));
[ true, false, true, false, false, false, false, false ]

# PropertiesTest4
gap> s := Semigroup(Transformation([33262446]),
> Transformation([33262446]));;
gap> IsSimpleSemigroup(s);
true

# PropertiesTest5
gap> s := Semigroup(Transformation([2345187627]),
> Transformation([2345687122]));;
gap> IsSimpleSemigroup(s);
true

# PropertiesTest6
gap> s := Semigroup(
> Transformation([21121]), Transformation([34344]),
> Transformation([34343]), Transformation([43344]));;
gap> IsCompletelySimpleSemigroup(s);
true

# PropertiesTest7
gap> s := Semigroup(Transformation([44411678910111]),
> Transformation([66677148910117]),
> Transformation([88899101114679]),
> Transformation([22244678910114]),
> Transformation([11155678910115]),
> Transformation([11444678910111]),
> Transformation([11744678910116]));;
gap> IsCompletelySimpleSemigroup(s);
true

# PropertiesTest8
gap> s := Semigroup(Transformation([12212]),
> Transformation([34344]),
> Transformation([34343]),
> Transformation([43344]));;
gap> IsCompletelySimpleSemigroup(s);
true

# PropertiesTest9
gap> s := semis[12];;
gap> d := GreensDClassOfElement(s,
> Transformation([122136612233113]));;
gap> g := GroupHClassOfGreensDClass(d);;
gap> s := Semigroup(AsList(g));;
gap> IsGroupAsSemigroup(s);
true
gap> IsGroupAsSemigroup(Range(IsomorphismTransformationSemigroup(
>  Group([(24)(35), (12354)]))));
true
gap> IsGroupAsSemigroup(semis[11]);
false

# PropertiesTest10
gap> List(semis, IsCliffordSemigroup);
[ false, true, false, false, false, false, false, false, false, false, false, 
  false, false, false, false, false, false, false, false, false, false, false 
 ]
gap> ForAll(GreensDClasses(semis[2]), x -> Length(GreensHClasses(x)) = 1 and
> IsRegularDClass(x));
true
gap> IsCliffordSemigroup(semis[2]);
true
gap> ForAll(GreensDClasses(semis[2]), x -> Length(GreensHClasses(x)) = 1 and
> IsRegularDClass(x));
true

# PropertiesTest11
gap> s := Semigroup(
> Transformation([12344444444444,
>                 4444444]),
> Transformation([12345674444444444444,
>                 4]),
> Transformation([1234567891011444444444,
>                 4]),
> Transformation([123444444441213141516444,
>                 44]),
> Transformation([1 .. 21] * 1));;
gap> IsLTrivial(s);
true

# PropertiesTest12
gap> gens := [
> Transformation([12133]),
> Transformation([22355])];;
gap> s := Monoid(gens);;
gap> IsLTrivial(s);
true
gap> d := DClass(s, Transformation([22111]));;
gap> IsLTrivial(d);
true

# PropertiesTest13
gap> gens := [Transformation([28371526]),
> Transformation([35725638]),
> Transformation([41835735]),
> Transformation([43456412]),
> Transformation([54885615]),
> Transformation([67414162]),
> Transformation([71222745]),
> Transformation([88517528])];;
gap> s := Semigroup(gens);;
gap> iter := IteratorOfDClasses(s);;
gap> repeat
>   d := NextIterator(iter);
> until IsDoneIterator(iter) or IsLTrivial(d);
gap> d = DClass(s, Transformation([28371526])) 
> or d = DClass(s, Transformation([55555555]));
true
gap> IsLTrivial(d);
true
gap> Size(d) in [18];
true
gap> repeat
>   d := NextIterator(iter);
> until IsDoneIterator(iter) or not IsLTrivial(d) and IsRTrivial(d);
gap> d;;
gap> IsLTrivial(d);
false
gap> IsRTrivial(d);
true
gap> NrLClasses(d);
1
gap> NrRClasses(d);
4560
gap> IsRTrivial(s);
false

# PropertiesTest14
gap> gens := [Transformation([34121]),
>   Transformation([42155]),
>   Transformation([42224])];;
gap> s := Semigroup(gens);;
gap> IsRTrivial(s);
false

# PropertiesTest15
gap> gens := [Transformation([14111172625510]),
> Transformation([244210511111167])];;
gap> s := Monoid(gens);;
gap> IsRTrivial(s);
false
gap> IsHTrivial(s);
false

# PropertiesTest16
gap> gens := [Transformation([28371526]),
>   Transformation([35725638]),
>   Transformation([67414162]),
>   Transformation([88517528])];;
gap> s := Semigroup(gens);;
gap> IsAperiodicSemigroup(s);
false

# PropertiesTest17
gap> gens := [Transformation([26726115]),
>   Transformation([38145671]),
>   Transformation([43277665]),
>   Transformation([71742563])];;
gap> s := Monoid(gens);;
gap> IsCombinatorialSemigroup(s);
false

# PropertiesTest18
gap> gens := [Transformation([34121]),
>   Transformation([42155]),
>   Transformation([42224])];;
gap> s := Semigroup(gens);;
gap> IsAperiodicSemigroup(s);
false

# PropertiesTest19
gap> gens := [Transformation([13109515131382726]),
> Transformation([6111210410135851169])];;
gap> s := Semigroup(gens);;
gap> IsAperiodicSemigroup(s);
false

# PropertiesTest20
gap> gens := [Transformation([1210851512128262]),
> Transformation([561011104101257410]),
> Transformation([6812548107411011])];;
gap> s := Monoid(gens);;
gap> IsAperiodicSemigroup(s);
false

# PropertiesTest21
gap> gens := [Transformation([2345187627]),
> Transformation([5412376541]),
> Transformation([2143214433])];;
gap> s := Monoid(gens);;
gap> IsAperiodicSemigroup(s);
false

# PropertiesTest22
gap> gens := [Transformation([12133]),
> Transformation([22355])];;
gap> s := Monoid(gens);;
gap> IsAperiodicSemigroup(s);
true

# PropertiesTest23
gap> gens := [Transformation([13265487910]),
> Transformation([12648395710]),
> Transformation([11010101010781010]),
> Transformation([11031010610101010])];;
gap> s := Semigroup(gens);;
gap> IsInverseSemigroup(s);
true

# PropertiesTest24
gap> gens := [
> Transformation([14516211137128156141093,
>                 17]),
> Transformation([1171717176789101117171717,
>                 1617]),
> Transformation([12317176171717171117171415,
>                 1617]),
> Transformation([12174171771717101717131715,
>                 1617])];;
gap> s := Semigroup(gens);;
gap> IsInverseSemigroup(s);
true

# PropertiesTest25
gap> gens := [Transformation([12104513781531116614,
>   91217]),
> Transformation([18104561421531112137916,
>   17]),
> Transformation([18174517142171711171771717,
>   17]),
> Transformation([12174817751717141717111717,
>   17]),
> Transformation([117410917171715311171717517,
>   17]),
> Transformation([117431517171791011171717517,
>   17]),
> Transformation([117171756717917171713141517,
>   17]),
> Transformation([121717517178917171217171516,
>   17]),
> Transformation([1173175177171710171217141716,
>   17]),
> Transformation([1171745617171717111213171716,
>   17]),
> Transformation([12317561781710171713171717,
>   17])];;
gap> s := Semigroup(gens);;
gap> IsInverseSemigroup(s);
true

# PropertiesTest26
gap> gens := [Transformation([122]), Transformation([121]),
>   Transformation([223]), Transformation([323]),
>   Transformation([133]), Transformation([113])];;
gap> s := Semigroup(gens);;
gap> IsIdempotentGenerated(s);
true

# PropertiesTest27
gap> gens := [Transformation([26185388]),
> Transformation([37645218])];;
gap> s := Semigroup(gens);;
gap> i := MinimalIdeal(s);;
gap> MultiplicativeZero(s);
Transformation( [ 88885888 ] )
gap> IsLeftZeroSemigroup(i);
true

# PropertiesTest28
gap> gens := [Transformation([234567891]),
> Transformation([423456789])];;
gap> s := Semigroup(gens);;
gap> i := MinimalIdeal(s);;
gap> Size(i);
81
gap> i := Semigroup(Generators(i), rec(small := true));;
gap> Size(i);
3
gap> IsLeftZeroSemigroup(i);
false
gap> IsSimpleSemigroup(i);
true
gap> IsRightZeroSemigroup(i);
false
gap> MultiplicativeZero(i);
fail
gap> One(i);
fail

# PropertiesTest29
gap> gens := [
> Transformation([1341]),
> Transformation([2412]),
> Transformation([3113]),
> Transformation([3341])];;
gap> s := Monoid(gens);;
gap> s := Semigroup(GeneratorsOfSemigroup(s));;
gap> IsMonoidAsSemigroup(s);
true
gap> IsMonoid(s);
true
gap> i := MinimalIdeal(s);;
gap> Size(i);
4
gap> IsLeftZeroSemigroup(i);
false
gap> IsRightZeroSemigroup(i);
true
gap> IsSynchronizingSemigroup(i);
true

# PropertiesTest30
gap> gens := [Transformation([21453789106]),
> Transformation([12435678910]),
> Transformation([12345610987]),
> Transformation([9143693439])];;
gap> s := Monoid(gens);;
gap> g := GroupOfUnits(s);;

# PropertiesTest31
gap> gens := [Transformation([44411678910111]),
> Transformation([66677148910117]),
> Transformation([88899101114679]),
> Transformation([22244678910114]),
> Transformation([11155678910115]),
> Transformation([11444678910111]),
> Transformation([11744678910116])];;
gap> s := Semigroup(gens);;
gap> IsOrthodoxSemigroup(s);
true

# PropertiesTest32
gap> gens := [Transformation([28371526]),
>   Transformation([35725638]),
>   Transformation([41835735]),
>   Transformation([43456412]),
>   Transformation([54885615]),
>   Transformation([67414162]),
>   Transformation([71222745]),
>   Transformation([88517528])];;
gap> s := Semigroup(gens);;
gap> IsOrthodoxSemigroup(s);
false

# PropertiesTest33
gap> gens := [Transformation([28371526]),
>   Transformation([35725638]),
>   Transformation([67414162]),
>   Transformation([88517528])];;
gap> s := Semigroup(gens);;
gap> IsOrthodoxSemigroup(s);
false

# PropertiesTest34
gap> gens := [Transformation([26726115]),
>   Transformation([38145671]),
>   Transformation([43277665]),
>   Transformation([71742563])];;
gap> s := Monoid(gens);;
gap> IsOrthodoxSemigroup(s);
false

# PropertiesTest35
gap> gens := [Transformation([34121]),
>   Transformation([42155]),
>   Transformation([42224])];;
gap> s := Semigroup(gens);;
gap> IsOrthodoxSemigroup(s);
false

# PropertiesTest36
gap> gens := [Transformation([1323]),
>  Transformation([1412]),
>  Transformation([3422]),
>  Transformation([4121])];;
gap> s := Monoid(gens);;
gap> IsOrthodoxSemigroup(s);
false

# PropertiesTest37
gap> gens := [Transformation([14111172625510]),
> Transformation([244210511111167])];;
gap> s := Monoid(gens);;
gap> IsOrthodoxSemigroup(s);
true

# PropertiesTest38
gap> gens := [Transformation([2345187627]),
> Transformation([3874143372])];;
gap> s := Monoid(gens);;
gap> i := MinimalIdeal(s);;
gap> IsRectangularBand(i);
true

# PropertiesTest39
gap> gens := [Transformation([14625378]),
>   Transformation([63275188])];
[ Transformation( [ 146253 ] ), 
  Transformation( [ 63275188 ] ) ]
gap> s := Semigroup(gens);;
gap> i := MinimalIdeal(s);;
gap> IsRectangularBand(i);
true
gap> MultiplicativeZero(i);
Transformation( [ 88885888 ] )

# PropertiesTest40
gap> gens := [Transformation([28371526]),
>   Transformation([35725638]),
>   Transformation([41835735]),
>   Transformation([43456412]),
>   Transformation([54885615]),
>   Transformation([67414162]),
>   Transformation([71222745]),
>   Transformation([88517528])];;
gap> s := Semigroup(gens);;
gap> i := MinimalIdeal(s);;
gap> IsRectangularBand(s);
false
gap> IsSimpleSemigroup(s);
false
gap> IsRectangularBand(i);
true
gap> IsRightZeroSemigroup(i);
true

# PropertiesTest41
gap> rms := ReesMatrixSemigroup(Group(()),
>                               List([1 .. 4], x -> List([1 .. 3], y -> ())));;
gap> s := IsomorphismTransformationSemigroup(rms);;
gap> s := Range(s);;
gap> IsRectangularBand(s);
true
gap> IsRegularSemigroup(s);
true

# PropertiesTest42
gap> gens := [Transformation([2672699115]),
>   Transformation([3142521617]),
>   Transformation([381994105106]),
>   Transformation([47691013662]),
>   Transformation([59109638465]),
>   Transformation([62278821024]),
>   Transformation([6284758358]),
>   Transformation([7143277665]),
>   Transformation([71010179104210]),
>   Transformation([107108875919])];;
gap> s := Semigroup(gens, rec(acting := true));;
gap> IsRegularSemigroup(s);
false

# PropertiesTest43
gap> gens := [Transformation([21453789106]),
> Transformation([12435678910]),
> Transformation([12345610987]),
> Transformation([9143693439])];;
gap> s := Monoid(gens);;
gap> IsRegularSemigroup(s);
false

# PropertiesTest44
gap> gens := [Transformation([14111172625510]),
> Transformation([244210511111167])];;
gap> s := Monoid(gens);;
gap> IsInverseSemigroup(s);
false
gap> t := Semigroup(Idempotents(s));;
gap> IsSemilattice(t);
false
gap> IsBand(t);
true
gap> Size(t);
10
gap> IsOrthodoxSemigroup(t);
true

# PropertiesTest45
gap> gens := [Transformation([2345187627]),
> Transformation([2345687122])];;
gap> s := Monoid(gens);;
gap> s := Semigroup(Idempotents(Monoid(gens)));;
gap> IsSemilattice(s);
false
gap> IsBand(s);
true

# PropertiesTest46
gap> gens := [Transformation([56731428]),
>   Transformation([36857428])];
[ Transformation( [ 5673142 ] ), 
  Transformation( [ 36857428 ] ) ]
gap> s := Semigroup(Idempotents(Monoid(gens)));;
gap> Size(s);
94
gap> IsSemilattice(s);
true

# PropertiesTest47
gap> s := FullTransformationSemigroup(3);;
gap> j := 0;;
gap> for f in s do
> for g in s do
> if IsSynchronizingSemigroup(Semigroup(f, g)) then j := j + 1; fi;
> od;
> od;
gap> j;
561

# PropertiesTest48
gap> gens := [Transformation([465213]),
>   Transformation([632541]),
>   Transformation([124356]),
>   Transformation([356123]),
>   Transformation([536662]),
>   Transformation([232646]),
>   Transformation([212224]),
>   Transformation([441212])];;
gap> s := Semigroup(gens);;
gap> g := Range(IsomorphismPermGroup(GroupOfUnits(s)));;
gap> IsZeroGroup(Range(InjectionZeroMagma(g)));
true
gap> IsZeroGroup(s);
false

# PropertiesTest49
gap> gens := List(Tuples([12], 4), x ->
> TransformationNC(Concatenation([11], x)));;
gap> s := Semigroup(gens);;
gap> IsZeroSemigroup(s);
true

# PropertiesTest50
gap> gens := [Transformation([1234567891010]),
>  Transformation([3691472581010]),
>  Transformation([3697145821010]),
>  Transformation([8255455281010]),
>  Transformation([4484424451010])];;
gap> s := Semigroup(gens);;
gap> MultiplicativeNeutralElement(s);
Transformation( [ 1234567891010 ] )

# PropertiesTest51
gap> [Transformation([369147258]),
>   Transformation([369714582]),
>   Transformation([825545528]),
>   Transformation([448442445]),
>   Transformation([755737553]),
>   Transformation([733337533]),
>   Transformation([353333775]),
>   Transformation([373355777]),
>   Transformation([333755757]),
>   Transformation([355373757]),
>   Transformation([333553755]),
>   Transformation([557573537]),
>   Transformation([355373353]),
>   Transformation([737773357]),
>   Transformation([537375353]),
>   Transformation([557573775])];;
gap> s := Semigroup(last);;
gap> MultiplicativeNeutralElement(s);
IdentityTransformation

# PropertiesTest52: Checking E-unitary
gap> [PartialPerm([1234], [3125]),
>  PartialPerm([1234], [3214])];;
gap> s := InverseSemigroup(last);;
gap> IsEUnitaryInverseSemigroup(s);
true
gap> [PartialPerm([12345], [12563]),
>  PartialPerm([12345], [32165])];;
gap> s := InverseSemigroup(last);;
gap> IsEUnitaryInverseSemigroup(s);
true
gap> [PartialPerm([12347], [24657]),
>  PartialPerm([1234567], [6472318]),
>  PartialPerm([124567], [863541]),
>  PartialPerm([12458], [13862])];;
gap> s := InverseSemigroup(last);;
gap> IsEUnitaryInverseSemigroup(s);
false

# PropertiesTest53

#gap> gens := [ Transformation( [ 28371526 ] ),
#>   Transformation( [ 35725638 ] ),
#>   Transformation( [ 41835735 ] ),
#>   Transformation( [ 43456412 ] ),
#>   Transformation( [ 54885615 ] ),
#>   Transformation( [ 67414162 ] ),
#>   Transformation( [ 71222745 ] ),
#>   Transformation( [ 88517528 ] ) ];;
#gap> s:=Semigroup(gens);;
##gap> IsAbundantSemigroup(s);
##false
#
##
#gap> gens := [ Transformation( [ 26726115 ] ),
#>   Transformation( [ 38145671 ] ),
#>   Transformation( [ 43277665 ] ),
#>   Transformation( [ 71742563 ] ) ];;
#gap> s:=Monoid(gens);;
##gap> IsAbundantSemigroup(s);
##false
#
##
#gap> gens := [ Transformation( [ 28371526 ] ),
#>   Transformation( [ 35725638 ] ),
#>   Transformation( [ 67414162 ] ),
#>   Transformation( [ 88517528 ] ) ];;
#gap> s:=Semigroup(gens);;
##gap> IsAbundantSemigroup(s);
##false
#
##
#gap> gens := [ Transformation( [ 34121 ] ),
#>   Transformation( [ 42155 ] ),
#>   Transformation( [ 42224 ] ) ];;
#gap> s:=Semigroup(gens);;
#gap> IsAbundantSemigroup(s);
#true
#
##
#gap> gens := [ Transformation( [ 1341 ] ),
#> Transformation( [ 2412 ] ),
#> Transformation( [ 3113 ] ),
#> Transformation( [ 3341 ] ) ];;
#gap> s:=Monoid(gens);;
#gap> IsAbundantSemigroup(s);
#false
#
##
#gap> gens := [ Transformation( [ 1323 ] ),
#>  Transformation( [ 1412 ] ),
#>  Transformation( [ 2411 ] ),
#>  Transformation( [ 3422 ] ) ];;
#gap> s:=Semigroup(gens);;
#gap> IsAbundantSemigroup(s);
#true
#gap> IsRegularSemigroup(s);
#false
#
##
#gap> gens := [ Transformation( [ 1323 ] ),
#>  Transformation( [ 1412 ] ),
#>  Transformation( [ 3422 ] ),
#>  Transformation( [ 4121 ] ) ];;
#gap> s:=Monoid(gens);;
#gap> IsAbundantSemigroup(s);
#true
#gap> IsRegularSemigroup(s);
#false
#
##
#gap> gens := [Transformation([2,1,4,5,3,7,8,9,10,6]),
#> Transformation([1,2,4,3,5,6,7,8,9,10]),
#> Transformation([1,2,3,4,5,6,10,9,8,7]),
#> Transformation([9,1,4,3,6,9,3,4,3,9])];;
#gap> s:=Monoid(gens);;
#gap> IsAbundantSemigroup(s);
#true
#gap> IsRegularSemigroup(s);
#false
#
##
#gap> gens := [Transformation( [ 14111172625510 ] ),
#> Transformation( [ 244210511111167 ] )];;
#gap> s:=Monoid(gens);;
#gap> IsAdequateSemigroup(s);
#false
#gap> gens := [Transformation([2,1,4,5,3,7,8,9,10,6]),
#> Transformation([1,2,4,3,5,6,7,8,9,10]),
#> Transformation([1,2,3,4,5,6,10,9,8,7]),
#> Transformation([9,1,4,3,6,9,3,4,3,9])];;
#gap> s:=Monoid(gens);;
#gap> IsAdequateSemigroup(s);
#false
#
# This is still part of PropertiesTest53
gap> s := Semigroup(
> [Transformation([1232]), Transformation([1233]),
>  Transformation([1234576]), Transformation([1243]),
>  Transformation([12835678]),
>  Transformation([16885728]),
>  Transformation([38886267]),
>  Transformation([52341]),
>  Transformation([6234767]),
>  Transformation([88346762])]);;
gap> t := IdempotentGeneratedSubsemigroup(s);;
gap> Size(t);
105

# PropertiesTest54

#gap> gens := [ [ [ 2 ], [ 1 ], [ 4 ], [ 2 ], [ 34 ] ], 
#>  [ [ 23 ], [ 1234 ], [ 1 ], [ 124 ], [ 5 ] ], 
#>  [ [ 3 ], [ 14 ], [ 123 ], [ 134 ], [ 245 ] ] ];;
#gap> s:=Semigroup(List(gens, BinaryRelationOnPoints));;
#gap> SetIsBinaryRelationSemigroup(s, true);;
#gap> Size(s);
#180
#gap> iso:=IsomorphismTransformationSemigroup(s);;
#gap> inv:=InverseGeneralMapping(iso);; t:=Range(iso);;
#gap> ForAll(s, x-> (x^iso)^inv=x);
#true
#gap> ForAll(t, x-> (x^inv)^iso=x);
#true
#gap> RespectsMultiplication(iso);
#true
#gap> Size(t);
#180
#
#
gap> S := Semigroup(Transformation([42334]));;
gap> IsCongruenceFreeSemigroup(S);
true
gap> S := Semigroup(
>  Transformation([2244]),
>  Transformation([534466]));;
gap> IsCongruenceFreeSemigroup(S);
false

# PropertiesTest55: IsSynchronizingSemigroup
# for <IdentityTransformation>
gap> t := Transformation([1]);;
gap> s := Semigroup(t);
<trivial transformation group of degree 0 with 1 generator>
gap> IsSynchronizingSemigroup(s);
false
gap> IsSynchronizingSemigroup(s);
false
gap> IsSynchronizingSemigroup(s);
false

# PropertiesTest56: IsZeroSemigroup
gap> t := Transformation([1]);;

# For a trivial transformation semigroup
gap> s := Semigroup(t);
<trivial transformation group of degree 0 with 1 generator>
gap> IsZeroSemigroup(s);
true

# For a non-trivial zero semigroup of transformations & an ideal
gap> t := Transformation([112]);;
gap> s := Semigroup(t);
<commutative transformation semigroup of degree 3 with 1 generator>
gap> I := SemigroupIdeal(s, t ^ 2);;
gap> HasIsZeroSemigroup(s);
false
gap> IsZeroSemigroup(I);  # parent does not know it is zero
true
gap> HasIsZeroSemigroup(s);
false
gap> IsZeroSemigroup(s);
true
gap> I := SemigroupIdeal(s, t);;  # parent does know it is zero
gap> IsZeroSemigroup(I);
true
gap> I := SemigroupIdeal(s, t);;  # parent does know it is zero.
gap> GeneratorsOfSemigroup(I);;   # ideal now can use normal method
gap> IsZeroSemigroup(I);
true

# For a non-trivial transformation group (semigroup without a zero)
gap> t := Transformation([21]);;
gap> s := Semigroup(t);
<commutative transformation semigroup of degree 2 with 1 generator>
gap> IsZeroSemigroup(s);
false
gap> I := SemigroupIdeal(s, Transformation([12]));
<commutative inverse transformation semigroup ideal of degree 2 with
  1 generator>
gap> IsZeroSemigroup(I);  # parent knows that it is not zero
false

# For a zero-group as a transformation semigroup
gap> s := Semigroup([
> Transformation([1323]),
> Transformation([1111])]);  # s is a 0-simple semigroup
<transformation semigroup of degree 4 with 2 generators>
gap> IsZeroSemigroup(s);
false
gap> IsZeroSimpleSemigroup(s);
true

# For a non-trivial inverse semigroup of partial perms (semigroup with a zero)
gap> s := InverseSemigroup([
> PartialPerm([12], [31]),
> PartialPerm([123], [134])]);
<inverse partial perm semigroup of rank 4 with 2 generators>
gap> MultiplicativeZero(s);
<empty partial perm>
gap> IsZeroSemigroup(s);
false
gap> s := InverseSemigroup(MultiplicativeZero(s));;
gap> IsZeroSemigroup(s);
true

# PropertiesTest57:
# IsZeroSemigroup: for a non-acting semigroup
# (Rees 0-matrix semigroup) and ideals
gap> s := ReesZeroMatrixSemigroup(Group(()), [[0]]);
<Rees 0-matrix semigroup 1x1 over Group(())>
gap> t := First(s, x -> not x = MultiplicativeZero(s));
(1,(),1)
gap> I := SemigroupIdeal(s, t);
<commutative Rees 0-matrix semigroup ideal with 1 generator>
gap> IsZeroSemigroup(I);
true
gap> HasIsZeroSemigroup(s);
false
gap> IsZeroSemigroup(s);
true
gap> I := SemigroupIdeal(s, t);;
gap> IsZeroSemigroup(I);
true
gap> s := ReesZeroMatrixSemigroup(Group(()), [[()]]);
<Rees 0-matrix semigroup 1x1 over Group(())>
gap> t := First(s, x -> not x = MultiplicativeZero(s));
(1,(),1)
gap> I := SemigroupIdeal(s, t);
<regular Rees 0-matrix semigroup ideal with 1 generator>
gap> IsZeroSemigroup(I);
false
gap> HasIsZeroSemigroup(s);
false
gap> IsZeroSemigroup(s);
false
gap> I := SemigroupIdeal(s, MultiplicativeZero(s));
<regular Rees 0-matrix semigroup ideal with 1 generator>
gap> IsZeroSemigroup(I);
true

#
gap> SEMIGROUPS.StopTest();
gap> STOP_TEST("Semigroups package: extreme/properties.tst");

[Dauer der Verarbeitung: 0.27 Sekunden, vorverarbeitet 2026-06-17]