Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/GAP/pkg/semigroups/tst/standard/ideals/   (Algebra von RWTH Aachen 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, 
>                               [[1, 1, 1], [1, 0, 1], [1, 1, 1]]));;
gap> Idempotents(I);
[ Matrix(IsBooleanMat, [[0, 0, 0], [0, 1, 0], [0, 0, 0]]), 
  Matrix(IsBooleanMat, [[1, 0, 0], [0, 0, 0], [0, 0, 0]]), 
  Matrix(IsBooleanMat, [[0, 0, 0], [0, 1, 0], [0, 1, 0]]), 
  Matrix(IsBooleanMat, [[1, 1, 0], [0, 1, 0], [0, 0, 0]]), 
  Matrix(IsBooleanMat, [[0, 0, 0], [0, 1, 1], [0, 0, 1]]), 
  Matrix(IsBooleanMat, [[1, 0, 0], [0, 0, 0], [1, 0, 1]]), 
  Matrix(IsBooleanMat, [[0, 0, 0], [0, 0, 0], [0, 0, 1]]), 
  Matrix(IsBooleanMat, [[1, 0, 0], [0, 0, 0], [1, 0, 0]]), 
  Matrix(IsBooleanMat, [[0, 0, 1], [0, 0, 0], [0, 0, 1]]), 
  Matrix(IsBooleanMat, [[1, 0, 0], [1, 0, 0], [0, 0, 0]]), 
  Matrix(IsBooleanMat, [[1, 0, 0], [1, 1, 1], [0, 0, 0]]), 
  Matrix(IsBooleanMat, [[0, 0, 0], [1, 1, 0], [0, 0, 0]]), 
  Matrix(IsBooleanMat, [[1, 0, 1], [0, 0, 0], [0, 0, 0]]), 
  Matrix(IsBooleanMat, [[0, 0, 0], [0, 0, 0], [0, 0, 0]]), 
  Matrix(IsBooleanMat, [[0, 0, 0], [0, 1, 0], [0, 1, 1]]), 
  Matrix(IsBooleanMat, [[1, 0, 0], [1, 0, 1], [1, 0, 1]]), 
  Matrix(IsBooleanMat, [[0, 0, 0], [0, 0, 1], [0, 0, 1]]), 
  Matrix(IsBooleanMat, [[1, 1, 0], [0, 0, 0], [0, 0, 0]]), 
  Matrix(IsBooleanMat, [[1, 0, 0], [1, 1, 0], [0, 0, 0]]), 
  Matrix(IsBooleanMat, [[0, 1, 0], [0, 1, 0], [0, 0, 0]]), 
  Matrix(IsBooleanMat, [[1, 0, 0], [1, 1, 0], [1, 0, 0]]), 
  Matrix(IsBooleanMat, [[0, 0, 0], [1, 1, 1], [1, 0, 1]]), 
  Matrix(IsBooleanMat, [[0, 0, 0], [0, 0, 0], [1, 0, 1]]), 
  Matrix(IsBooleanMat, [[1, 1, 0], [0, 0, 0], [1, 1, 0]]), 
  Matrix(IsBooleanMat, [[0, 1, 0], [0, 1, 0], [0, 1, 1]]), 
  Matrix(IsBooleanMat, [[1, 1, 1], [0, 1, 0], [1, 1, 1]]), 
  Matrix(IsBooleanMat, [[1, 1, 0], [0, 1, 0], [1, 1, 0]]), 
  Matrix(IsBooleanMat, [[1, 0, 0], [1, 1, 0], [1, 1, 0]]), 
  Matrix(IsBooleanMat, [[1, 0, 1], [0, 0, 0], [1, 0, 1]]), 
  Matrix(IsBooleanMat, [[1, 1, 0], [0, 0, 0], [1, 1, 1]]), 
  Matrix(IsBooleanMat, [[1, 0, 0], [1, 0, 0], [1, 0, 0]]), 
  Matrix(IsBooleanMat, [[0, 1, 1], [0, 1, 0], [0, 1, 1]]), 
  Matrix(IsBooleanMat, [[1, 0, 0], [1, 1, 1], [1, 0, 0]]), 
  Matrix(IsBooleanMat, [[1, 1, 1], [0, 1, 0], [0, 0, 0]]), 
  Matrix(IsBooleanMat, [[0, 0, 0], [0, 1, 1], [0, 0, 0]]), 
  Matrix(IsBooleanMat, [[1, 0, 1], [0, 0, 0], [0, 0, 1]]), 
  Matrix(IsBooleanMat, [[1, 0, 0], [1, 1, 1], [1, 1, 1]]), 
  Matrix(IsBooleanMat, [[0, 0, 0], [1, 1, 0], [1, 1, 0]]), 
  Matrix(IsBooleanMat, [[1, 1, 0], [0, 1, 0], [0, 1, 0]]), 
  Matrix(IsBooleanMat, [[0, 0, 0], [0, 1, 0], [1, 1, 1]]), 
  Matrix(IsBooleanMat, [[0, 0, 0], [1, 0, 1], [1, 0, 1]]), 
  Matrix(IsBooleanMat, [[0, 0, 0], [1, 1, 0], [1, 1, 1]]), 
  Matrix(IsBooleanMat, [[1, 0, 1], [1, 1, 1], [0, 0, 0]]), 
  Matrix(IsBooleanMat, [[1, 0, 0], [1, 0, 0], [1, 0, 1]]), 
  Matrix(IsBooleanMat, [[1, 0, 0], [0, 0, 0], [1, 1, 1]]), 
  Matrix(IsBooleanMat, [[0, 0, 0], [0, 0, 0], [0, 1, 1]]), 
  Matrix(IsBooleanMat, [[0, 1, 1], [0, 0, 0], [0, 1, 1]]), 
  Matrix(IsBooleanMat, [[1, 0, 1], [1, 1, 1], [1, 0, 1]]), 
  Matrix(IsBooleanMat, [[0, 0, 1], [0, 1, 1], [0, 0, 1]]), 
  Matrix(IsBooleanMat, [[0, 1, 0], [0, 1, 0], [1, 1, 1]]), 
  Matrix(IsBooleanMat, [[0, 1, 0], [0, 1, 0], [0, 1, 0]]), 
  Matrix(IsBooleanMat, [[1, 1, 1], [0, 0, 0], [1, 1, 1]]), 
  Matrix(IsBooleanMat, [[1, 0, 1], [1, 0, 1], [0, 0, 0]]), 
  Matrix(IsBooleanMat, [[0, 0, 0], [1, 1, 1], [0, 0, 0]]), 
  Matrix(IsBooleanMat, [[1, 1, 1], [0, 0, 0], [0, 0, 0]]), 
  Matrix(IsBooleanMat, [[1, 1, 1], [0, 0, 0], [0, 1, 1]]), 
  Matrix(IsBooleanMat, [[0, 0, 0], [0, 1, 1], [0, 1, 1]]), 
  Matrix(IsBooleanMat, [[0, 0, 0], [1, 1, 1], [1, 1, 1]]), 
  Matrix(IsBooleanMat, [[1, 0, 1], [0, 0, 1], [0, 0, 1]]), 
  Matrix(IsBooleanMat, [[1, 1, 1], [0, 1, 0], [0, 1, 0]]), 
  Matrix(IsBooleanMat, [[1, 1, 0], [1, 1, 0], [0, 0, 0]]), 
  Matrix(IsBooleanMat, [[1, 0, 0], [1, 0, 0], [1, 1, 1]]), 
  Matrix(IsBooleanMat, [[1, 1, 1], [0, 1, 1], [0, 0, 0]]), 
  Matrix(IsBooleanMat, [[0, 0, 0], [1, 1, 1], [0, 0, 1]]), 
  Matrix(IsBooleanMat, [[1, 1, 1], [0, 0, 0], [0, 0, 1]]), 
  Matrix(IsBooleanMat, [[0, 0, 0], [0, 0, 0], [1, 1, 1]]), 
  Matrix(IsBooleanMat, [[1, 1, 0], [1, 1, 0], [1, 1, 1]]), 
  Matrix(IsBooleanMat, [[1, 0, 1], [1, 0, 1], [1, 0, 1]]), 
  Matrix(IsBooleanMat, [[0, 0, 1], [0, 0, 1], [0, 0, 1]]), 
  Matrix(IsBooleanMat, [[1, 1, 0], [1, 1, 0], [1, 1, 0]]), 
  Matrix(IsBooleanMat, [[0, 0, 1], [1, 1, 1], [0, 0, 1]]), 
  Matrix(IsBooleanMat, [[0, 1, 1], [0, 1, 1], [0, 0, 0]]), 
  Matrix(IsBooleanMat, [[1, 1, 1], [0, 1, 1], [0, 1, 1]]), 
  Matrix(IsBooleanMat, [[1, 1, 1], [0, 0, 1], [0, 0, 1]]), 
  Matrix(IsBooleanMat, [[1, 1, 1], [1, 1, 1], [0, 0, 1]]), 
  Matrix(IsBooleanMat, [[0, 1, 1], [0, 1, 1], [0, 0, 1]]), 
  Matrix(IsBooleanMat, [[1, 1, 1], [1, 1, 1], [0, 0, 0]]), 
  Matrix(IsBooleanMat, [[1, 0, 1], [1, 0, 1], [0, 0, 1]]), 
  Matrix(IsBooleanMat, [[1, 1, 1], [1, 1, 1], [1, 1, 1]]), 
  Matrix(IsBooleanMat, [[0, 1, 1], [0, 1, 1], [0, 1, 1]]) ]
