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

Quelle  froidure-pin.tst   Sprache: unbekannt

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

#############################################################################
##
#W  standard/ideals/froidure-pin.tst
#Y  Copyright (C) 2016-2022                              James D. Mitchell
##
##  Licensing information can be found in the README file of this package.
##
#############################################################################
##

#@local I, S, acting, en
gap> START_TEST("Semigroups package: standard/ideals/froidure-pin.tst");
gap> LoadPackage("semigroups", false);;

# The tests in this file do not attempt to test every line in idealenum.gi
# since that file needs to be completely rewritten.

#
gap> SEMIGROUPS.StartTest();

# Test Idempotents
gap> S := RegularBooleanMatMonoid(3);;
gap> I := SemigroupIdeal(S, 
>                        Matrix(IsBooleanMat, 
>                               [[111], [101], [111]]));;
gap> Idempotents(I);
[ Matrix(IsBooleanMat, [[000], [010], [000]]), 
  Matrix(IsBooleanMat, [[100], [000], [000]]), 
  Matrix(IsBooleanMat, [[000], [010], [010]]), 
  Matrix(IsBooleanMat, [[110], [010], [000]]), 
  Matrix(IsBooleanMat, [[000], [011], [001]]), 
  Matrix(IsBooleanMat, [[100], [000], [101]]), 
  Matrix(IsBooleanMat, [[000], [000], [001]]), 
  Matrix(IsBooleanMat, [[100], [000], [100]]), 
  Matrix(IsBooleanMat, [[001], [000], [001]]), 
  Matrix(IsBooleanMat, [[100], [100], [000]]), 
  Matrix(IsBooleanMat, [[100], [111], [000]]), 
  Matrix(IsBooleanMat, [[000], [110], [000]]), 
  Matrix(IsBooleanMat, [[101], [000], [000]]), 
  Matrix(IsBooleanMat, [[000], [000], [000]]), 
  Matrix(IsBooleanMat, [[000], [010], [011]]), 
  Matrix(IsBooleanMat, [[100], [101], [101]]), 
  Matrix(IsBooleanMat, [[000], [001], [001]]), 
  Matrix(IsBooleanMat, [[110], [000], [000]]), 
  Matrix(IsBooleanMat, [[100], [110], [000]]), 
  Matrix(IsBooleanMat, [[010], [010], [000]]), 
  Matrix(IsBooleanMat, [[100], [110], [100]]), 
  Matrix(IsBooleanMat, [[000], [111], [101]]), 
  Matrix(IsBooleanMat, [[000], [000], [101]]), 
  Matrix(IsBooleanMat, [[110], [000], [110]]), 
  Matrix(IsBooleanMat, [[010], [010], [011]]), 
  Matrix(IsBooleanMat, [[111], [010], [111]]), 
  Matrix(IsBooleanMat, [[110], [010], [110]]), 
  Matrix(IsBooleanMat, [[100], [110], [110]]), 
  Matrix(IsBooleanMat, [[101], [000], [101]]), 
  Matrix(IsBooleanMat, [[110], [000], [111]]), 
  Matrix(IsBooleanMat, [[100], [100], [100]]), 
  Matrix(IsBooleanMat, [[011], [010], [011]]), 
  Matrix(IsBooleanMat, [[100], [111], [100]]), 
  Matrix(IsBooleanMat, [[111], [010], [000]]), 
  Matrix(IsBooleanMat, [[000], [011], [000]]), 
  Matrix(IsBooleanMat, [[101], [000], [001]]), 
  Matrix(IsBooleanMat, [[100], [111], [111]]), 
  Matrix(IsBooleanMat, [[000], [110], [110]]), 
  Matrix(IsBooleanMat, [[110], [010], [010]]), 
  Matrix(IsBooleanMat, [[000], [010], [111]]), 
  Matrix(IsBooleanMat, [[000], [101], [101]]), 
  Matrix(IsBooleanMat, [[000], [110], [111]]), 
  Matrix(IsBooleanMat, [[101], [111], [000]]), 
  Matrix(IsBooleanMat, [[100], [100], [101]]), 
  Matrix(IsBooleanMat, [[100], [000], [111]]), 
  Matrix(IsBooleanMat, [[000], [000], [011]]), 
  Matrix(IsBooleanMat, [[011], [000], [011]]), 
  Matrix(IsBooleanMat, [[101], [111], [101]]), 
  Matrix(IsBooleanMat, [[001], [011], [001]]), 
  Matrix(IsBooleanMat, [[010], [010], [111]]), 
  Matrix(IsBooleanMat, [[010], [010], [010]]), 
  Matrix(IsBooleanMat, [[111], [000], [111]]), 
  Matrix(IsBooleanMat, [[101], [101], [000]]), 
  Matrix(IsBooleanMat, [[000], [111], [000]]), 
  Matrix(IsBooleanMat, [[111], [000], [000]]), 
  Matrix(IsBooleanMat, [[111], [000], [011]]), 
  Matrix(IsBooleanMat, [[000], [011], [011]]), 
  Matrix(IsBooleanMat, [[000], [111], [111]]), 
  Matrix(IsBooleanMat, [[101], [001], [001]]), 
  Matrix(IsBooleanMat, [[111], [010], [010]]), 
  Matrix(IsBooleanMat, [[110], [110], [000]]), 
  Matrix(IsBooleanMat, [[100], [100], [111]]), 
  Matrix(IsBooleanMat, [[111], [011], [000]]), 
  Matrix(IsBooleanMat, [[000], [111], [001]]), 
  Matrix(IsBooleanMat, [[111], [000], [001]]), 
  Matrix(IsBooleanMat, [[000], [000], [111]]), 
  Matrix(IsBooleanMat, [[110], [110], [111]]), 
  Matrix(IsBooleanMat, [[101], [101], [101]]), 
  Matrix(IsBooleanMat, [[001], [001], [001]]), 
  Matrix(IsBooleanMat, [[110], [110], [110]]), 
  Matrix(IsBooleanMat, [[001], [111], [001]]), 
  Matrix(IsBooleanMat, [[011], [011], [000]]), 
  Matrix(IsBooleanMat, [[111], [011], [011]]), 
  Matrix(IsBooleanMat, [[111], [001], [001]]), 
  Matrix(IsBooleanMat, [[111], [111], [001]]), 
  Matrix(IsBooleanMat, [[011], [011], [001]]), 
  Matrix(IsBooleanMat, [[111], [111], [000]]), 
  Matrix(IsBooleanMat, [[101], [101], [001]]), 
  Matrix(IsBooleanMat, [[111], [111], [111]]), 
  Matrix(IsBooleanMat, [[011], [011], [011]]) ]
