passagemath-gap-pkg-semigroups 10.6.29__cp312-abi3-musllinux_1_2_x86_64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of passagemath-gap-pkg-semigroups might be problematic. Click here for more details.

Files changed (356) hide show
  1. gap/pkg/semigroups/CHANGELOG.md +1699 -0
  2. gap/pkg/semigroups/CONTRIBUTING.md +91 -0
  3. gap/pkg/semigroups/GNUmakefile +110 -0
  4. gap/pkg/semigroups/GNUmakefile.in +110 -0
  5. gap/pkg/semigroups/GPL +674 -0
  6. gap/pkg/semigroups/LICENSE +16 -0
  7. gap/pkg/semigroups/Makefile +26 -0
  8. gap/pkg/semigroups/Makefile.gappkg +225 -0
  9. gap/pkg/semigroups/PackageInfo.g +529 -0
  10. gap/pkg/semigroups/README.md +102 -0
  11. gap/pkg/semigroups/VERSIONS +112 -0
  12. gap/pkg/semigroups/aclocal.m4 +375 -0
  13. gap/pkg/semigroups/autogen.sh +25 -0
  14. gap/pkg/semigroups/bin/x86_64-pc-linux-musl-default64-kv10/semigroups.so +0 -0
  15. gap/pkg/semigroups/config.guess +1807 -0
  16. gap/pkg/semigroups/config.log +1068 -0
  17. gap/pkg/semigroups/config.status +1133 -0
  18. gap/pkg/semigroups/config.sub +1960 -0
  19. gap/pkg/semigroups/configure +9742 -0
  20. gap/pkg/semigroups/configure.ac +71 -0
  21. gap/pkg/semigroups/data/doc/greens.pickle +1 -0
  22. gap/pkg/semigroups/data/gens/fullbool-8.pickle.gz +0 -0
  23. gap/pkg/semigroups/data/gens/fullbool.pickle.gz +0 -0
  24. gap/pkg/semigroups/data/gens/hall.pickle.gz +0 -0
  25. gap/pkg/semigroups/data/gens/reflex-6.pickle.gz +0 -0
  26. gap/pkg/semigroups/data/gens/reflex.pickle.gz +0 -0
  27. gap/pkg/semigroups/data/tst/bipart4 +10 -0
  28. gap/pkg/semigroups/data/tst/pperm10 +1 -0
  29. gap/pkg/semigroups/data/tst/tables.gz +0 -0
  30. gap/pkg/semigroups/data/tst/testdata +1 -0
  31. gap/pkg/semigroups/data/tst/testinstall.pickle +1 -0
  32. gap/pkg/semigroups/data/tst/trans3 +7 -0
  33. gap/pkg/semigroups/data/tst/trans3-old +7 -0
  34. gap/pkg/semigroups/environment.yml +7 -0
  35. gap/pkg/semigroups/gap/attributes/acting.gd +15 -0
  36. gap/pkg/semigroups/gap/attributes/acting.gi +297 -0
  37. gap/pkg/semigroups/gap/attributes/attr.gd +91 -0
  38. gap/pkg/semigroups/gap/attributes/attr.gi +1214 -0
  39. gap/pkg/semigroups/gap/attributes/dual.gd +25 -0
  40. gap/pkg/semigroups/gap/attributes/dual.gi +209 -0
  41. gap/pkg/semigroups/gap/attributes/factor.gd +17 -0
  42. gap/pkg/semigroups/gap/attributes/factor.gi +453 -0
  43. gap/pkg/semigroups/gap/attributes/homomorph.gd +84 -0
  44. gap/pkg/semigroups/gap/attributes/homomorph.gi +591 -0
  45. gap/pkg/semigroups/gap/attributes/inverse.gd +38 -0
  46. gap/pkg/semigroups/gap/attributes/inverse.gi +708 -0
  47. gap/pkg/semigroups/gap/attributes/isomorph.gd +16 -0
  48. gap/pkg/semigroups/gap/attributes/isomorph.gi +377 -0
  49. gap/pkg/semigroups/gap/attributes/isorms.gd +49 -0
  50. gap/pkg/semigroups/gap/attributes/isorms.gi +1383 -0
  51. gap/pkg/semigroups/gap/attributes/maximal.gd +16 -0
  52. gap/pkg/semigroups/gap/attributes/maximal.gi +1876 -0
  53. gap/pkg/semigroups/gap/attributes/properties.gd +109 -0
  54. gap/pkg/semigroups/gap/attributes/properties.gi +1658 -0
  55. gap/pkg/semigroups/gap/attributes/rms-translat.gd +39 -0
  56. gap/pkg/semigroups/gap/attributes/rms-translat.gi +1078 -0
  57. gap/pkg/semigroups/gap/attributes/semifp.gd +12 -0
  58. gap/pkg/semigroups/gap/attributes/semifp.gi +84 -0
  59. gap/pkg/semigroups/gap/attributes/translat.gd +474 -0
  60. gap/pkg/semigroups/gap/attributes/translat.gi +1779 -0
  61. gap/pkg/semigroups/gap/congruences/cong.gd +154 -0
  62. gap/pkg/semigroups/gap/congruences/cong.gi +351 -0
  63. gap/pkg/semigroups/gap/congruences/conginv.gd +38 -0
  64. gap/pkg/semigroups/gap/congruences/conginv.gi +589 -0
  65. gap/pkg/semigroups/gap/congruences/conglatt.gd +101 -0
  66. gap/pkg/semigroups/gap/congruences/conglatt.gi +886 -0
  67. gap/pkg/semigroups/gap/congruences/congpairs.gd +21 -0
  68. gap/pkg/semigroups/gap/congruences/congpairs.gi +272 -0
  69. gap/pkg/semigroups/gap/congruences/congpart.gd +90 -0
  70. gap/pkg/semigroups/gap/congruences/congpart.gi +449 -0
  71. gap/pkg/semigroups/gap/congruences/congrees.gd +20 -0
  72. gap/pkg/semigroups/gap/congruences/congrees.gi +313 -0
  73. gap/pkg/semigroups/gap/congruences/congrms.gd +54 -0
  74. gap/pkg/semigroups/gap/congruences/congrms.gi +1467 -0
  75. gap/pkg/semigroups/gap/congruences/congsemigraph.gd +28 -0
  76. gap/pkg/semigroups/gap/congruences/congsemigraph.gi +289 -0
  77. gap/pkg/semigroups/gap/congruences/congsimple.gd +27 -0
  78. gap/pkg/semigroups/gap/congruences/congsimple.gi +236 -0
  79. gap/pkg/semigroups/gap/congruences/conguniv.gd +20 -0
  80. gap/pkg/semigroups/gap/congruences/conguniv.gi +271 -0
  81. gap/pkg/semigroups/gap/congruences/congwordgraph.gd +21 -0
  82. gap/pkg/semigroups/gap/congruences/congwordgraph.gi +250 -0
  83. gap/pkg/semigroups/gap/elements/bipart.gd +71 -0
  84. gap/pkg/semigroups/gap/elements/bipart.gi +995 -0
  85. gap/pkg/semigroups/gap/elements/blocks.gd +31 -0
  86. gap/pkg/semigroups/gap/elements/blocks.gi +134 -0
  87. gap/pkg/semigroups/gap/elements/boolmat.gd +74 -0
  88. gap/pkg/semigroups/gap/elements/boolmat.gi +726 -0
  89. gap/pkg/semigroups/gap/elements/elements.gd +11 -0
  90. gap/pkg/semigroups/gap/elements/elements.gi +121 -0
  91. gap/pkg/semigroups/gap/elements/ffmat.gd +71 -0
  92. gap/pkg/semigroups/gap/elements/ffmat.gi +311 -0
  93. gap/pkg/semigroups/gap/elements/maxplusmat.gd +131 -0
  94. gap/pkg/semigroups/gap/elements/maxplusmat.gi +782 -0
  95. gap/pkg/semigroups/gap/elements/pbr.gd +51 -0
  96. gap/pkg/semigroups/gap/elements/pbr.gi +740 -0
  97. gap/pkg/semigroups/gap/elements/pperm.gd +11 -0
  98. gap/pkg/semigroups/gap/elements/pperm.gi +14 -0
  99. gap/pkg/semigroups/gap/elements/semiringmat.gd +136 -0
  100. gap/pkg/semigroups/gap/elements/semiringmat.gi +717 -0
  101. gap/pkg/semigroups/gap/elements/star.gd +21 -0
  102. gap/pkg/semigroups/gap/elements/star.gi +21 -0
  103. gap/pkg/semigroups/gap/elements/trans.gd +13 -0
  104. gap/pkg/semigroups/gap/elements/trans.gi +50 -0
  105. gap/pkg/semigroups/gap/fp/freeband.gd +22 -0
  106. gap/pkg/semigroups/gap/fp/freeband.gi +502 -0
  107. gap/pkg/semigroups/gap/fp/freeinverse.gd +30 -0
  108. gap/pkg/semigroups/gap/fp/freeinverse.gi +465 -0
  109. gap/pkg/semigroups/gap/fp/tietze.gd +89 -0
  110. gap/pkg/semigroups/gap/fp/tietze.gi +1578 -0
  111. gap/pkg/semigroups/gap/fp/word.gd +15 -0
  112. gap/pkg/semigroups/gap/fp/word.gi +67 -0
  113. gap/pkg/semigroups/gap/greens/acting-inverse.gi +774 -0
  114. gap/pkg/semigroups/gap/greens/acting-regular.gi +553 -0
  115. gap/pkg/semigroups/gap/greens/acting.gd +81 -0
  116. gap/pkg/semigroups/gap/greens/acting.gi +2433 -0
  117. gap/pkg/semigroups/gap/greens/froidure-pin.gd +25 -0
  118. gap/pkg/semigroups/gap/greens/froidure-pin.gi +741 -0
  119. gap/pkg/semigroups/gap/greens/generic.gd +117 -0
  120. gap/pkg/semigroups/gap/greens/generic.gi +630 -0
  121. gap/pkg/semigroups/gap/ideals/acting.gd +17 -0
  122. gap/pkg/semigroups/gap/ideals/acting.gi +1155 -0
  123. gap/pkg/semigroups/gap/ideals/froidure-pin.gd +11 -0
  124. gap/pkg/semigroups/gap/ideals/froidure-pin.gi +105 -0
  125. gap/pkg/semigroups/gap/ideals/ideals.gd +45 -0
  126. gap/pkg/semigroups/gap/ideals/ideals.gi +442 -0
  127. gap/pkg/semigroups/gap/ideals/lambda-rho.gd +16 -0
  128. gap/pkg/semigroups/gap/ideals/lambda-rho.gi +614 -0
  129. gap/pkg/semigroups/gap/libsemigroups/cong.gd +24 -0
  130. gap/pkg/semigroups/gap/libsemigroups/cong.gi +431 -0
  131. gap/pkg/semigroups/gap/libsemigroups/fpsemi.gd +16 -0
  132. gap/pkg/semigroups/gap/libsemigroups/fpsemi.gi +53 -0
  133. gap/pkg/semigroups/gap/libsemigroups/froidure-pin.gd +17 -0
  134. gap/pkg/semigroups/gap/libsemigroups/froidure-pin.gi +945 -0
  135. gap/pkg/semigroups/gap/libsemigroups/sims1.gd +38 -0
  136. gap/pkg/semigroups/gap/libsemigroups/sims1.gi +308 -0
  137. gap/pkg/semigroups/gap/main/acting.gd +36 -0
  138. gap/pkg/semigroups/gap/main/acting.gi +779 -0
  139. gap/pkg/semigroups/gap/main/froidure-pin.gd +72 -0
  140. gap/pkg/semigroups/gap/main/froidure-pin.gi +655 -0
  141. gap/pkg/semigroups/gap/main/graded.gd +26 -0
  142. gap/pkg/semigroups/gap/main/graded.gi +355 -0
  143. gap/pkg/semigroups/gap/main/lambda-rho.gd +29 -0
  144. gap/pkg/semigroups/gap/main/lambda-rho.gi +514 -0
  145. gap/pkg/semigroups/gap/main/orbits.gd +24 -0
  146. gap/pkg/semigroups/gap/main/orbits.gi +512 -0
  147. gap/pkg/semigroups/gap/main/semiact.gd +20 -0
  148. gap/pkg/semigroups/gap/main/semiact.gi +821 -0
  149. gap/pkg/semigroups/gap/main/setup.gd +61 -0
  150. gap/pkg/semigroups/gap/main/setup.gi +1094 -0
  151. gap/pkg/semigroups/gap/obsolete.gd +9 -0
  152. gap/pkg/semigroups/gap/obsolete.gi +14 -0
  153. gap/pkg/semigroups/gap/options.g +55 -0
  154. gap/pkg/semigroups/gap/semigroups/grpperm.gd +12 -0
  155. gap/pkg/semigroups/gap/semigroups/grpperm.gi +177 -0
  156. gap/pkg/semigroups/gap/semigroups/semibipart.gd +28 -0
  157. gap/pkg/semigroups/gap/semigroups/semibipart.gi +570 -0
  158. gap/pkg/semigroups/gap/semigroups/semiboolmat.gd +20 -0
  159. gap/pkg/semigroups/gap/semigroups/semiboolmat.gi +104 -0
  160. gap/pkg/semigroups/gap/semigroups/semicons.gd +52 -0
  161. gap/pkg/semigroups/gap/semigroups/semicons.gi +1194 -0
  162. gap/pkg/semigroups/gap/semigroups/semidp.gd +13 -0
  163. gap/pkg/semigroups/gap/semigroups/semidp.gi +509 -0
  164. gap/pkg/semigroups/gap/semigroups/semieunit.gd +126 -0
  165. gap/pkg/semigroups/gap/semigroups/semieunit.gi +889 -0
  166. gap/pkg/semigroups/gap/semigroups/semiex.gd +104 -0
  167. gap/pkg/semigroups/gap/semigroups/semiex.gi +1590 -0
  168. gap/pkg/semigroups/gap/semigroups/semiffmat.gd +37 -0
  169. gap/pkg/semigroups/gap/semigroups/semiffmat.gi +565 -0
  170. gap/pkg/semigroups/gap/semigroups/semifp.gd +28 -0
  171. gap/pkg/semigroups/gap/semigroups/semifp.gi +1364 -0
  172. gap/pkg/semigroups/gap/semigroups/semigraph.gd +40 -0
  173. gap/pkg/semigroups/gap/semigroups/semigraph.gi +292 -0
  174. gap/pkg/semigroups/gap/semigroups/semigrp.gd +165 -0
  175. gap/pkg/semigroups/gap/semigroups/semigrp.gi +1225 -0
  176. gap/pkg/semigroups/gap/semigroups/semimaxplus.gd +72 -0
  177. gap/pkg/semigroups/gap/semigroups/semimaxplus.gi +710 -0
  178. gap/pkg/semigroups/gap/semigroups/semintmat.gd +13 -0
  179. gap/pkg/semigroups/gap/semigroups/semintmat.gi +74 -0
  180. gap/pkg/semigroups/gap/semigroups/semipbr.gd +19 -0
  181. gap/pkg/semigroups/gap/semigroups/semipbr.gi +139 -0
  182. gap/pkg/semigroups/gap/semigroups/semipperm.gd +27 -0
  183. gap/pkg/semigroups/gap/semigroups/semipperm.gi +711 -0
  184. gap/pkg/semigroups/gap/semigroups/semiquo.gd +14 -0
  185. gap/pkg/semigroups/gap/semigroups/semiquo.gi +97 -0
  186. gap/pkg/semigroups/gap/semigroups/semiringmat.gd +16 -0
  187. gap/pkg/semigroups/gap/semigroups/semiringmat.gi +21 -0
  188. gap/pkg/semigroups/gap/semigroups/semirms.gd +19 -0
  189. gap/pkg/semigroups/gap/semigroups/semirms.gi +977 -0
  190. gap/pkg/semigroups/gap/semigroups/semitrans.gd +49 -0
  191. gap/pkg/semigroups/gap/semigroups/semitrans.gi +909 -0
  192. gap/pkg/semigroups/gap/tools/display.gd +24 -0
  193. gap/pkg/semigroups/gap/tools/display.gi +749 -0
  194. gap/pkg/semigroups/gap/tools/io.gd +17 -0
  195. gap/pkg/semigroups/gap/tools/io.gi +543 -0
  196. gap/pkg/semigroups/gap/tools/iterators.gd +16 -0
  197. gap/pkg/semigroups/gap/tools/iterators.gi +253 -0
  198. gap/pkg/semigroups/gap/tools/utils.gd +19 -0
  199. gap/pkg/semigroups/gap/tools/utils.gi +756 -0
  200. gap/pkg/semigroups/gapbind14/.ccls +18 -0
  201. gap/pkg/semigroups/gapbind14/.clang-format +104 -0
  202. gap/pkg/semigroups/gapbind14/CPPLINT.cfg +5 -0
  203. gap/pkg/semigroups/gapbind14/LICENSE +674 -0
  204. gap/pkg/semigroups/gapbind14/README.md +76 -0
  205. gap/pkg/semigroups/gapbind14/demo/.gitignore +4 -0
  206. gap/pkg/semigroups/gapbind14/demo/LICENSE +293 -0
  207. gap/pkg/semigroups/gapbind14/demo/Makefile.gappkg +220 -0
  208. gap/pkg/semigroups/gapbind14/demo/Makefile.in +19 -0
  209. gap/pkg/semigroups/gapbind14/demo/PackageInfo.g +87 -0
  210. gap/pkg/semigroups/gapbind14/demo/README.md +17 -0
  211. gap/pkg/semigroups/gapbind14/demo/configure +34 -0
  212. gap/pkg/semigroups/gapbind14/demo/gap/gapbind_demo.gd +19 -0
  213. gap/pkg/semigroups/gapbind14/demo/gap/gapbind_demo.gi +10 -0
  214. gap/pkg/semigroups/gapbind14/demo/init.g +16 -0
  215. gap/pkg/semigroups/gapbind14/demo/makedoc.g +10 -0
  216. gap/pkg/semigroups/gapbind14/demo/read.g +6 -0
  217. gap/pkg/semigroups/gapbind14/demo/src/gapbind_demo.cc +142 -0
  218. gap/pkg/semigroups/gapbind14/demo/tst/testall.g +12 -0
  219. gap/pkg/semigroups/gapbind14/include/gapbind14/cpp_fn.hpp +223 -0
  220. gap/pkg/semigroups/gapbind14/include/gapbind14/gap_include.hpp +26 -0
  221. gap/pkg/semigroups/gapbind14/include/gapbind14/gapbind14.hpp +445 -0
  222. gap/pkg/semigroups/gapbind14/include/gapbind14/tame_free_fn.hpp +420 -0
  223. gap/pkg/semigroups/gapbind14/include/gapbind14/tame_mem_fn.hpp +556 -0
  224. gap/pkg/semigroups/gapbind14/include/gapbind14/to_cpp.hpp +162 -0
  225. gap/pkg/semigroups/gapbind14/include/gapbind14/to_gap.hpp +158 -0
  226. gap/pkg/semigroups/gapbind14/src/.clang-format +108 -0
  227. gap/pkg/semigroups/gapbind14/src/gapbind14.cpp +334 -0
  228. gap/pkg/semigroups/init.g +150 -0
  229. gap/pkg/semigroups/m4/ax_append_flag.m4 +50 -0
  230. gap/pkg/semigroups/m4/ax_check_compile_flag.m4 +53 -0
  231. gap/pkg/semigroups/m4/ax_check_hpcombi.m4 +121 -0
  232. gap/pkg/semigroups/m4/ax_check_libsemigroup.m4 +68 -0
  233. gap/pkg/semigroups/m4/ax_compare_version.m4 +177 -0
  234. gap/pkg/semigroups/m4/ax_cxx_compile_stdcxx.m4 +1009 -0
  235. gap/pkg/semigroups/m4/ax_cxx_compile_stdcxx_14.m4 +34 -0
  236. gap/pkg/semigroups/m4/ax_prefix_config_h.m4 +203 -0
  237. gap/pkg/semigroups/m4/ax_pthread.m4 +522 -0
  238. gap/pkg/semigroups/m4/find_gap.m4 +94 -0
  239. gap/pkg/semigroups/makedoc.g +153 -0
  240. gap/pkg/semigroups/prerequisites.sh +62 -0
  241. gap/pkg/semigroups/read.g +105 -0
  242. gap/pkg/semigroups/release.toml +6 -0
  243. gap/pkg/semigroups/tst/extreme/README +2 -0
  244. gap/pkg/semigroups/tst/extreme/attrinv.tst +703 -0
  245. gap/pkg/semigroups/tst/extreme/bipart.tst +2803 -0
  246. gap/pkg/semigroups/tst/extreme/closure.tst +652 -0
  247. gap/pkg/semigroups/tst/extreme/cong.tst +286 -0
  248. gap/pkg/semigroups/tst/extreme/conginv.tst +43 -0
  249. gap/pkg/semigroups/tst/extreme/examples.tst +2449 -0
  250. gap/pkg/semigroups/tst/extreme/freeband.tst +37 -0
  251. gap/pkg/semigroups/tst/extreme/greens-acting-regular.tst +27 -0
  252. gap/pkg/semigroups/tst/extreme/greens-acting.tst +1999 -0
  253. gap/pkg/semigroups/tst/extreme/ideals.tst +858 -0
  254. gap/pkg/semigroups/tst/extreme/inverse.tst +1025 -0
  255. gap/pkg/semigroups/tst/extreme/maximal.tst +856 -0
  256. gap/pkg/semigroups/tst/extreme/misc.tst +4236 -0
  257. gap/pkg/semigroups/tst/extreme/monoid_pkg.tst +1488 -0
  258. gap/pkg/semigroups/tst/extreme/properties.tst +914 -0
  259. gap/pkg/semigroups/tst/extreme/semibipart.tst +2837 -0
  260. gap/pkg/semigroups/tst/extreme/semieunit.tst +49 -0
  261. gap/pkg/semigroups/tst/extreme/semiffmat.tst +353 -0
  262. gap/pkg/semigroups/tst/extreme/semigroups.tst +245 -0
  263. gap/pkg/semigroups/tst/extreme/semiiter.tst +58 -0
  264. gap/pkg/semigroups/tst/extreme/semirms.tst +1091 -0
  265. gap/pkg/semigroups/tst/extreme/transform.tst +305 -0
  266. gap/pkg/semigroups/tst/extreme/translat.tst +44 -0
  267. gap/pkg/semigroups/tst/standard/README +2 -0
  268. gap/pkg/semigroups/tst/standard/attributes/acting.tst +388 -0
  269. gap/pkg/semigroups/tst/standard/attributes/attr.tst +2404 -0
  270. gap/pkg/semigroups/tst/standard/attributes/dual.tst +308 -0
  271. gap/pkg/semigroups/tst/standard/attributes/factor.tst +629 -0
  272. gap/pkg/semigroups/tst/standard/attributes/homomorph.tst +1134 -0
  273. gap/pkg/semigroups/tst/standard/attributes/inverse.tst +1521 -0
  274. gap/pkg/semigroups/tst/standard/attributes/isomorph.tst +435 -0
  275. gap/pkg/semigroups/tst/standard/attributes/isorms.tst +1147 -0
  276. gap/pkg/semigroups/tst/standard/attributes/maximal.tst +853 -0
  277. gap/pkg/semigroups/tst/standard/attributes/properties.tst +2028 -0
  278. gap/pkg/semigroups/tst/standard/attributes/semifp.tst +53 -0
  279. gap/pkg/semigroups/tst/standard/attributes/translat.tst +796 -0
  280. gap/pkg/semigroups/tst/standard/congruences/cong.tst +1044 -0
  281. gap/pkg/semigroups/tst/standard/congruences/conginv.tst +292 -0
  282. gap/pkg/semigroups/tst/standard/congruences/conglatt.tst +421 -0
  283. gap/pkg/semigroups/tst/standard/congruences/congpairs.tst +1011 -0
  284. gap/pkg/semigroups/tst/standard/congruences/congrees.tst +288 -0
  285. gap/pkg/semigroups/tst/standard/congruences/congrms.tst +701 -0
  286. gap/pkg/semigroups/tst/standard/congruences/congsemigraph.tst +422 -0
  287. gap/pkg/semigroups/tst/standard/congruences/congsimple.tst +311 -0
  288. gap/pkg/semigroups/tst/standard/congruences/conguniv.tst +259 -0
  289. gap/pkg/semigroups/tst/standard/congruences/congwordgraph.tst +330 -0
  290. gap/pkg/semigroups/tst/standard/elements/bipart.tst +783 -0
  291. gap/pkg/semigroups/tst/standard/elements/blocks.tst +166 -0
  292. gap/pkg/semigroups/tst/standard/elements/boolmat.tst +608 -0
  293. gap/pkg/semigroups/tst/standard/elements/elements.tst +117 -0
  294. gap/pkg/semigroups/tst/standard/elements/ffmat.tst +349 -0
  295. gap/pkg/semigroups/tst/standard/elements/maxplusmat.tst +613 -0
  296. gap/pkg/semigroups/tst/standard/elements/pbr.tst +506 -0
  297. gap/pkg/semigroups/tst/standard/elements/pperm.tst +32 -0
  298. gap/pkg/semigroups/tst/standard/elements/semiringmat.tst +601 -0
  299. gap/pkg/semigroups/tst/standard/elements/trans.tst +58 -0
  300. gap/pkg/semigroups/tst/standard/fp/freeband.tst +311 -0
  301. gap/pkg/semigroups/tst/standard/fp/freeinverse.tst +147 -0
  302. gap/pkg/semigroups/tst/standard/fp/tietze.tst +780 -0
  303. gap/pkg/semigroups/tst/standard/fp/word.tst +106 -0
  304. gap/pkg/semigroups/tst/standard/greens/acting-inverse.tst +545 -0
  305. gap/pkg/semigroups/tst/standard/greens/acting-regular.tst +396 -0
  306. gap/pkg/semigroups/tst/standard/greens/acting.tst +2033 -0
  307. gap/pkg/semigroups/tst/standard/greens/froidure-pin.tst +1831 -0
  308. gap/pkg/semigroups/tst/standard/greens/generic.tst +1436 -0
  309. gap/pkg/semigroups/tst/standard/ideals/acting.tst +279 -0
  310. gap/pkg/semigroups/tst/standard/ideals/froidure-pin.tst +178 -0
  311. gap/pkg/semigroups/tst/standard/ideals/ideals.tst +380 -0
  312. gap/pkg/semigroups/tst/standard/libsemigroups/cong.tst +310 -0
  313. gap/pkg/semigroups/tst/standard/libsemigroups/froidure-pin.tst +778 -0
  314. gap/pkg/semigroups/tst/standard/libsemigroups/sims1.tst +379 -0
  315. gap/pkg/semigroups/tst/standard/main/acting.tst +411 -0
  316. gap/pkg/semigroups/tst/standard/main/froidure-pin.tst +392 -0
  317. gap/pkg/semigroups/tst/standard/main/semiact.tst +203 -0
  318. gap/pkg/semigroups/tst/standard/main/setup.tst +1144 -0
  319. gap/pkg/semigroups/tst/standard/obsolete.tst +19 -0
  320. gap/pkg/semigroups/tst/standard/options.tst +54 -0
  321. gap/pkg/semigroups/tst/standard/semigroups/grpperm.tst +581 -0
  322. gap/pkg/semigroups/tst/standard/semigroups/semibipart.tst +2635 -0
  323. gap/pkg/semigroups/tst/standard/semigroups/semiboolmat.tst +1871 -0
  324. gap/pkg/semigroups/tst/standard/semigroups/semicons.tst +1173 -0
  325. gap/pkg/semigroups/tst/standard/semigroups/semidp.tst +739 -0
  326. gap/pkg/semigroups/tst/standard/semigroups/semieunit.tst +339 -0
  327. gap/pkg/semigroups/tst/standard/semigroups/semiex.tst +2055 -0
  328. gap/pkg/semigroups/tst/standard/semigroups/semiffmat.tst +746 -0
  329. gap/pkg/semigroups/tst/standard/semigroups/semifp.tst +2702 -0
  330. gap/pkg/semigroups/tst/standard/semigroups/semigraph.tst +133 -0
  331. gap/pkg/semigroups/tst/standard/semigroups/semigrp.tst +1112 -0
  332. gap/pkg/semigroups/tst/standard/semigroups/semimaxplus.tst +654 -0
  333. gap/pkg/semigroups/tst/standard/semigroups/semipbr.tst +2142 -0
  334. gap/pkg/semigroups/tst/standard/semigroups/semipperm.tst +2169 -0
  335. gap/pkg/semigroups/tst/standard/semigroups/semiquo.tst +278 -0
  336. gap/pkg/semigroups/tst/standard/semigroups/semirms.tst +3010 -0
  337. gap/pkg/semigroups/tst/standard/semigroups/semitrans.tst +2758 -0
  338. gap/pkg/semigroups/tst/standard/tools/display.tst +1040 -0
  339. gap/pkg/semigroups/tst/standard/tools/io.tst +363 -0
  340. gap/pkg/semigroups/tst/testinstall.tst +1815 -0
  341. gap/pkg/semigroups/tst/teststandard.g +22 -0
  342. gap/pkg/semigroups/tst/workspaces/load-workspace.tst +142 -0
  343. gap/pkg/semigroups/tst/workspaces/load.g +11 -0
  344. gap/pkg/semigroups/tst/workspaces/save-workspace.tst +166 -0
  345. gap/pkg/semigroups/tst/workspaces/save.g +14 -0
  346. passagemath_gap_pkg_semigroups-10.6.29.dist-info/METADATA +93 -0
  347. passagemath_gap_pkg_semigroups-10.6.29.dist-info/METADATA.bak +94 -0
  348. passagemath_gap_pkg_semigroups-10.6.29.dist-info/RECORD +356 -0
  349. passagemath_gap_pkg_semigroups-10.6.29.dist-info/WHEEL +5 -0
  350. passagemath_gap_pkg_semigroups-10.6.29.dist-info/top_level.txt +1 -0
  351. passagemath_gap_pkg_semigroups.libs/libgcc_s-0cd532bd.so.1 +0 -0
  352. passagemath_gap_pkg_semigroups.libs/libsemigroups-f0b7066b.so.2.0.0 +0 -0
  353. passagemath_gap_pkg_semigroups.libs/libstdc++-5d72f927.so.6.0.33 +0 -0
  354. sage/all__sagemath_gap_pkg_semigroups.py +1 -0
  355. sage/libs/all__sagemath_gap_pkg_semigroups.py +1 -0
  356. sage/libs/gap_pkg_semigroups.abi3.so +0 -0
