File: tcsemi.gd

package info (click to toggle)
gap 4.15.1-1
  • links: PTS
  • area: main
  • in suites: forky, sid
  • size: 110,212 kB
  • sloc: ansic: 97,261; xml: 48,343; cpp: 13,946; sh: 4,900; perl: 1,650; javascript: 255; makefile: 252; ruby: 9
file content (50 lines) | stat: -rw-r--r-- 1,881 bytes parent folder | download | duplicates (2)
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;