1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
#############################################################################
##
## This file is part of GAP, a system for computational discrete algebra.
## This file's authors include Götz Pfeiffer.
##
## Copyright of GAP belongs to its developers, whose names are too numerous
## to list here. Please refer to the COPYRIGHT file for details.
##
## SPDX-License-Identifier: GPL-2.0-or-later
##
## Installed in GAP4 by Andrew Solomon for Semigroups instead of Monoids.
##
## This file contains declarations for Todd-Coxeter procedure for
## fp semigroups.
##
############################################################################
##
#A CosetTableOfFpSemigroup(<r>)
##
## <#GAPDoc Label="CosetTableOfFpSemigroup">
## <ManSection>
## <Attr Name="CosetTableOfFpSemigroup" Arg='r'/>
##
## <Description>
## <A>r</A> is a right congruence of an fp-semigroup <A>S</A>.
## This attribute is the coset table of FP semigroup
## <A>S</A> on a right congruence <A>r</A>.
## Given a right congruence <A>r</A> we represent <A>S</A> as a set of
## transformations of the congruence classes of <A>r</A>.
## <P/>
## The images of the cosets under the generators are compiled in a list
## <A>table</A> such that <A>table[i][s]</A> contains the image of coset <A>s</A> under
## generator <A>i</A>.
## </Description>
## </ManSection>
## <#/GAPDoc>
##
DeclareAttribute("CosetTableOfFpSemigroup", IsRightMagmaCongruence);
## The preimages are stored in a similar way in the list
## |occur|. Here |occur[i][s]| contains the set of all cosets which are
## mapped to |s| under generator |i|. There the empty set is represented by
## 0. The list |occur| is needed for the sole purpose of identifying the
## places in |table| where a coset |t| occurs if this needs to be replaced
## by a coset |s|.
##
SemigroupTCInitialTableSize:= 5000000;
|