@@ -0,0 +1,856 @@
1
+ ############################################################################
2
+ ##
3
+ #W extreme/maximal.tst
4
+ #Y Copyright (C) 2013-16 Wilf A. Wilson
5
+ ##
6
+ ## Licensing information can be found in the README file of this package.
7
+ ##
8
+ #############################################################################
9
+ ##
10
+
11
+ #@local B, C, G, R, R1, R2, R3, S, T, T3, U, a, acting, an, correct, gens, mat
12
+ #@local max, s1, s2, t1, t2
13
+ gap> START_TEST("Semigroups package: extreme/maximal.tst");
14
+ gap> LoadPackage("semigroups", false);;
15
+
16
+ #
17
+ gap> SEMIGROUPS.StartTest();;
18
+
19
+ # MaximalTest1: IsMaximalSubsemigroup
20
+ gap> S := Semigroup([
21
+ > Transformation([1, 2, 4, 4, 1]),
22
+ > Transformation([4, 4, 1, 4]),
23
+ > Transformation([5, 1, 4, 2, 3])]);
24
+ <transformation semigroup of degree 5 with 3 generators>
25
+ gap> T := Semigroup([
26
+ > Transformation([5, 1, 4, 2, 3]),
27
+ > Transformation([4, 4, 2, 4, 1]),
28
+ > Transformation([3, 1, 2, 2, 2])]);
29
+ <transformation semigroup of degree 5 with 3 generators>
30
+ gap> IsMaximalSubsemigroup(S, T);
31
+ true
32
+ gap> U := Semigroup([
33
+ > Transformation([5, 5, 1, 1, 5]),
34
+ > Transformation([2, 2, 3, 4, 3]),
35
+ > Transformation([3, 4, 5, 4, 3])]);
36
+ <transformation semigroup of degree 5 with 3 generators>
37
+ gap> IsSubsemigroup(S, U);
38
+ true
39
+ gap> IsMaximalSubsemigroup(S, U);
40
+ false
41
+ gap> IsSubsemigroup(U, S);
42
+ false
43
+ gap> IsMaximalSubsemigroup(U, S);
44
+ false
45
+ gap> IsSubsemigroup(S, S);
46
+ true
47
+ gap> S <> S;
48
+ false
49
+ gap> IsMaximalSubsemigroup(S, S);
50
+ false
51
+
52
+ # MaximalTest2: MaximalSubsemigroups for a Rees matrix semigroup
53
+ gap> G := Group([(1, 2), (3, 4)]);
54
+ Group([ (1,2), (3,4) ])
55
+ gap> mat := [[(), (1, 2), (1, 2)(3, 4)], [(), (1, 2), ()]];;
56
+ gap> R := ReesMatrixSemigroup(G, mat); # 3x2 RMS over C2 x C2
57
+ <Rees matrix semigroup 3x2 over Group([ (1,2), (3,4) ])>
58
+ gap> max := MaximalSubsemigroups(R);
59
+ [ <Rees matrix semigroup 3x1 over Group([ (1,2), (3,4) ])>,
60
+ <Rees matrix semigroup 3x1 over Group([ (1,2), (3,4) ])>,
61
+ <Rees matrix semigroup 2x2 over Group([ (1,2), (3,4) ])>,
62
+ <Rees matrix semigroup 2x2 over Group([ (1,2), (3,4) ])>,
63
+ <Rees matrix semigroup 2x2 over Group([ (1,2), (3,4) ])>,
64
+ <subsemigroup of 3x2 Rees matrix semigroup with 3 generators> ]
65
+ gap> NrMaximalSubsemigroups(R);
66
+ 6
67
+ gap> G := Group([(1, 2, 3)]);
68
+ Group([ (1,2,3) ])
69
+ gap> mat := [[(), (1, 2, 3)], [(), (1, 2, 3)]];;
70
+ gap> R := ReesMatrixSemigroup(G, mat); # 2x2 RMS over C3
71
+ <Rees matrix semigroup 2x2 over Group([ (1,2,3) ])>
72
+ gap> max := MaximalSubsemigroups(R);
73
+ [ <Rees matrix semigroup 2x1 over Group([ (1,2,3) ])>,
74
+ <Rees matrix semigroup 2x1 over Group([ (1,2,3) ])>,
75
+ <Rees matrix semigroup 1x2 over Group([ (1,2,3) ])>,
76
+ <Rees matrix semigroup 1x2 over Group([ (1,2,3) ])>,
77
+ <subsemigroup of 2x2 Rees matrix semigroup with 2 generators> ]
78
+ gap> G := Group([(1, 2, 3), (1, 2)]);;
79
+ gap> mat := [[(), (1, 3, 2)], [(1, 3), (2, 3)], [(1, 2, 3), ()]];;
80
+ gap> R := ReesMatrixSemigroup(G, mat); # 2x3 RMS over Sym(3)
81
+ <Rees matrix semigroup 2x3 over Group([ (1,2,3), (1,2) ])>
82
+ gap> max := MaximalSubsemigroups(R);
83
+ [ <Rees matrix semigroup 2x2 over Group([ (1,2,3), (1,2) ])>,
84
+ <Rees matrix semigroup 2x2 over Group([ (1,2,3), (1,2) ])>,
85
+ <Rees matrix semigroup 2x2 over Group([ (1,2,3), (1,2) ])>,
86
+ <Rees matrix semigroup 1x3 over Group([ (1,2,3), (1,2) ])>,
87
+ <Rees matrix semigroup 1x3 over Group([ (1,2,3), (1,2) ])>,
88
+ <subsemigroup of 2x3 Rees matrix semigroup with 3 generators> ]
89
+ gap> S := max[6]; # a non-RMS subsemigroup of an RMS
90
+ <subsemigroup of 2x3 Rees matrix semigroup with 3 generators>
91
+ gap> IsReesMatrixSubsemigroup(S);
92
+ true
93
+ gap> IsReesMatrixSemigroup(S);
94
+ false
95
+ gap> IsRegularSemigroup(S);
96
+ true
97
+ gap> max := MaximalSubsemigroups(S);;
98
+ gap> NrMaximalSubsemigroups(S);
99
+ 5
100
+ gap> IsDuplicateFreeList(max);
101
+ true
102
+ gap> T := FullTransformationMonoid(3);;
103
+ gap> mat := [[Transformation([3, 2, 3])]];;
104
+ gap> R := ReesMatrixSemigroup(T, mat); # 1x1 RMS over a non-group semigroup
105
+ <Rees matrix semigroup 1x1 over <full transformation monoid of degree 3>>
106
+ gap> IsReesMatrixSubsemigroup(R);
107
+ true
108
+ gap> IsReesMatrixSemigroup(R);
109
+ true
110
+ gap> IsGroup(T);
111
+ false
112
+ gap> IsSimpleSemigroup(T);
113
+ false
114
+ gap> NrMaximalSubsemigroups(R);
115
+ 6
116
+ gap> S := Semigroup([
117
+ > Transformation([1, 2, 1]),
118
+ > Transformation([1, 2, 2])]);
119
+ <transformation semigroup of degree 3 with 2 generators>
120
+ gap> mat := [[Transformation([1, 2, 1])]];;
121
+ gap> R := ReesMatrixSemigroup(S, mat); # simple 1x1 RMS over non-group semigroup
122
+ <Rees matrix semigroup 1x1 over <transformation semigroup of degree 3 with 2
123
+ generators>>
124
+ gap> IsReesMatrixSubsemigroup(R);
125
+ true
126
+ gap> IsReesMatrixSemigroup(R);
127
+ true
128
+ gap> IsGroup(S);
129
+ false
130
+ gap> IsSimpleSemigroup(S);
131
+ true
132
+ gap> MaximalSubsemigroups(R);
133
+ [ <subsemigroup of 1x1 Rees matrix semigroup with 1 generator>,
134
+ <subsemigroup of 1x1 Rees matrix semigroup with 1 generator> ]
135
+
136
+ # MaximalTest4: MaximalSubsemigroups for a Rees 0-matrix semigroup
137
+ gap> R := ReesZeroMatrixSemigroup(Group(()), [[0]]); # a non-regular RZMS
138
+ <Rees 0-matrix semigroup 1x1 over Group(())>
139
+ gap> MaximalSubsemigroups(R);
140
+ [ <commutative Rees 0-matrix semigroup ideal with 1 generator> ]
141
+ gap> R1 := ReesZeroMatrixSemigroup(Group(()), [[()]]); # 2-elt regular RZMS
142
+ <Rees 0-matrix semigroup 1x1 over Group(())>
143
+ gap> MaximalSubsemigroups(R1);
144
+ [ <subsemigroup of 1x1 Rees 0-matrix semigroup with 1 generator>,
145
+ <subsemigroup of 1x1 Rees 0-matrix semigroup with 1 generator> ]
146
+ gap> R2 := last[2]; # RZMS subsemigroup, but not itself a RZMS
147
+ <subsemigroup of 1x1 Rees 0-matrix semigroup with 1 generator>
148
+ gap> IsReesZeroMatrixSubsemigroup(R2);
149
+ true
150
+ gap> IsReesZeroMatrixSemigroup(R2);
151
+ false
152
+ gap> MaximalSubsemigroups(R2);
153
+ [ ]
154
+ gap> s1 := Transformation([1, 2, 1]);;
155
+ gap> s2 := Transformation([1, 2, 2]);;
156
+ gap> S := Semigroup([s1, s2]);
157
+ <transformation semigroup of degree 3 with 2 generators>
158
+ gap> R := ReesZeroMatrixSemigroup(S, [[s1]]); # 0-simple RZMS over non-gp
159
+ <Rees 0-matrix semigroup 1x1 over <transformation semigroup of size 2,
160
+ degree 3 with 2 generators>>
161
+ gap> IsReesZeroMatrixSemigroup(R);
162
+ true
163
+ gap> IsRegularSemigroup(R);
164
+ true
165
+ gap> G := UnderlyingSemigroup(R);
166
+ <transformation semigroup of size 2, degree 3 with 2 generators>
167
+ gap> IsGroup(G);
168
+ false
169
+ gap> IsZeroSimpleSemigroup(R);
170
+ true
171
+ gap> MaximalSubsemigroups(R);
172
+ [ <subsemigroup of 1x1 Rees 0-matrix semigroup with 2 generators>,
173
+ <subsemigroup of 1x1 Rees 0-matrix semigroup with 2 generators>,
174
+ <subsemigroup of 1x1 Rees 0-matrix semigroup with 2 generators> ]
175
+ gap> t1 := Transformation([4, 3, 1, 3]);;
176
+ gap> t2 := Transformation([3, 3, 2, 2]);;
177
+ gap> T := Semigroup([t1, t2]);
178
+ <transformation semigroup of degree 4 with 2 generators>
179
+ gap> IsRegularSemigroup(T);
180
+ true
181
+ gap> IsGroup(T);
182
+ false
183
+ gap> mat := [[t2, t1], [t1, t2]];;
184
+ gap> R3 := ReesZeroMatrixSemigroup(T, mat); # a RZMS over a non-group semigroup
185
+ <Rees 0-matrix semigroup 2x2 over <regular transformation semigroup
186
+ of size 39, degree 4 with 2 generators>>
187
+ gap> IsReesZeroMatrixSubsemigroup(R3);
188
+ true
189
+ gap> IsReesZeroMatrixSemigroup(R3);
190
+ true
191
+ gap> IsRegularSemigroup(R3);
192
+ true
193
+ gap> max := MaximalSubsemigroups(R3);;
194
+ gap> NrMaximalSubsemigroups(R3);
195
+ 10
196
+ gap> IsDuplicateFreeList(max);
197
+ true
198
+ gap> G := Group([(1, 2), (1, 2, 3)]);;
199
+ gap> mat := [[(1, 2), 0], [0, (2, 3)]];;
200
+ gap> R := ReesZeroMatrixSemigroup(G, mat); # un-connected 2x2 inverse RZMS / S3
201
+ <Rees 0-matrix semigroup 2x2 over Group([ (1,2), (1,2,3) ])>
202
+ gap> max := MaximalSubsemigroups(R);
203
+ [ <subsemigroup of 2x2 Rees 0-matrix semigroup with 5 generators>,
204
+ <subsemigroup of 2x2 Rees 0-matrix semigroup with 5 generators>,
205
+ <subsemigroup of 2x2 Rees 0-matrix semigroup with 5 generators>,
206
+ <subsemigroup of 2x2 Rees 0-matrix semigroup with 5 generators>,
207
+ <subsemigroup of 2x2 Rees 0-matrix semigroup with 5 generators>,
208
+ <subsemigroup of 2x2 Rees 0-matrix semigroup with 5 generators>,
209
+ <subsemigroup of 2x2 Rees 0-matrix semigroup with 5 generators>,
210
+ <subsemigroup of 2x2 Rees 0-matrix semigroup with 5 generators>,
211
+ <subsemigroup of 2x2 Rees 0-matrix semigroup with 5 generators>,
212
+ <subsemigroup of 2x2 Rees 0-matrix semigroup with 5 generators>,
213
+ <subsemigroup of 2x2 Rees 0-matrix semigroup with 5 generators>,
214
+ <subsemigroup of 2x2 Rees 0-matrix semigroup with 5 generators>,
215
+ <subsemigroup of 2x2 Rees 0-matrix semigroup with 5 generators> ]
216
+ gap> NrMaximalSubsemigroups(R);
217
+ 13
218
+ gap> IsDuplicateFreeList(max);
219
+ true
220
+ gap> ForAll(max, x -> IsMaximalSubsemigroup(R, x));
221
+ true
222
+ gap> G := Group([(1, 2, 3, 4), (1, 3, 2, 4)]);;
223
+ gap> mat := [
224
+ > [(), (4, 3), 0, 0, 0],
225
+ > [(1, 3)(2, 4), 0, 0, 0, 0],
226
+ > [0, 0, (4, 3), 0, 0],
227
+ > [0, 0, 0, (), 0],
228
+ > [0, 0, 0, (), ()],
229
+ > [0, 0, 0, (), 0]];;
230
+ gap> R := ReesZeroMatrixSemigroup(G, mat); # (3-component) 5x6 RZMS over Sym(4)
231
+ <Rees 0-matrix semigroup 5x6 over Group([ (1,2,3,4), (1,3,2,4) ])>
232
+ gap> NrMaximalSubsemigroups(R);
233
+ 116
234
+ gap> mat := [
235
+ > [(), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
236
+ > [0, (), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
237
+ > [0, 0, (), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
238
+ > [0, 0, 0, (), 0, 0, 0, 0, 0, 0, 0, 0, 0],
239
+ > [0, 0, 0, 0, (), 0, 0, 0, 0, 0, 0, 0, 0],
240
+ > [0, 0, 0, 0, 0, (), 0, 0, 0, 0, 0, 0, 0],
241
+ > [0, 0, 0, 0, 0, 0, (), 0, 0, 0, 0, 0, 0],
242
+ > [0, 0, 0, 0, 0, 0, 0, (), 0, 0, 0, 0, 0],
243
+ > [0, 0, 0, 0, 0, 0, 0, 0, (), 0, 0, 0, 0],
244
+ > [0, 0, 0, 0, 0, 0, 0, 0, 0, (), 0, 0, 0],
245
+ > [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (), 0, 0],
246
+ > [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (), 0],
247
+ > [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ()]];;
248
+ gap> G := Group(());;
249
+ gap> R := ReesZeroMatrixSemigroup(G, mat);; # 13x13 inverse RZMS over triv group
250
+ gap> NrMaximalSubsemigroups(R);
251
+ 8190
252
+ gap> G := Group([(1, 4, 2), (1, 4, 5)]);;
253
+ gap> mat := [
254
+ > [0, 0, (1, 4, 2), (1, 4, 5), 0],
255
+ > [0, (), (1, 2, 5), 0, 0],
256
+ > [(), (1, 2, 5), 0, 0, 0],
257
+ > [(), 0, 0, 0, (1, 5, 2)],
258
+ > [0, 0, 0, (1, 4, 2), (1, 4, 5)]];;
259
+ gap> R1 := ReesZeroMatrixSemigroup(G, mat); # a connected 5x5 RZMS over Sym(3)
260
+ <Rees 0-matrix semigroup 5x5 over Group([ (1,4,2), (1,4,5) ])>
261
+ gap> max := MaximalSubsemigroups(R1);
262
+ [ <Rees 0-matrix semigroup 5x4 over Group([ (1,4,2), (1,4,5) ])>,
263
+ <Rees 0-matrix semigroup 5x4 over Group([ (1,4,2), (1,4,5) ])>,
264
+ <Rees 0-matrix semigroup 5x4 over Group([ (1,4,2), (1,4,5) ])>,
265
+ <Rees 0-matrix semigroup 5x4 over Group([ (1,4,2), (1,4,5) ])>,
266
+ <Rees 0-matrix semigroup 5x4 over Group([ (1,4,2), (1,4,5) ])>,
267
+ <Rees 0-matrix semigroup 4x5 over Group([ (1,4,2), (1,4,5) ])>,
268
+ <Rees 0-matrix semigroup 4x5 over Group([ (1,4,2), (1,4,5) ])>,
269
+ <Rees 0-matrix semigroup 4x5 over Group([ (1,4,2), (1,4,5) ])>,
270
+ <Rees 0-matrix semigroup 4x5 over Group([ (1,4,2), (1,4,5) ])>,
271
+ <Rees 0-matrix semigroup 4x5 over Group([ (1,4,2), (1,4,5) ])>,
272
+ <subsemigroup of 5x5 Rees 0-matrix semigroup with 10 generators>,
273
+ <subsemigroup of 5x5 Rees 0-matrix semigroup with 10 generators>,
274
+ <subsemigroup of 5x5 Rees 0-matrix semigroup with 10 generators>,
275
+ <subsemigroup of 5x5 Rees 0-matrix semigroup with 10 generators>,
276
+ <subsemigroup of 5x5 Rees 0-matrix semigroup with 10 generators>,
277
+ <subsemigroup of 5x5 Rees 0-matrix semigroup with 10 generators>,
278
+ <subsemigroup of 5x5 Rees 0-matrix semigroup with 10 generators>,
279
+ <subsemigroup of 5x5 Rees 0-matrix semigroup with 10 generators>,
280
+ <subsemigroup of 5x5 Rees 0-matrix semigroup with 10 generators>,
281
+ <subsemigroup of 5x5 Rees 0-matrix semigroup with 10 generators>,
282
+ <subsemigroup of 5x5 Rees 0-matrix semigroup with 10 generators>,
283
+ <subsemigroup of 5x5 Rees 0-matrix semigroup with 10 generators>,
284
+ <subsemigroup of 5x5 Rees 0-matrix semigroup with 10 generators>,
285
+ <subsemigroup of 5x5 Rees 0-matrix semigroup with 10 generators>,
286
+ <subsemigroup of 5x5 Rees 0-matrix semigroup with 10 generators>,
287
+ <subsemigroup of 5x5 Rees 0-matrix semigroup with 10 generators> ]
288
+ gap> NrMaximalSubsemigroups(R1);
289
+ 26
290
+
291
+ # MaximalTest5: MaximalSubsemigroups for a transformation semigroup
292
+ gap> S := Semigroup(Transformation([])); # trivial semigroup
293
+ <trivial transformation group of degree 0 with 1 generator>
294
+ gap> MaximalSubsemigroups(S);
295
+ [ ]
296
+ gap> S := Semigroup(Transformation([2, 3, 1])); # group C3 as semigroup
297
+ <commutative transformation semigroup of degree 3 with 1 generator>
298
+ gap> MaximalSubsemigroups(S);
299
+ [ <trivial transformation group of degree 0 with 1 generator> ]
300
+ gap> S := Semigroup([
301
+ > Transformation([1, 2, 1]),
302
+ > Transformation([1, 2, 2])]); # simple semigroup
303
+ <transformation semigroup of degree 3 with 2 generators>
304
+ gap> max := MaximalSubsemigroups(S);
305
+ [ <commutative transformation semigroup of degree 3 with 1 generator>,
306
+ <commutative transformation semigroup of degree 3 with 1 generator> ]
307
+ gap> List(max, Size);
308
+ [ 1, 1 ]
309
+ gap> S := Monoid([
310
+ > Transformation([1, 1])]); # simple semigroup with adjoined zero
311
+ <commutative transformation monoid of degree 2 with 1 generator>
312
+ gap> max := MaximalSubsemigroups(S);;
313
+ gap> ForAll(max, IsTrivial);
314
+ true
315
+ gap> S := Monoid([
316
+ > Transformation([1, 1, 2])]); # semigroup with gen in non-regular D-class
317
+ <commutative transformation monoid of degree 3 with 1 generator>
318
+ gap> max := MaximalSubsemigroups(S);;
319
+ gap> List(max, Elements);
320
+ [ [ Transformation( [ 1, 1, 1 ] ), Transformation( [ 1, 1, 2 ] ) ],
321
+ [ Transformation( [ 1, 1, 1 ] ), IdentityTransformation ] ]
322
+ gap> S := Monoid([
323
+ > Transformation([1, 1, 1, 1, 1]), # semigroup with a result arising
324
+ > Transformation([2, 1, 4, 3, 2]), # from non-maximal regular D-class
325
+ > Transformation([2, 1, 4, 3, 4])]); # which intersects every H-class
326
+ <transformation monoid of degree 5 with 3 generators>
327
+ gap> max := MaximalSubsemigroups(S);;
328
+ gap> NrMaximalSubsemigroups(S);
329
+ 5
330
+ gap> IsDuplicateFreeList(max);
331
+ true
332
+ gap> ForAll(max, x -> IsMaximalSubsemigroup(S, x));
333
+ true
334
+ gap> List(max, Elements);
335
+ [ [ Transformation( [ 1, 1, 1, 1, 1 ] ), Transformation( [ 1, 2, 3, 4, 1 ] ),
336
+ Transformation( [ 1, 2, 3, 4, 3 ] ), Transformation( [ 2, 1, 4, 3, 2 ] )
337
+ , Transformation( [ 2, 1, 4, 3, 4 ] ),
338
+ Transformation( [ 2, 2, 2, 2, 2 ] ) ],
339
+ [ Transformation( [ 1, 2, 3, 4, 1 ] ), Transformation( [ 1, 2, 3, 4, 3 ] ),
340
+ IdentityTransformation, Transformation( [ 2, 1, 4, 3, 2 ] ),
341
+ Transformation( [ 2, 1, 4, 3, 4 ] ) ],
342
+ [ Transformation( [ 1, 1, 1, 1, 1 ] ), Transformation( [ 1, 2, 3, 4, 3 ] ),
343
+ IdentityTransformation, Transformation( [ 2, 1, 4, 3, 4 ] ),
344
+ Transformation( [ 2, 2, 2, 2, 2 ] ) ],
345
+ [ Transformation( [ 1, 1, 1, 1, 1 ] ), Transformation( [ 1, 2, 3, 4, 1 ] ),
346
+ IdentityTransformation, Transformation( [ 2, 1, 4, 3, 2 ] ),
347
+ Transformation( [ 2, 2, 2, 2, 2 ] ) ],
348
+ [ Transformation( [ 1, 1, 1, 1, 1 ] ), Transformation( [ 1, 2, 3, 4, 1 ] ),
349
+ Transformation( [ 1, 2, 3, 4, 3 ] ), IdentityTransformation,
350
+ Transformation( [ 2, 2, 2, 2, 2 ] ) ] ]
351
+ gap> S := Monoid([
352
+ > Transformation([2, 2, 4, 4, 6, 6, 8, 8, 10, 10, 12, 12, 14, 14, 16, 16,
353
+ > 18, 18, 20, 20, 22, 22, 24, 24, 14]),
354
+ > Transformation([12, 12, 10, 10, 8, 8, 6, 6, 4, 4, 2, 2, 24, 24, 22, 22,
355
+ > 20, 20, 18, 18, 16, 16, 14, 14, 12]),
356
+ > Transformation([5, 5, 7, 7, 1, 1, 3, 3, 11, 11, 9, 9, 17, 17, 19, 19, 13,
357
+ > 13, 15, 15, 23, 23, 21, 21, 5])]); # highlights a special case
358
+ <transformation monoid of degree 25 with 3 generators>
359
+ gap> max := MaximalSubsemigroups(S);;
360
+ gap> NrMaximalSubsemigroups(S);
361
+ 9
362
+ gap> correct := [
363
+ > Semigroup([
364
+ > Transformation([2, 2, 4, 4, 6, 6, 8, 8, 10, 10, 12, 12, 14, 14, 16,
365
+ > 16, 18, 18, 20, 20, 22, 22, 24, 24, 14]),
366
+ > Transformation([5, 5, 7, 7, 1, 1, 3, 3, 11, 11, 9, 9, 17, 17, 19, 19,
367
+ > 13, 13, 15, 15, 23, 23, 21, 21, 5]),
368
+ > Transformation([12, 12, 10, 10, 8, 8, 6, 6, 4, 4, 2, 2, 24, 24, 22,
369
+ > 22, 20, 20, 18, 18, 16, 16, 14, 14, 12])]),
370
+ > Monoid([
371
+ > Transformation([3, 3, 1, 1, 9, 9, 11, 11, 5, 5, 7, 7, 15, 15, 13, 13,
372
+ > 21, 21, 23, 23, 17, 17, 19, 19, 15]),
373
+ > Transformation([11, 11, 9, 9, 7, 7, 5, 5, 3, 3, 1, 1, 23, 23, 21, 21,
374
+ > 19, 19, 17, 17, 15, 15, 13, 13, 11])]),
375
+ > Monoid([
376
+ > Transformation([10, 10, 12, 12, 4, 4, 2, 2, 8, 8, 6, 6, 22, 22, 24,
377
+ > 24, 16, 16, 14, 14, 20, 20, 18, 18, 22]),
378
+ > Transformation([12, 12, 10, 10, 8, 8, 6, 6, 4, 4, 2, 2, 24, 24, 22,
379
+ > 22, 20, 20, 18, 18, 16, 16, 14, 14, 12])]),
380
+ > Monoid([
381
+ > Transformation([8, 8, 6, 6, 12, 12, 10, 10, 2, 2, 4, 4, 20, 20, 18,
382
+ > 18, 24, 24, 22, 22, 14, 14, 16, 16, 8]),
383
+ > Transformation([11, 11, 9, 9, 7, 7, 5, 5, 3, 3, 1, 1, 23, 23, 21, 21,
384
+ > 19, 19, 17, 17, 15, 15, 13, 13, 11])]),
385
+ > Monoid([
386
+ > Transformation([1, 1, 3, 3, 5, 5, 7, 7, 9, 9, 11, 11, 13, 13, 15, 15,
387
+ > 17, 17, 19, 19, 21, 21, 23, 23, 13]),
388
+ > Transformation([10, 10, 12, 12, 4, 4, 2, 2, 8, 8, 6, 6, 22, 22, 24,
389
+ > 24, 16, 16, 14, 14, 20, 20, 18, 18, 22]),
390
+ > Transformation([12, 12, 10, 10, 8, 8, 6, 6, 4, 4, 2, 2, 24, 24, 22,
391
+ > 22, 20, 20, 18, 18, 16, 16, 14, 14, 24])]),
392
+ > Monoid([
393
+ > Transformation([1, 1, 3, 3, 5, 5, 7, 7, 9, 9, 11, 11, 13, 13, 15, 15,
394
+ > 17, 17, 19, 19, 21, 21, 23, 23, 1]),
395
+ > Transformation([10, 10, 12, 12, 4, 4, 2, 2, 8, 8, 6, 6, 22, 22, 24,
396
+ > 24, 16, 16, 14, 14, 20, 20, 18, 18, 22])]),
397
+ > Monoid([
398
+ > Transformation([1, 1, 3, 3, 5, 5, 7, 7, 9, 9, 11, 11, 13, 13, 15, 15,
399
+ > 17, 17, 19, 19, 21, 21, 23, 23, 1]),
400
+ > Transformation([12, 12, 10, 10, 8, 8, 6, 6, 4, 4, 2, 2, 24, 24, 22,
401
+ > 22, 20, 20, 18, 18, 16, 16, 14, 14, 24])]),
402
+ > Monoid([
403
+ > Transformation([1, 1, 3, 3, 5, 5, 7, 7, 9, 9, 11, 11, 13, 13, 15, 15,
404
+ > 17, 17, 19, 19, 21, 21, 23, 23, 1]),
405
+ > Transformation([6, 6, 8, 8, 2, 2, 4, 4, 12, 12, 10, 10, 18, 18, 20,
406
+ > 20, 14, 14, 16, 16, 24, 24, 22, 22, 18])]),
407
+ > Monoid([
408
+ > Transformation([1, 1, 3, 3, 5, 5, 7, 7, 9, 9, 11, 11, 13, 13, 15, 15,
409
+ > 17, 17, 19, 19, 21, 21, 23, 23, 1]),
410
+ > Transformation([4, 4, 2, 2, 10, 10, 12, 12, 6, 6, 8, 8, 16, 16, 14,
411
+ > 14, 22, 22, 24, 24, 18, 18, 20, 20, 16])])];;
412
+ gap> ForAll(max, x -> IsMaximalSubsemigroup(S, x));
413
+ true
414
+ gap> T3 := FullTransformationMonoid(3); # Trans(3)
415
+ <full transformation monoid of degree 3>
416
+ gap> max := MaximalSubsemigroups(T3);;
417
+ gap> IsDuplicateFreeList(max);
418
+ true
419
+ gap> NrMaximalSubsemigroups(T3);
420
+ 5
421
+ gap> correct := [
422
+ > Semigroup([
423
+ > Transformation([2, 3, 1]),
424
+ > Transformation([3, 1, 1])]),
425
+ > Semigroup([
426
+ > Transformation([1, 3, 2]),
427
+ > Transformation([3, 1, 1]),
428
+ > Transformation([3, 3, 2]),
429
+ > Transformation([1, 3, 1])]),
430
+ > Semigroup([Transformation([2, 1]),
431
+ > Transformation([3, 3, 1]),
432
+ > Transformation([1, 3, 3]),
433
+ > Transformation([1, 2, 2])]),
434
+ > Semigroup([Transformation([3, 2, 1]),
435
+ > Transformation([1, 2, 1]),
436
+ > Transformation([3, 3, 1]),
437
+ > Transformation([1, 1, 2])]),
438
+ > Semigroup([Transformation([2, 1]),
439
+ > Transformation([2, 3, 1]),
440
+ > Transformation([2, 2, 2])])];;
441
+ gap> max = correct or max = correct{[1, 3, 4, 2, 5]};
442
+ true
443
+ gap> S := Semigroup([
444
+ > Transformation([2, 1, 5, 2, 4]),
445
+ > Transformation([2, 3, 4, 3, 1]),
446
+ > Transformation([3, 4, 1, 4, 3]),
447
+ > Transformation([3, 4, 2, 2, 2]),
448
+ > Transformation([5, 1, 1, 2, 3])]); # A random example
449
+ <transformation semigroup of degree 5 with 5 generators>
450
+ gap> max := MaximalSubsemigroups(S);;
451
+ gap> NrMaximalSubsemigroups(S);
452
+ 8
453
+ gap> correct := [
454
+ > Semigroup([
455
+ > Transformation([1, 5, 3, 1, 2]),
456
+ > Transformation([2, 1, 5, 2, 4]),
457
+ > Transformation([2, 3, 4, 3, 1]),
458
+ > Transformation([3, 2, 2, 1, 4]),
459
+ > Transformation([3, 4, 1, 4, 3]),
460
+ > Transformation([3, 4, 2, 2, 2]),
461
+ > Transformation([4, 2, 2, 1])]),
462
+ > Semigroup([
463
+ > Transformation([1, 5, 3, 1, 2]),
464
+ > Transformation([2, 3, 4, 3, 1]),
465
+ > Transformation([3, 4, 1, 4, 3]),
466
+ > Transformation([3, 4, 2, 2, 2]),
467
+ > Transformation([4, 2, 2, 1]),
468
+ > Transformation([4, 3, 1, 4, 3]),
469
+ > Transformation([5, 1, 1, 2, 3])]),
470
+ > Semigroup([
471
+ > Transformation([1, 2, 2, 3, 4]),
472
+ > Transformation([2, 1, 1, 5, 3]),
473
+ > Transformation([2, 1, 5, 2, 4]),
474
+ > Transformation([2, 3, 4, 3, 1]),
475
+ > Transformation([3, 1, 5, 3, 1]),
476
+ > Transformation([3, 4, 1, 4, 3]),
477
+ > Transformation([3, 4, 2, 2, 2])]),
478
+ > Semigroup([
479
+ > Transformation([2, 1, 4, 2, 3]),
480
+ > Transformation([2, 3, 4, 3, 1]),
481
+ > Transformation([2, 4, 5, 2, 1]),
482
+ > Transformation([3, 4, 1, 4, 3]),
483
+ > Transformation([3, 4, 2, 2, 2]),
484
+ > Transformation([5, 1, 1, 2, 3])]),
485
+ > Semigroup([
486
+ > Transformation([1, 2, 2, 3, 4]),
487
+ > Transformation([2, 1, 5, 2, 4]),
488
+ > Transformation([2, 3, 4, 3, 4]),
489
+ > Transformation([3, 4, 1, 4, 3]),
490
+ > Transformation([3, 4, 2, 2, 2]),
491
+ > Transformation([3, 4, 3, 4, 2]),
492
+ > Transformation([5, 1, 1, 2, 3])]),
493
+ > Semigroup([
494
+ > Transformation([2, 1, 5, 2, 4]),
495
+ > Transformation([2, 3, 4, 3, 1]),
496
+ > Transformation([3, 4, 2, 4, 3]),
497
+ > Transformation([4, 3, 2, 2, 2]),
498
+ > Transformation([5, 1, 1, 2, 3])]),
499
+ > Semigroup([
500
+ > Transformation([2, 1, 5, 2, 4]),
501
+ > Transformation([2, 3, 4, 3, 1]),
502
+ > Transformation([4, 3, 1, 3, 4]),
503
+ > Transformation([5, 1, 1, 2, 3]),
504
+ > Transformation([5, 5, 2, 2, 2])]),
505
+ > Semigroup([
506
+ > Transformation([2, 1, 5, 2, 4]),
507
+ > Transformation([2, 3, 4, 3, 1]),
508
+ > Transformation([4, 3, 1, 1, 1]),
509
+ > Transformation([5, 1, 1, 2, 3])])];;
510
+ gap> max = correct or max = correct{[2, 1, 4, 3, 5, 6, 8, 7]};
511
+ true
512
+
513
+ # MaximalTest7: MaximalSubsemigroups for an inverse semigroup of partial
514
+ # permutations
515
+ gap> gens := [
516
+ > PartialPerm([1, 3, 4, 5], [6, 5, 2, 4]),
517
+ > PartialPerm([1, 2, 3, 4, 6], [5, 4, 3, 1, 6]),
518
+ > PartialPerm([1, 2, 5, 7], [3, 1, 4, 6])];;
519
+ gap> S := InverseSemigroup(gens); # a random inverse semigroup of partial perms
520
+ <inverse partial perm semigroup of rank 7 with 3 generators>
521
+ gap> max := MaximalSubsemigroups(S);;
522
+ gap> NrMaximalSubsemigroups(S);
523
+ 6
524
+ gap> IsDuplicateFreeList(max);
525
+ true
526
+ gap> a := List(max, Size);;
527
+ gap> Sort(a);
528
+ gap> a;
529
+ [ 713, 713, 714, 714, 715, 715 ]
530
+ gap> gens := [PartialPerm([1, 2, 3, 4], [3, 2, 5, 4]),
531
+ > PartialPerm([1, 2, 4], [3, 5, 4]),
532
+ > PartialPerm([1, 2, 3, 4], [5, 2, 3, 1]),
533
+ > PartialPerm([1, 3, 4, 5], [5, 3, 4, 1]),
534
+ > PartialPerm([1, 2, 3, 4, 5], [5, 4, 3, 2, 1])];;
535
+ gap> S := InverseSemigroup(gens); # a random inverse semigroup of partial perms
536
+ <inverse partial perm semigroup of rank 5 with 5 generators>
537
+ gap> max := MaximalSubsemigroups(S);;
538
+ gap> NrMaximalSubsemigroups(S);
539
+ 9
540
+ gap> List(max, Size);
541
+ [ 924, 924, 892, 892, 892, 892, 892, 892, 955 ]
542
+ gap> correct := [
543
+ > Semigroup([
544
+ > PartialPerm([2, 3, 4, 5], [2, 4, 3, 5]),
545
+ > PartialPerm([2, 3, 4, 5], [4, 5, 2, 3]),
546
+ > PartialPerm([1, 2, 3, 5], [1, 3, 2, 5]),
547
+ > PartialPerm([1, 2, 3, 5], [2, 4, 3, 5]),
548
+ > PartialPerm([1, 2, 3, 5], [3, 1, 5, 2]),
549
+ > PartialPerm([1, 2, 3, 4, 5], [5, 4, 3, 2, 1])]),
550
+ > Semigroup([
551
+ > PartialPerm([2, 3, 4, 5], [2, 1, 4, 3]),
552
+ > PartialPerm([2, 3, 4, 5], [2, 4, 3, 5]),
553
+ > PartialPerm([2, 3, 4, 5], [2, 5, 1, 3]),
554
+ > PartialPerm([1, 2, 3, 5], [3, 5, 1, 2]),
555
+ > PartialPerm([1, 2, 3, 5], [5, 2, 3, 1]),
556
+ > PartialPerm([1, 2, 3, 4, 5], [5, 4, 3, 2, 1])]),
557
+ > Semigroup([
558
+ > PartialPerm([2, 3, 4, 5], [1, 3, 2, 5]),
559
+ > PartialPerm([2, 3, 4, 5], [2, 4, 3, 5]),
560
+ > PartialPerm([2, 3, 4, 5], [5, 4, 3, 2]),
561
+ > PartialPerm([1, 2, 3, 5], [2, 4, 3, 5]),
562
+ > PartialPerm([1, 2, 3, 4, 5], [5, 4, 3, 2, 1])]),
563
+ > Semigroup([
564
+ > PartialPerm([2, 3, 4, 5], [2, 4, 3, 5]),
565
+ > PartialPerm([2, 3, 4, 5], [2, 5, 1, 3]),
566
+ > PartialPerm([2, 3, 4, 5], [5, 4, 3, 2]),
567
+ > PartialPerm([1, 3, 4, 5], [3, 5, 2, 4]),
568
+ > PartialPerm([1, 2, 3, 4, 5], [5, 4, 3, 2, 1])]),
569
+ > Semigroup([
570
+ > PartialPerm([2, 3, 4, 5], [1, 3, 2, 5]),
571
+ > PartialPerm([2, 3, 4, 5], [4, 5, 2, 3]),
572
+ > PartialPerm([2, 3, 4, 5], [5, 4, 3, 2]),
573
+ > PartialPerm([1, 2, 3, 5], [2, 4, 3, 5]),
574
+ > PartialPerm([1, 2, 3, 4, 5], [5, 4, 3, 2, 1])]),
575
+ > Semigroup([
576
+ > PartialPerm([2, 3, 4, 5], [4, 5, 2, 3]),
577
+ > PartialPerm([2, 3, 4, 5], [5, 4, 3, 1]),
578
+ > PartialPerm([2, 3, 4, 5], [5, 4, 3, 2]),
579
+ > PartialPerm([1, 2, 3, 5], [2, 3, 4, 5]),
580
+ > PartialPerm([1, 2, 3, 4, 5], [5, 4, 3, 2, 1])]),
581
+ > Semigroup([
582
+ > PartialPerm([2, 3, 4, 5], [1, 3, 2, 5]),
583
+ > PartialPerm([2, 3, 4, 5], [4, 2, 5, 3]),
584
+ > PartialPerm([1, 3, 4, 5], [5, 3, 4, 2]),
585
+ > PartialPerm([1, 2, 3, 4, 5], [5, 4, 3, 2, 1])]),
586
+ > Semigroup([
587
+ > PartialPerm([2, 3, 4, 5], [1, 2, 3, 5]),
588
+ > PartialPerm([2, 3, 4, 5], [4, 2, 5, 3]),
589
+ > PartialPerm([1, 3, 4, 5], [5, 4, 3, 2]),
590
+ > PartialPerm([1, 2, 3, 4, 5], [5, 4, 3, 2, 1])]),
591
+ > Monoid([
592
+ > PartialPerm([1, 2, 3, 4], [3, 2, 5, 4]),
593
+ > PartialPerm([1, 2, 3, 4], [5, 2, 3, 1]),
594
+ > PartialPerm([2, 3, 4, 5], [2, 1, 4, 3]),
595
+ > PartialPerm([2, 3, 4, 5], [2, 4, 3, 5]),
596
+ > PartialPerm([2, 3, 4, 5], [4, 1, 5, 3]),
597
+ > PartialPerm([2, 3, 4, 5], [4, 5, 2, 3]),
598
+ > PartialPerm([1, 3, 4, 5], [3, 5, 2, 4]),
599
+ > PartialPerm([1, 2, 3, 5], [4, 2, 3, 1])])];;
600
+ gap> max = correct or max = correct{[1, 2, 4, 3, 5, 6, 8, 7, 9]};
601
+ true
602
+
603
+ # MaximalTest8: MaximalSubsemigroups for a semigroup of partitions
604
+ gap> B := PartitionMonoid(3); # partition monoid of degree 3
605
+ <regular bipartition *-monoid of size 203, degree 3 with 4 generators>
606
+ gap> max := MaximalSubsemigroups(B);;
607
+ gap> NrMaximalSubsemigroups(B);
608
+ 8
609
+ gap> List(max, Size);
610
+ [ 200, 199, 199, 199, 167, 167, 167, 167 ]
611
+ gap> S := max[1];; # the first maximal subsemigroup of partition monoid 3
612
+ gap> NrMaximalSubsemigroups(S);
613
+ 5
614
+
615
+ # a random example
616
+ gap> B := Semigroup([
617
+ > Bipartition([[1, 2, -4], [3, 4, 5, 7], [6, -5, -7], [-1, -3, -6], [-2]]),
618
+ > Bipartition([[1, 5, 6, -2, -4, -6, -7], [2, 3, 4, -3, -5], [7, -1]]),
619
+ > Bipartition([[1, 6], [2, 3, 4], [5], [7, -6, -7], [-1, -3, -4], [-2], [-5]]),
620
+ > Bipartition([[1, -4], [2, 3, 7], [4, 5, -7], [6, -1, -2, -3, -5], [-6]]),
621
+ > Bipartition([[1, 7, -3], [2, 4, 5, -4], [3, 6], [-1], [-2], [-5], [-6],
622
+ > [-7]]),
623
+ > Bipartition([[1, 5, -2, -4, -6, -7], [2, -1, -3, -5], [3, 4, 6, 7]])]);
624
+ <bipartition semigroup of degree 7 with 6 generators>
625
+ gap> max := MaximalSubsemigroups(B);;
626
+ gap> NrMaximalSubsemigroups(B);
627
+ 7
628
+ gap> correct := [
629
+ > Semigroup([
630
+ > Bipartition([[1, 2, 6, -6, -7], [3, 4, 5, 7], [-1, -3, -4], [-2], [-5]]),
631
+ > Bipartition([[1, 2], [3, 4, 5, 7], [6, -6, -7], [-1, -3, -4], [-2], [-5]]),
632
+ > Bipartition([[1, 5, 6, -2, -4, -6, -7], [2, 3, 4, -3, -5], [7, -1]]),
633
+ > Bipartition([[1, 6], [2, 3, 4], [5], [7, -4, -5, -7], [-1, -3, -6], [-2]]),
634
+ > Bipartition([[1, 6], [2, 3, 4], [5], [7, -4], [-1, -3, -6], [-2],
635
+ > [-5, -7]]),
636
+ > Bipartition([[1, -4], [2, 3, 7], [4, 5, -7], [6, -1, -2, -3, -5], [-6]]),
637
+ > Bipartition([[1, 7, -3], [2, 4, 5, -4], [3, 6], [-1], [-2], [-5], [-6],
638
+ > [-7]]),
639
+ > Bipartition([[1, 5, -2, -4, -6, -7], [2, -1, -3, -5], [3, 4, 6, 7]])]),
640
+ > Semigroup([
641
+ > Bipartition([[1, 2, 3, 4, 5, 6, -1, -2, -3, -5, -7], [7, -4], [-6]]),
642
+ > Bipartition([[1, 2, 6, -3, -5], [3, 4, 5, 7], [-1], [-2, -4, -6, -7]]),
643
+ > Bipartition([[1, 2, -4], [3, 4, 5, 7], [6, -5, -7], [-1, -3, -6], [-2]]),
644
+ > Bipartition([[1, 6], [2, 3, 4], [5], [7, -6, -7], [-1, -3, -4], [-2],
645
+ > [-5]]),
646
+ > Bipartition([[1, 6, -2, -3, -4, -5, -6, -7], [2, 3, 7], [4, 5, -1]]),
647
+ > Bipartition([[1, -4], [2, 3, 7], [4, 5, -7], [6, -1, -2, -3, -5], [-6]]),
648
+ > Bipartition([[1, 7, -3], [2, 4, 5, -4], [3, 6], [-1], [-2], [-5], [-6],
649
+ > [-7]]),
650
+ > Bipartition([[1, 5, -2, -4, -6, -7], [2, -1, -3, -5], [3, 4, 6, 7]])]),
651
+ > Semigroup([
652
+ > Bipartition([[1, 2, -4], [3, 4, 5, 7], [6, -5, -7], [-1, -3, -6], [-2]]),
653
+ > Bipartition([[1, 5, 6, -2, -4, -6, -7], [2, 3, 4, -3, -5], [7, -1]]),
654
+ > Bipartition([[1, 6], [2, 3, 4], [5], [7, -4, -5, -7], [-1, -3, -6], [-2]]),
655
+ > Bipartition([[1, 6], [2, 3, 4], [5], [7], [-1, -3, -4], [-2], [-5],
656
+ > [-6, -7]]),
657
+ > Bipartition([[1, -4], [2, 3, 7], [4, 5, -7], [6, -1, -2, -3, -5], [-6]]),
658
+ > Bipartition([[1, 7, -3], [2, 4, 5, -4], [3, 6], [-1], [-2], [-5], [-6],
659
+ > [-7]]),
660
+ > Bipartition([[1, 5, -2, -4, -6, -7], [2, -1, -3, -5], [3, 4, 6, 7]])]),
661
+ > Semigroup([
662
+ > Bipartition([[1, 2, -4], [3, 4, 5, 7], [6, -5, -7], [-1, -3, -6], [-2]]),
663
+ > Bipartition([[1, 2], [3, 4, 5, 7], [6, -6, -7], [-1, -3, -4], [-2], [-5]]),
664
+ > Bipartition([[1, 5, 6, -2, -4, -6, -7], [2, 3, 4, -3, -5], [7, -1]]),
665
+ > Bipartition([[1, 6], [2, 3, 4], [5], [7], [-1, -3, -4], [-2], [-5],
666
+ > [-6, -7]]),
667
+ > Bipartition([[1, 6], [2, 3, 7], [4, 5, -1, -2, -3, -5, -7], [-4], [-6]]),
668
+ > Bipartition([[1, -4], [2, 3, 7], [4, 5, -7], [6, -1, -2, -3, -5], [-6]]),
669
+ > Bipartition([[1, 7, -3], [2, 4, 5, -4], [3, 6], [-1], [-2], [-5], [-6],
670
+ > [-7]]),
671
+ > Bipartition([[1, 5, -2, -4, -6, -7], [2, -1, -3, -5], [3, 4, 6, 7]])]),
672
+ > Semigroup([
673
+ > Bipartition([[1, 2, 3, 4, 5, 6, -1, -2, -3, -5, -7], [7, -4], [-6]]),
674
+ > Bipartition([[1, 2, 6, -4, -7], [3, 4, 5, 7], [-1, -2, -3, -5], [-6]]),
675
+ > Bipartition([[1, 2, 6, -7], [3, 4, 5, 7], [-1, -2, -3, -5], [-4], [-6]]),
676
+ > Bipartition([[1, 2, -4], [3, 4, 5, 7], [6, -5, -7], [-1, -3, -6], [-2]]),
677
+ > Bipartition([[1, 5, 6, -2, -4, -6, -7], [2, 3, 4, -3, -5], [7, -1]]),
678
+ > Bipartition([[1, 6], [2, 3, 4], [5], [7, -6, -7], [-1, -3, -4], [-2],
679
+ > [-5]]),
680
+ > Bipartition([[1, 6, -1, -2, -3, -5, -7], [2, 3, 7], [4, 5, -4], [-6]]),
681
+ > Bipartition([[1, 6, -2, -3, -4, -5, -6, -7], [2, 3, 7], [4, 5, -1]]),
682
+ > Bipartition([[1, 6], [2, 3, 7], [4, 5, -4, -5, -7], [-1, -3, -6], [-2]]),
683
+ > Bipartition([[1, 7, -3], [2, 4, 5, -4], [3, 6], [-1], [-2], [-5], [-6],
684
+ > [-7]]),
685
+ > Bipartition([[1, 5, -2, -4, -6, -7], [2, -1, -3, -5], [3, 4, 6, 7]])]),
686
+ > Semigroup([
687
+ > Bipartition([[1, 2, 4, 5, 7, -6, -7], [3, 6], [-1, -3, -4], [-2], [-5]]),
688
+ > Bipartition([[1, 2, -4], [3, 4, 5, 7], [6, -5, -7], [-1, -3, -6], [-2]]),
689
+ > Bipartition([[1, 5, 6, -2, -4, -6, -7], [2, 3, 4, -3, -5], [7, -1]]),
690
+ > Bipartition([[1, 6], [2, 3, 4], [5], [7, -3, -4], [-1], [-2], [-5], [-6],
691
+ > [-7]]),
692
+ > Bipartition([[1, 6], [2, 3, 4], [5], [7, -4], [-1], [-2], [-3], [-5], [-6],
693
+ > [-7]]),
694
+ > Bipartition([[1, -4], [2, 3, 7], [4, 5, -7], [6, -1, -2, -3, -5], [-6]]),
695
+ > Bipartition([[1, 7], [2, 4, 5, -6, -7], [3, 6], [-1, -3, -4], [-2], [-5]]),
696
+ > Bipartition([[1, 5, -2, -4, -6, -7], [2, -1, -3, -5], [3, 4, 6, 7]])]),
697
+ > Semigroup([
698
+ > Bipartition([[1, 2, 5, -6, -7], [3, 4, 6, 7], [-1, -3, -4], [-2], [-5]]),
699
+ > Bipartition([[1, 2, -4], [3, 4, 5, 7], [6, -5, -7], [-1, -3, -6], [-2]]),
700
+ > Bipartition([[1, 5, 6, -2, -4, -6, -7], [2, 3, 4, -3, -5], [7, -1]]),
701
+ > Bipartition([[1, 6], [2, 3, 4], [5], [7, -2, -4, -6, -7], [-1, -3, -5]]),
702
+ > Bipartition([[1, -4], [2, 3, 7], [4, 5, -7], [6, -1, -2, -3, -5], [-6]]),
703
+ > Bipartition([[1, 7, -3], [2, 4, 5, -4], [3, 6], [-1], [-2], [-5], [-6],
704
+ > [-7]])])];;
705
+ gap> max = correct;
706
+ true
707
+
708
+ # MaximalTest9: MaximalSubsemigroups for a semigroup of block bijections
709
+
710
+ # a random inverse semigroup of block bijections
711
+ gap> C := InverseSemigroup([
712
+ > Bipartition([[1, -4], [2, -5], [3, 4, 5, 6, 7, -1, -2, -3, -6, -7]]),
713
+ > Bipartition([[1, -6], [2, -3], [3, 5, 6, 7, -1, -4, -5, -7], [4, -2]]),
714
+ > Bipartition([[1, -6], [2, -2], [3, 6, 7, -1, -5, -7], [4, -4], [5, -3]]),
715
+ > Bipartition([[1, -6], [2, -3], [3, -2], [4, 5, 7, -1, -5, -7], [6, -4]])]);
716
+ <inverse block bijection semigroup of degree 7 with 4 generators>
717
+ gap> max := MaximalSubsemigroups(C);;
718
+ gap> NrMaximalSubsemigroups(C);
719
+ 8
720
+ gap> Number(max, x -> Size(x) = 446);
721
+ 6
722
+ gap> Number(max, x -> Size(x) = 433);
723
+ 2
724
+ gap> correct := [
725
+ > Semigroup([
726
+ > Bipartition([[1, 2, 3, 6, 7, -2, -3, -5, -6, -7], [4, -1], [5, -4]]),
727
+ > Bipartition([[1, 4, 5, 6, 7, -1, -2, -3, -6, -7], [2, -4], [3, -5]]),
728
+ > Bipartition([[1, 5, 7, -3, -6, -7], [2, -2], [3, -5], [4, -4], [6, -1]]),
729
+ > Bipartition([[1, 5, 7, -4, -5, -7], [2, -3], [3, -2], [4, -6], [6, -1]]),
730
+ > Bipartition([[1, -4], [2, -2], [3, 5, 6, 7, -1, -3, -6, -7], [4, -5]]),
731
+ > Bipartition([[1, -6], [2, -2], [3, 5, 6, 7, -1, -3, -5, -7], [4, -4]]),
732
+ > Bipartition([[1, -6], [2, -3], [3, -2], [4, 5, 7, -1, -5, -7], [6, -4]]),
733
+ > Bipartition([[1, -6], [2, -2], [3, 6, 7, -1, -5, -7], [4, -4], [5, -3]])]),
734
+ > Semigroup([
735
+ > Bipartition([[1, 2, 3, 6, 7, -1, -4, -5, -6, -7], [4, -2], [5, -3]]),
736
+ > Bipartition([[1, -4], [2, 3, 5, 6, 7, -1, -2, -3, -6, -7], [4, -5]]),
737
+ > Bipartition([[1, 4, 5, 7, -2, -4, -5, -7], [2, -6], [3, -3], [6, -1]]),
738
+ > Bipartition([[1, -1], [2, 4, 5, 7, -3, -5, -6, -7], [3, -2], [6, -4]]),
739
+ > Bipartition([[1, 5, 7, -3, -6, -7], [2, -2], [3, -5], [4, -4], [6, -1]]),
740
+ > Bipartition([[1, 5, 7, -4, -5, -7], [2, -3], [3, -2], [4, -6], [6, -1]]),
741
+ > Bipartition([[1, -6], [2, -3], [3, -2], [4, 5, 7, -1, -5, -7], [6, -4]]),
742
+ > Bipartition([[1, -6], [2, -2], [3, 6, 7, -1, -5, -7], [4, -4], [5, -3]])]),
743
+ > Semigroup([
744
+ > Bipartition([[1, 4, 5, 7, -1, -3, -5, -7], [2, -4], [3, -2], [6, -6]]),
745
+ > Bipartition([[1, 4, 5, 7, -1, -5, -6, -7], [2, -3], [3, -2], [6, -4]]),
746
+ > Bipartition([[1, -6], [2, 4, 5, 7, -1, -4, -5, -7], [3, -3], [6, -2]]),
747
+ > Bipartition([[1, 5, 7, -3, -6, -7], [2, -2], [3, -5], [4, -4], [6, -1]]),
748
+ > Bipartition([[1, -6], [2, -3], [3, -2], [4, 5, 6, 7, -1, -4, -5, -7]]),
749
+ > Bipartition([[1, -1], [2, -2], [3, -3], [4, 5, 7, -4, -5, -7], [6, -6]]),
750
+ > Bipartition([[1, -1], [2, -3], [3, 6, 7, -4, -5, -7], [4, -6], [5, -2]]),
751
+ > Bipartition([[1, -6], [2, -2], [3, 6, 7, -1, -5, -7], [4, -4], [5, -3]])]),
752
+ > Semigroup([
753
+ > Bipartition([[1, 3, 6, 7, -1, -4, -5, -7], [2, -3], [4, -6], [5, -2]]),
754
+ > Bipartition([[1, 4, 5, 7, -2, -4, -5, -7], [2, -6], [3, -3], [6, -1]]),
755
+ > Bipartition([[1, -6], [2, -2], [3, 4, 6, 7, -1, -4, -5, -7], [5, -3]]),
756
+ > Bipartition([[1, 5, 7, -3, -6, -7], [2, -2], [3, -5], [4, -4], [6, -1]]),
757
+ > Bipartition([[1, 5, 7, -4, -5, -7], [2, -3], [3, -2], [4, -6], [6, -1]]),
758
+ > Bipartition([[1, -6], [2, -3], [3, 5, 6, 7, -1, -4, -5, -7], [4, -2]]),
759
+ > Bipartition([[1, -6], [2, -3], [3, -2], [4, 5, 7, -1, -5, -7], [6, -4]]),
760
+ > Bipartition([[1, -1], [2, -2], [3, 6, 7, -3, -6, -7], [4, -4], [5, -5]])]),
761
+ > Semigroup([
762
+ > Bipartition([[1, 4, 5, 7, -1, -3, -5, -7], [2, -4], [3, -2], [6, -6]]),
763
+ > Bipartition([[1, 4, 5, 7, -1, -5, -6, -7], [2, -3], [3, -2], [6, -4]]),
764
+ > Bipartition([[1, 5, 7, -1, -5, -7], [2, -2], [3, -3], [4, -4], [6, -6]]),
765
+ > Bipartition([[1, 5, 7, -4, -5, -7], [2, -3], [3, -2], [4, -6], [6, -1]]),
766
+ > Bipartition([[1, -6], [2, -3], [3, 5, 6, 7, -1, -4, -5, -7], [4, -2]]),
767
+ > Bipartition([[1, -6], [2, -3], [3, -2], [4, 5, 6, 7, -1, -4, -5, -7]]),
768
+ > Bipartition([[1, -1], [2, -5], [3, -2], [4, 5, 7, -3, -6, -7], [6, -4]]),
769
+ > Bipartition([[1, -1], [2, -3], [3, 6, 7, -4, -5, -7], [4, -6], [5, -2]])]),
770
+ > Semigroup([
771
+ > Bipartition([[1, 3, 5, 7, -1, -4, -5, -7], [2, -3], [4, -2], [6, -6]]),
772
+ > Bipartition([[1, 4, 5, 7, -3, -4, -6, -7], [2, -2], [3, -5], [6, -1]]),
773
+ > Bipartition([[1, 4, 5, 7, -3, -5, -6, -7], [2, -4], [3, -2], [6, -1]]),
774
+ > Bipartition([[1, 5, 6, 7, -1, -4, -5, -7], [2, -3], [3, -2], [4, -6]]),
775
+ > Bipartition([[1, 5, 7, -1, -5, -7], [2, -2], [3, -3], [4, -4], [6, -6]]),
776
+ > Bipartition([[1, -1], [2, -5], [3, -2], [4, 5, 7, -3, -6, -7], [6, -4]]),
777
+ > Bipartition([[1, -1], [2, -3], [3, 6, 7, -4, -5, -7], [4, -6], [5, -2]]),
778
+ > Bipartition([[1, -6], [2, -2], [3, 6, 7, -1, -5, -7], [4, -4], [5, -3]])]),
779
+ > Semigroup([
780
+ > Bipartition([[1, 4, 5, 7, -1, -3, -6, -7], [2, -5], [3, -2], [6, -4]]),
781
+ > Bipartition([[1, 4, 5, 7, -3, -4, -6, -7], [2, -2], [3, -5], [6, -1]]),
782
+ > Bipartition([[1, 4, 5, 7, -3, -5, -6, -7], [2, -4], [3, -2], [6, -1]]),
783
+ > Bipartition([[1, -6], [2, 4, 5, 7, -1, -4, -5, -7], [3, -3], [6, -2]]),
784
+ > Bipartition([[1, 5, 7, -4, -5, -7], [2, -3], [3, -2], [4, -6], [6, -1]]),
785
+ > Bipartition([[1, -6], [2, -3], [3, -2], [4, 5, 7, -1, -5, -7], [6, -4]]),
786
+ > Bipartition([[1, -1], [2, -2], [3, 6, 7, -3, -6, -7], [4, -4], [5, -5]]),
787
+ > Bipartition([[1, -1], [2, -3], [3, 6, 7, -4, -5, -7], [4, -6], [5, -2]])]),
788
+ > Semigroup([
789
+ > Bipartition([[1, 4, 5, 7, -2, -4, -5, -7], [2, -6], [3, -3], [6, -1]]),
790
+ > Bipartition([[1, 4, 5, 7, -4, -5, -6, -7], [2, -3], [3, -2], [6, -1]]),
791
+ > Bipartition([[1, 5, 6, 7, -1, -4, -5, -7], [2, -3], [3, -2], [4, -6]]),
792
+ > Bipartition([[1, 5, 7, -3, -6, -7], [2, -2], [3, -5], [4, -4], [6, -1]]),
793
+ > Bipartition([[1, -6], [2, -3], [3, 5, 6, 7, -1, -4, -5, -7], [4, -2]]),
794
+ > Bipartition([[1, -1], [2, -2], [3, -3], [4, 5, 7, -4, -5, -7], [6, -6]]),
795
+ > Bipartition([[1, -1], [2, -5], [3, -2], [4, 5, 7, -3, -6, -7], [6, -4]]),
796
+ > Bipartition([[1, -6], [2, -2], [3, 6, 7, -1, -5, -7], [4, -4],
797
+ > [5, -3]])])];;
798
+ gap> max = correct;
799
+ true
800
+
801
+ # MaximalTest10: MaximalSubsemigroups for a transformation semigroup ideal
802
+ gap> S := SingularTransformationSemigroup(5); # Trans(5) \ Sym(5)
803
+ <regular transformation semigroup ideal of degree 5 with 1 generator>
804
+ gap> max := MaximalSubsemigroups(S);;
805
+ gap> NrMaximalSubsemigroups(S);
806
+ 40
807
+ gap> S = max[1];
808
+ false
809
+
810
+ # MaximalTest11: Issue 107
811
+ # (problems with Green's classes of ideals, and inverse semigroups)
812
+ gap> gens := [PartialPerm([1, 2, 3, 4], [3, 2, 5, 4]),
813
+ > PartialPerm([1, 2, 4], [3, 5, 4]),
814
+ > PartialPerm([1, 2, 3, 4], [5, 2, 3, 1]),
815
+ > PartialPerm([1, 3, 4, 5], [5, 3, 4, 1]),
816
+ > PartialPerm([1, 2, 3, 4, 5], [5, 4, 3, 2, 1])];;
817
+ gap> S := InverseSemigroup(gens);;
818
+ gap> S := Semigroup(S);;
819
+ gap> NrMaximalSubsemigroups(S);
820
+ 9
821
+
822
+ # maximal: NrMaximalSubsemigroups, for a transformation semigroup, 1
823
+ gap> S := Semigroup([Transformation([1, 4, 2, 5, 8, 6, 2, 7]),
824
+ > Transformation([2, 6, 6, 4, 2, 2, 1, 2]),
825
+ > Transformation([3, 6, 6, 7, 8, 2, 1, 5]),
826
+ > Transformation([3, 7, 4, 5, 4, 6, 6, 2]),
827
+ > Transformation([5, 7, 5, 2, 8, 1, 2, 4])],
828
+ > rec(acting := true));;
829
+ gap> NrMaximalSubsemigroups(S);
830
+ 5
831
+
832
+ # maximal: NrMaximalSubsemigroups, for a transformation semigroup, 2
833
+ gap> S := Semigroup([Transformation([8, 4, 6, 4, 5, 3, 8, 8]),
834
+ > Transformation([1, 3, 5, 5, 8, 4, 1, 8]),
835
+ > Transformation([1, 7, 5, 3, 3, 7, 7, 5]),
836
+ > Transformation([4, 7, 4, 5, 1, 7, 1]),
837
+ > Transformation([5, 5, 8, 1, 4, 1, 4, 5]),
838
+ > Transformation([2, 8, 8, 6, 5, 8, 1, 3]),
839
+ > Transformation([6, 6, 2, 8, 5, 4, 4, 5])]);;
840
+ gap> NrMaximalSubsemigroups(S);
841
+ 39
842
+
843
+ # maximal: NrMaximalSubsemigroups, for a transformation semigroup, 3
844
+ gap> S := Semigroup([Transformation([6, 3, 2, 5, 2, 8, 4, 2]),
845
+ > Transformation([1, 6, 6, 3, 3, 5, 4, 5]),
846
+ > Transformation([4, 2, 7, 3, 8, 5, 3, 3]),
847
+ > Transformation([2, 8, 1, 8, 3, 7, 4, 4]),
848
+ > Transformation([4, 6, 6, 8, 8, 1, 7, 8]),
849
+ > Transformation([6, 1, 3, 6, 7, 5, 7, 6]),
850
+ > Transformation([2, 7, 7, 4, 1, 5, 8, 2])]);;
851
+ gap> NrMaximalSubsemigroups(S);
852
+ 18
853
+
854
+ #
855
+ gap> SEMIGROUPS.StopTest();
856
+ gap> STOP_TEST("Semigroups package: extreme/maximal.tst");