gap> ForAll(Idempotents(I), x -> x ^ 2 = x and x in I);
true
gap> GeneratorsOfSemigroup(I);
[ Matrix(IsBooleanMat, [[111], [101], [111]]), 
  Matrix(IsBooleanMat, [[000], [011], [001]]), 
  Matrix(IsBooleanMat, [[000], [111], [011]]), 
  Matrix(IsBooleanMat, [[000], [111], [001]]), 
  Matrix(IsBooleanMat, [[000], [001], [111]]), 
  Matrix(IsBooleanMat, [[110], [010], [010]]), 
  Matrix(IsBooleanMat, [[101], [000], [111]]), 
  Matrix(IsBooleanMat, [[100], [110], [110]]), 
  Matrix(IsBooleanMat, [[000], [100], [110]]), 
  Matrix(IsBooleanMat, [[110], [110], [100]]), 
  Matrix(IsBooleanMat, [[001], [001], [011]]), 
  Matrix(IsBooleanMat, [[111], [111], [101]]), 
  Matrix(IsBooleanMat, [[010], [000], [111]]), 
  Matrix(IsBooleanMat, [[010], [111], [111]]), 
  Matrix(IsBooleanMat, [[111], [000], [001]]), 
  Matrix(IsBooleanMat, [[111], [100], [000]]), 
  Matrix(IsBooleanMat, [[010], [110], [000]]), 
  Matrix(IsBooleanMat, [[001], [011], [001]]), 
  Matrix(IsBooleanMat, [[111], [111], [110]]), 
  Matrix(IsBooleanMat, [[000], [101], [100]]), 
  Matrix(IsBooleanMat, [[001], [001], [101]]), 
  Matrix(IsBooleanMat, [[011], [010], [000]]) ]
gap> S.1 in I;
false
gap> ForAll(GeneratorsOfSemigroup(I), x -> x in I);
true
gap> Size(I);
194
gap> en := Enumerator(I);;
gap> ForAll(en, x -> x in I);
true
gap> ForAll(en, x -> en[Position(en, x)] = x);
true
gap> ForAll([1 .. Length(en)], x -> Position(en, en[x]) = x);
true
gap> IsBound(en[1000]);
false
gap> Position(en, S.1);
fail
gap> Position(en, Matrix(IsBooleanMat, [[110], [101], [011]]));
fail
gap> S := RegularBooleanMatMonoid(3);;
gap> I := SemigroupIdeal(S, 
>                        Matrix(IsBooleanMat, 
>                               [[111], [101], [111]]));;
gap> en := Enumerator(I);;
gap> ForAll(en, x -> x in I);
true
gap> ForAll(en, x -> en[Position(en, x)] = x);
true
gap> ForAll([1 .. Length(en)], x -> Position(en, en[x]) = x);
true
gap> IsBound(en[1000]);
false
gap> Position(en, S.1);
fail
gap> Position(en, Matrix(IsBooleanMat, [[110], [101], [011]]));
fail

# Test GeneratorsOfInverseSemigroup for an ideal
gap> S := InverseSemigroup(SymmetricInverseMonoid(4), rec(acting := false));
<inverse partial perm monoid of rank 4 with 3 generators>
gap> I := SemigroupIdeal(S, S.3);;
gap> I = InverseSemigroup(GeneratorsOfInverseSemigroup(I));
true

#
gap> SEMIGROUPS.StopTest();
gap> STOP_TEST("Semigroups package: standard/ideals/froidure-pin.tst");

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