gap> ForAll(Idempotents(I), x -> x ^ 2 = x and x in I);
true
gap> GeneratorsOfSemigroup(I);
[ Matrix(IsBooleanMat, [[1, 1, 1], [1, 0, 1], [1, 1, 1]]), 
  Matrix(IsBooleanMat, [[0, 0, 0], [0, 1, 1], [0, 0, 1]]), 
  Matrix(IsBooleanMat, [[0, 0, 0], [1, 1, 1], [0, 1, 1]]), 
  Matrix(IsBooleanMat, [[0, 0, 0], [1, 1, 1], [0, 0, 1]]), 
  Matrix(IsBooleanMat, [[0, 0, 0], [0, 0, 1], [1, 1, 1]]), 
  Matrix(IsBooleanMat, [[1, 1, 0], [0, 1, 0], [0, 1, 0]]), 
  Matrix(IsBooleanMat, [[1, 0, 1], [0, 0, 0], [1, 1, 1]]), 
  Matrix(IsBooleanMat, [[1, 0, 0], [1, 1, 0], [1, 1, 0]]), 
  Matrix(IsBooleanMat, [[0, 0, 0], [1, 0, 0], [1, 1, 0]]), 
  Matrix(IsBooleanMat, [[1, 1, 0], [1, 1, 0], [1, 0, 0]]), 
  Matrix(IsBooleanMat, [[0, 0, 1], [0, 0, 1], [0, 1, 1]]), 
  Matrix(IsBooleanMat, [[1, 1, 1], [1, 1, 1], [1, 0, 1]]), 
  Matrix(IsBooleanMat, [[0, 1, 0], [0, 0, 0], [1, 1, 1]]), 
  Matrix(IsBooleanMat, [[0, 1, 0], [1, 1, 1], [1, 1, 1]]), 
  Matrix(IsBooleanMat, [[1, 1, 1], [0, 0, 0], [0, 0, 1]]), 
  Matrix(IsBooleanMat, [[1, 1, 1], [1, 0, 0], [0, 0, 0]]), 
  Matrix(IsBooleanMat, [[0, 1, 0], [1, 1, 0], [0, 0, 0]]), 
  Matrix(IsBooleanMat, [[0, 0, 1], [0, 1, 1], [0, 0, 1]]), 
  Matrix(IsBooleanMat, [[1, 1, 1], [1, 1, 1], [1, 1, 0]]), 
  Matrix(IsBooleanMat, [[0, 0, 0], [1, 0, 1], [1, 0, 0]]), 
  Matrix(IsBooleanMat, [[0, 0, 1], [0, 0, 1], [1, 0, 1]]), 
  Matrix(IsBooleanMat, [[0, 1, 1], [0, 1, 0], [0, 0, 0]]) ]
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, [[1, 1, 0], [1, 0, 1], [0, 1, 1]]));
fail
gap> S := RegularBooleanMatMonoid(3);;
gap> I := SemigroupIdeal(S, 
>                        Matrix(IsBooleanMat, 
>                               [[1, 1, 1], [1, 0, 1], [1, 1, 1]]));;
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, [[1, 1, 0], [1, 0, 1], [0, 1, 1]]));
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.43 Sekunden  ]