passagemath-gap-pkg-semigroups 10.6.30__cp311-cp311-macosx_13_0_arm64.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 (354) 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/aarch64-apple-darwin23-default64-kv10/semigroups.so +0 -0
  15. gap/pkg/semigroups/config.guess +1807 -0
  16. gap/pkg/semigroups/config.log +1158 -0
  17. gap/pkg/semigroups/config.status +1131 -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.30.dist-info/METADATA +93 -0
  347. passagemath_gap_pkg_semigroups-10.6.30.dist-info/METADATA.bak +94 -0
  348. passagemath_gap_pkg_semigroups-10.6.30.dist-info/RECORD +354 -0
  349. passagemath_gap_pkg_semigroups-10.6.30.dist-info/WHEEL +6 -0
  350. passagemath_gap_pkg_semigroups-10.6.30.dist-info/top_level.txt +1 -0
  351. passagemath_gap_pkg_semigroups.dylibs/libsemigroups.2.dylib +0 -0
  352. sage/all__sagemath_gap_pkg_semigroups.py +1 -0
  353. sage/libs/all__sagemath_gap_pkg_semigroups.py +1 -0
  354. sage/libs/gap_pkg_semigroups.cpython-311-darwin.so +0 -0
@@ -0,0 +1,914 @@
1
+ #############################################################################
2
+ ##
3
+ #W extreme/properties.tst
4
+ #Y Copyright (C) 2011-15 James D. Mitchell
5
+ ##
6
+ ## Licensing information can be found in the README file of this package.
7
+ ##
8
+ #############################################################################
9
+ ##
10
+
11
+ #@local I, S, acting, d, f, g, gens, i, inv, iso, iter, j, rms, s, semis, small
12
+ #@local t
13
+ gap> START_TEST("Semigroups package: extreme/properties.tst");
14
+ gap> LoadPackage("semigroups", false);;
15
+
16
+ #
17
+ gap> SEMIGROUPS.StartTest();
18
+
19
+ # PropertiesTest3
20
+ gap> semis :=
21
+ > [Semigroup([Transformation([2, 2, 4, 4]),
22
+ > Transformation([5, 3, 4, 4, 6, 6])]),
23
+ > Semigroup([Transformation([5, 4, 4, 2, 1]),
24
+ > Transformation([2, 5, 5, 4, 1])]),
25
+ > Semigroup([Transformation([1, 2, 1, 3, 3]),
26
+ > Transformation([2, 2, 3, 5, 5])]),
27
+ > Semigroup([Transformation([1, 2, 1, 3, 3]),
28
+ > Transformation([2, 2, 3, 5, 5])]),
29
+ > Semigroup([Transformation([8, 7, 5, 3, 1, 3, 8, 8]),
30
+ > Transformation([5, 1, 4, 1, 4, 4])]),
31
+ > Semigroup([Transformation([3, 1, 2, 3, 2, 3, 2, 3]),
32
+ > Transformation([2, 5, 8, 5, 2, 5, 7, 8])]),
33
+ > Semigroup([Transformation([3, 3, 2, 6, 2, 4, 4, 6]),
34
+ > Transformation([5, 1, 7, 8, 7, 5, 8, 1])]),
35
+ > Semigroup([Transformation([3, 3, 2, 6, 2, 4, 4, 6, 3, 4, 6]),
36
+ > Transformation([4, 4, 6, 1, 3, 3, 3, 3, 11, 11, 11])]),
37
+ > Semigroup([Transformation([3, 3, 2, 6, 2, 4, 4, 6, 3, 4, 6]),
38
+ > Transformation([4, 4, 6, 1, 3, 3, 3, 3, 11, 11, 11]),
39
+ > Transformation([2, 2, 3, 4, 4, 6, 6, 6, 6, 6])]),
40
+ > Semigroup([Transformation([3, 3, 2, 6, 2, 4, 4, 6, 3, 4, 6]),
41
+ > Transformation([4, 4, 6, 1, 3, 3, 3, 3, 11, 11, 11]),
42
+ > Transformation([2, 2, 3, 4, 4, 6, 6, 6, 6, 6]),
43
+ > Transformation([2, 2, 3, 4, 4, 6, 6, 6, 6, 11, 11])]),
44
+ > Semigroup([Transformation([12, 3, 6, 4, 6, 11, 9, 6, 6, 7, 6, 12]),
45
+ > Transformation([10, 7, 2, 11, 7, 3, 12, 4, 3, 8, 7, 5])]),
46
+ > Semigroup([Transformation([3, 2, 12, 2, 7, 9, 4, 2, 1, 12, 11, 12]),
47
+ > Transformation([3, 6, 12, 7, 2, 2, 3, 6, 1, 7, 11, 1])]),
48
+ > Semigroup(
49
+ > [Transformation([2, 2]), Transformation([2, 3, 4, 5, 6, 1])]),
50
+ > Semigroup([Transformation([2, 1, 4, 5, 6, 7, 3, 2, 1]),
51
+ > Transformation([2, 1, 4, 2, 1, 4, 2, 1, 4])]),
52
+ > Semigroup([Transformation([5, 2, 5, 5, 8, 10, 8, 5, 2, 10]),
53
+ > Transformation([2, 2, 5, 5, 5, 8, 8, 8, 8, 8])]),
54
+ > Semigroup([Transformation([4, 6, 3, 8, 5, 6, 10, 4, 3, 7]),
55
+ > Transformation([5, 6, 6, 3, 8, 6, 3, 7, 8, 4]),
56
+ > Transformation([8, 6, 3, 2, 8, 10, 9, 2, 6, 2])]),
57
+ > Semigroup([Transformation([1, 4, 11, 11, 7, 2, 6, 2, 5, 5, 10]),
58
+ > Transformation([2, 4, 4, 2, 10, 5, 11, 11, 11, 6, 7])]),
59
+ > Semigroup([Transformation([10, 8, 7, 4, 1, 4, 10, 10, 7, 2]),
60
+ > Transformation([5, 2, 5, 5, 9, 10, 8, 3, 8, 10])]),
61
+ > Semigroup([Transformation([2, 1, 4, 5, 3, 7, 8, 9, 10, 6]),
62
+ > Transformation([1, 2, 4, 3]),
63
+ > Transformation([1, 2, 3, 4, 5, 6, 10, 9, 8, 7]),
64
+ > Transformation([9, 1, 4, 3, 6, 9, 3, 4, 3, 9])]),
65
+ > Semigroup([Transformation([13, 10, 9, 5, 1, 5, 13, 13, 8, 2, 7, 2, 6]),
66
+ > Transformation([6, 11, 12, 10, 4, 10, 13, 5, 8, 5, 11, 6, 9])]),
67
+ > Semigroup([Transformation([12, 10, 8, 5, 1, 5, 12, 12, 8, 2, 6, 2]),
68
+ > Transformation([5, 6, 10, 11, 10, 4, 10, 12, 5, 7, 4, 10]),
69
+ > Transformation([6, 8, 12, 5, 4, 8, 10, 7, 4, 1, 10, 11])]),
70
+ > Semigroup([Transformation([2, 3, 4, 5, 1, 8, 7, 6, 2, 7]),
71
+ > Transformation([5, 4, 1, 2, 3, 7, 6, 5, 4, 1]),
72
+ > Transformation([2, 1, 4, 3, 2, 1, 4, 4, 3, 3])])];;
73
+ gap> List([1 .. 15], i -> IsCompletelyRegularSemigroup(semis[i]));
74
+ [ false, true, false, false, false, true, true, true, true, true, false,
75
+ false, false, false, true ]
76
+ gap> List([15 .. 22], i -> IsCompletelyRegularSemigroup(semis[i]));
77
+ [ true, false, true, false, false, false, false, false ]
78
+
79
+ # PropertiesTest4
80
+ gap> s := Semigroup(Transformation([3, 3, 2, 6, 2, 4, 4, 6]),
81
+ > Transformation([3, 3, 2, 6, 2, 4, 4, 6]));;
82
+ gap> IsSimpleSemigroup(s);
83
+ true
84
+
85
+ # PropertiesTest5
86
+ gap> s := Semigroup(Transformation([2, 3, 4, 5, 1, 8, 7, 6, 2, 7]),
87
+ > Transformation([2, 3, 4, 5, 6, 8, 7, 1, 2, 2]));;
88
+ gap> IsSimpleSemigroup(s);
89
+ true
90
+
91
+ # PropertiesTest6
92
+ gap> s := Semigroup(
93
+ > Transformation([2, 1, 1, 2, 1]), Transformation([3, 4, 3, 4, 4]),
94
+ > Transformation([3, 4, 3, 4, 3]), Transformation([4, 3, 3, 4, 4]));;
95
+ gap> IsCompletelySimpleSemigroup(s);
96
+ true
97
+
98
+ # PropertiesTest7
99
+ gap> s := Semigroup(Transformation([4, 4, 4, 1, 1, 6, 7, 8, 9, 10, 11, 1]),
100
+ > Transformation([6, 6, 6, 7, 7, 1, 4, 8, 9, 10, 11, 7]),
101
+ > Transformation([8, 8, 8, 9, 9, 10, 11, 1, 4, 6, 7, 9]),
102
+ > Transformation([2, 2, 2, 4, 4, 6, 7, 8, 9, 10, 11, 4]),
103
+ > Transformation([1, 1, 1, 5, 5, 6, 7, 8, 9, 10, 11, 5]),
104
+ > Transformation([1, 1, 4, 4, 4, 6, 7, 8, 9, 10, 11, 1]),
105
+ > Transformation([1, 1, 7, 4, 4, 6, 7, 8, 9, 10, 11, 6]));;
106
+ gap> IsCompletelySimpleSemigroup(s);
107
+ true
108
+
109
+ # PropertiesTest8
110
+ gap> s := Semigroup(Transformation([1, 2, 2, 1, 2]),
111
+ > Transformation([3, 4, 3, 4, 4]),
112
+ > Transformation([3, 4, 3, 4, 3]),
113
+ > Transformation([4, 3, 3, 4, 4]));;
114
+ gap> IsCompletelySimpleSemigroup(s);
115
+ true
116
+
117
+ # PropertiesTest9
118
+ gap> s := semis[12];;
119
+ gap> d := GreensDClassOfElement(s,
120
+ > Transformation([12, 2, 1, 3, 6, 6, 12, 2, 3, 3, 11, 3]));;
121
+ gap> g := GroupHClassOfGreensDClass(d);;
122
+ gap> s := Semigroup(AsList(g));;
123
+ gap> IsGroupAsSemigroup(s);
124
+ true
125
+ gap> IsGroupAsSemigroup(Range(IsomorphismTransformationSemigroup(
126
+ > Group([(2, 4)(3, 5), (1, 2, 3, 5, 4)]))));
127
+ true
128
+ gap> IsGroupAsSemigroup(semis[11]);
129
+ false
130
+
131
+ # PropertiesTest10
132
+ gap> List(semis, IsCliffordSemigroup);
133
+ [ false, true, false, false, false, false, false, false, false, false, false,
134
+ false, false, false, false, false, false, false, false, false, false, false
135
+ ]
136
+ gap> ForAll(GreensDClasses(semis[2]), x -> Length(GreensHClasses(x)) = 1 and
137
+ > IsRegularDClass(x));
138
+ true
139
+ gap> IsCliffordSemigroup(semis[2]);
140
+ true
141
+ gap> ForAll(GreensDClasses(semis[2]), x -> Length(GreensHClasses(x)) = 1 and
142
+ > IsRegularDClass(x));
143
+ true
144
+
145
+ # PropertiesTest11
146
+ gap> s := Semigroup(
147
+ > Transformation([1, 2, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
148
+ > 4, 4, 4, 4, 4, 4, 4]),
149
+ > Transformation([1, 2, 3, 4, 5, 6, 7, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
150
+ > 4]),
151
+ > Transformation([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 4, 4, 4, 4, 4, 4, 4, 4, 4,
152
+ > 4]),
153
+ > Transformation([1, 2, 3, 4, 4, 4, 4, 4, 4, 4, 4, 12, 13, 14, 15, 16, 4, 4, 4,
154
+ > 4, 4]),
155
+ > Transformation([1 .. 21] * 1));;
156
+ gap> IsLTrivial(s);
157
+ true
158
+
159
+ # PropertiesTest12
160
+ gap> gens := [
161
+ > Transformation([1, 2, 1, 3, 3]),
162
+ > Transformation([2, 2, 3, 5, 5])];;
163
+ gap> s := Monoid(gens);;
164
+ gap> IsLTrivial(s);
165
+ true
166
+ gap> d := DClass(s, Transformation([2, 2, 1, 1, 1]));;
167
+ gap> IsLTrivial(d);
168
+ true
169
+
170
+ # PropertiesTest13
171
+ gap> gens := [Transformation([2, 8, 3, 7, 1, 5, 2, 6]),
172
+ > Transformation([3, 5, 7, 2, 5, 6, 3, 8]),
173
+ > Transformation([4, 1, 8, 3, 5, 7, 3, 5]),
174
+ > Transformation([4, 3, 4, 5, 6, 4, 1, 2]),
175
+ > Transformation([5, 4, 8, 8, 5, 6, 1, 5]),
176
+ > Transformation([6, 7, 4, 1, 4, 1, 6, 2]),
177
+ > Transformation([7, 1, 2, 2, 2, 7, 4, 5]),
178
+ > Transformation([8, 8, 5, 1, 7, 5, 2, 8])];;
179
+ gap> s := Semigroup(gens);;
180
+ gap> iter := IteratorOfDClasses(s);;
181
+ gap> repeat
182
+ > d := NextIterator(iter);
183
+ > until IsDoneIterator(iter) or IsLTrivial(d);
184
+ gap> d = DClass(s, Transformation([2, 8, 3, 7, 1, 5, 2, 6]))
185
+ > or d = DClass(s, Transformation([5, 5, 5, 5, 5, 5, 5, 5]));
186
+ true
187
+ gap> IsLTrivial(d);
188
+ true
189
+ gap> Size(d) in [1, 8];
190
+ true
191
+ gap> repeat
192
+ > d := NextIterator(iter);
193
+ > until IsDoneIterator(iter) or not IsLTrivial(d) and IsRTrivial(d);
194
+ gap> d;;
195
+ gap> IsLTrivial(d);
196
+ false
197
+ gap> IsRTrivial(d);
198
+ true
199
+ gap> NrLClasses(d);
200
+ 1
201
+ gap> NrRClasses(d);
202
+ 4560
203
+ gap> IsRTrivial(s);
204
+ false
205
+
206
+ # PropertiesTest14
207
+ gap> gens := [Transformation([3, 4, 1, 2, 1]),
208
+ > Transformation([4, 2, 1, 5, 5]),
209
+ > Transformation([4, 2, 2, 2, 4])];;
210
+ gap> s := Semigroup(gens);;
211
+ gap> IsRTrivial(s);
212
+ false
213
+
214
+ # PropertiesTest15
215
+ gap> gens := [Transformation([1, 4, 11, 11, 7, 2, 6, 2, 5, 5, 10]),
216
+ > Transformation([2, 4, 4, 2, 10, 5, 11, 11, 11, 6, 7])];;
217
+ gap> s := Monoid(gens);;
218
+ gap> IsRTrivial(s);
219
+ false
220
+ gap> IsHTrivial(s);
221
+ false
222
+
223
+ # PropertiesTest16
224
+ gap> gens := [Transformation([2, 8, 3, 7, 1, 5, 2, 6]),
225
+ > Transformation([3, 5, 7, 2, 5, 6, 3, 8]),
226
+ > Transformation([6, 7, 4, 1, 4, 1, 6, 2]),
227
+ > Transformation([8, 8, 5, 1, 7, 5, 2, 8])];;
228
+ gap> s := Semigroup(gens);;
229
+ gap> IsAperiodicSemigroup(s);
230
+ false
231
+
232
+ # PropertiesTest17
233
+ gap> gens := [Transformation([2, 6, 7, 2, 6, 1, 1, 5]),
234
+ > Transformation([3, 8, 1, 4, 5, 6, 7, 1]),
235
+ > Transformation([4, 3, 2, 7, 7, 6, 6, 5]),
236
+ > Transformation([7, 1, 7, 4, 2, 5, 6, 3])];;
237
+ gap> s := Monoid(gens);;
238
+ gap> IsCombinatorialSemigroup(s);
239
+ false
240
+
241
+ # PropertiesTest18
242
+ gap> gens := [Transformation([3, 4, 1, 2, 1]),
243
+ > Transformation([4, 2, 1, 5, 5]),
244
+ > Transformation([4, 2, 2, 2, 4])];;
245
+ gap> s := Semigroup(gens);;
246
+ gap> IsAperiodicSemigroup(s);
247
+ false
248
+
249
+ # PropertiesTest19
250
+ gap> gens := [Transformation([13, 10, 9, 5, 1, 5, 13, 13, 8, 2, 7, 2, 6]),
251
+ > Transformation([6, 11, 12, 10, 4, 10, 13, 5, 8, 5, 11, 6, 9])];;
252
+ gap> s := Semigroup(gens);;
253
+ gap> IsAperiodicSemigroup(s);
254
+ false
255
+
256
+ # PropertiesTest20
257
+ gap> gens := [Transformation([12, 10, 8, 5, 1, 5, 12, 12, 8, 2, 6, 2]),
258
+ > Transformation([5, 6, 10, 11, 10, 4, 10, 12, 5, 7, 4, 10]),
259
+ > Transformation([6, 8, 12, 5, 4, 8, 10, 7, 4, 1, 10, 11])];;
260
+ gap> s := Monoid(gens);;
261
+ gap> IsAperiodicSemigroup(s);
262
+ false
263
+
264
+ # PropertiesTest21
265
+ gap> gens := [Transformation([2, 3, 4, 5, 1, 8, 7, 6, 2, 7]),
266
+ > Transformation([5, 4, 1, 2, 3, 7, 6, 5, 4, 1]),
267
+ > Transformation([2, 1, 4, 3, 2, 1, 4, 4, 3, 3])];;
268
+ gap> s := Monoid(gens);;
269
+ gap> IsAperiodicSemigroup(s);
270
+ false
271
+
272
+ # PropertiesTest22
273
+ gap> gens := [Transformation([1, 2, 1, 3, 3]),
274
+ > Transformation([2, 2, 3, 5, 5])];;
275
+ gap> s := Monoid(gens);;
276
+ gap> IsAperiodicSemigroup(s);
277
+ true
278
+
279
+ # PropertiesTest23
280
+ gap> gens := [Transformation([1, 3, 2, 6, 5, 4, 8, 7, 9, 10]),
281
+ > Transformation([1, 2, 6, 4, 8, 3, 9, 5, 7, 10]),
282
+ > Transformation([1, 10, 10, 10, 10, 10, 7, 8, 10, 10]),
283
+ > Transformation([1, 10, 3, 10, 10, 6, 10, 10, 10, 10])];;
284
+ gap> s := Semigroup(gens);;
285
+ gap> IsInverseSemigroup(s);
286
+ true
287
+
288
+ # PropertiesTest24
289
+ gap> gens := [
290
+ > Transformation([1, 4, 5, 16, 2, 11, 13, 7, 12, 8, 15, 6, 14, 10, 9, 3,
291
+ > 17]),
292
+ > Transformation([1, 17, 17, 17, 17, 6, 7, 8, 9, 10, 11, 17, 17, 17, 17,
293
+ > 16, 17]),
294
+ > Transformation([1, 2, 3, 17, 17, 6, 17, 17, 17, 17, 11, 17, 17, 14, 15,
295
+ > 16, 17]),
296
+ > Transformation([1, 2, 17, 4, 17, 17, 7, 17, 17, 10, 17, 17, 13, 17, 15,
297
+ > 16, 17])];;
298
+ gap> s := Semigroup(gens);;
299
+ gap> IsInverseSemigroup(s);
300
+ true
301
+
302
+ # PropertiesTest25
303
+ gap> gens := [Transformation([1, 2, 10, 4, 5, 13, 7, 8, 15, 3, 11, 16, 6, 14,
304
+ > 9, 12, 17]),
305
+ > Transformation([1, 8, 10, 4, 5, 6, 14, 2, 15, 3, 11, 12, 13, 7, 9, 16,
306
+ > 17]),
307
+ > Transformation([1, 8, 17, 4, 5, 17, 14, 2, 17, 17, 11, 17, 17, 7, 17, 17,
308
+ > 17]),
309
+ > Transformation([1, 2, 17, 4, 8, 17, 7, 5, 17, 17, 14, 17, 17, 11, 17, 17,
310
+ > 17]),
311
+ > Transformation([1, 17, 4, 10, 9, 17, 17, 17, 15, 3, 11, 17, 17, 17, 5, 17,
312
+ > 17]),
313
+ > Transformation([1, 17, 4, 3, 15, 17, 17, 17, 9, 10, 11, 17, 17, 17, 5, 17,
314
+ > 17]),
315
+ > Transformation([1, 17, 17, 17, 5, 6, 7, 17, 9, 17, 17, 17, 13, 14, 15, 17,
316
+ > 17]),
317
+ > Transformation([1, 2, 17, 17, 5, 17, 17, 8, 9, 17, 17, 12, 17, 17, 15, 16,
318
+ > 17]),
319
+ > Transformation([1, 17, 3, 17, 5, 17, 7, 17, 17, 10, 17, 12, 17, 14, 17, 16,
320
+ > 17]),
321
+ > Transformation([1, 17, 17, 4, 5, 6, 17, 17, 17, 17, 11, 12, 13, 17, 17, 16,
322
+ > 17]),
323
+ > Transformation([1, 2, 3, 17, 5, 6, 17, 8, 17, 10, 17, 17, 13, 17, 17, 17,
324
+ > 17])];;
325
+ gap> s := Semigroup(gens);;
326
+ gap> IsInverseSemigroup(s);
327
+ true
328
+
329
+ # PropertiesTest26
330
+ gap> gens := [Transformation([1, 2, 2]), Transformation([1, 2, 1]),
331
+ > Transformation([2, 2, 3]), Transformation([3, 2, 3]),
332
+ > Transformation([1, 3, 3]), Transformation([1, 1, 3])];;
333
+ gap> s := Semigroup(gens);;
334
+ gap> IsIdempotentGenerated(s);
335
+ true
336
+
337
+ # PropertiesTest27
338
+ gap> gens := [Transformation([2, 6, 1, 8, 5, 3, 8, 8]),
339
+ > Transformation([3, 7, 6, 4, 5, 2, 1, 8])];;
340
+ gap> s := Semigroup(gens);;
341
+ gap> i := MinimalIdeal(s);;
342
+ gap> MultiplicativeZero(s);
343
+ Transformation( [ 8, 8, 8, 8, 5, 8, 8, 8 ] )
344
+ gap> IsLeftZeroSemigroup(i);
345
+ true
346
+
347
+ # PropertiesTest28
348
+ gap> gens := [Transformation([2, 3, 4, 5, 6, 7, 8, 9, 1]),
349
+ > Transformation([4, 2, 3, 4, 5, 6, 7, 8, 9])];;
350
+ gap> s := Semigroup(gens);;
351
+ gap> i := MinimalIdeal(s);;
352
+ gap> Size(i);
353
+ 81
354
+ gap> i := Semigroup(Generators(i), rec(small := true));;
355
+ gap> Size(i);
356
+ 3
357
+ gap> IsLeftZeroSemigroup(i);
358
+ false
359
+ gap> IsSimpleSemigroup(i);
360
+ true
361
+ gap> IsRightZeroSemigroup(i);
362
+ false
363
+ gap> MultiplicativeZero(i);
364
+ fail
365
+ gap> One(i);
366
+ fail
367
+
368
+ # PropertiesTest29
369
+ gap> gens := [
370
+ > Transformation([1, 3, 4, 1]),
371
+ > Transformation([2, 4, 1, 2]),
372
+ > Transformation([3, 1, 1, 3]),
373
+ > Transformation([3, 3, 4, 1])];;
374
+ gap> s := Monoid(gens);;
375
+ gap> s := Semigroup(GeneratorsOfSemigroup(s));;
376
+ gap> IsMonoidAsSemigroup(s);
377
+ true
378
+ gap> IsMonoid(s);
379
+ true
380
+ gap> i := MinimalIdeal(s);;
381
+ gap> Size(i);
382
+ 4
383
+ gap> IsLeftZeroSemigroup(i);
384
+ false
385
+ gap> IsRightZeroSemigroup(i);
386
+ true
387
+ gap> IsSynchronizingSemigroup(i);
388
+ true
389
+
390
+ # PropertiesTest30
391
+ gap> gens := [Transformation([2, 1, 4, 5, 3, 7, 8, 9, 10, 6]),
392
+ > Transformation([1, 2, 4, 3, 5, 6, 7, 8, 9, 10]),
393
+ > Transformation([1, 2, 3, 4, 5, 6, 10, 9, 8, 7]),
394
+ > Transformation([9, 1, 4, 3, 6, 9, 3, 4, 3, 9])];;
395
+ gap> s := Monoid(gens);;
396
+ gap> g := GroupOfUnits(s);;
397
+
398
+ # PropertiesTest31
399
+ gap> gens := [Transformation([4, 4, 4, 1, 1, 6, 7, 8, 9, 10, 11, 1]),
400
+ > Transformation([6, 6, 6, 7, 7, 1, 4, 8, 9, 10, 11, 7]),
401
+ > Transformation([8, 8, 8, 9, 9, 10, 11, 1, 4, 6, 7, 9]),
402
+ > Transformation([2, 2, 2, 4, 4, 6, 7, 8, 9, 10, 11, 4]),
403
+ > Transformation([1, 1, 1, 5, 5, 6, 7, 8, 9, 10, 11, 5]),
404
+ > Transformation([1, 1, 4, 4, 4, 6, 7, 8, 9, 10, 11, 1]),
405
+ > Transformation([1, 1, 7, 4, 4, 6, 7, 8, 9, 10, 11, 6])];;
406
+ gap> s := Semigroup(gens);;
407
+ gap> IsOrthodoxSemigroup(s);
408
+ true
409
+
410
+ # PropertiesTest32
411
+ gap> gens := [Transformation([2, 8, 3, 7, 1, 5, 2, 6]),
412
+ > Transformation([3, 5, 7, 2, 5, 6, 3, 8]),
413
+ > Transformation([4, 1, 8, 3, 5, 7, 3, 5]),
414
+ > Transformation([4, 3, 4, 5, 6, 4, 1, 2]),
415
+ > Transformation([5, 4, 8, 8, 5, 6, 1, 5]),
416
+ > Transformation([6, 7, 4, 1, 4, 1, 6, 2]),
417
+ > Transformation([7, 1, 2, 2, 2, 7, 4, 5]),
418
+ > Transformation([8, 8, 5, 1, 7, 5, 2, 8])];;
419
+ gap> s := Semigroup(gens);;
420
+ gap> IsOrthodoxSemigroup(s);
421
+ false
422
+
423
+ # PropertiesTest33
424
+ gap> gens := [Transformation([2, 8, 3, 7, 1, 5, 2, 6]),
425
+ > Transformation([3, 5, 7, 2, 5, 6, 3, 8]),
426
+ > Transformation([6, 7, 4, 1, 4, 1, 6, 2]),
427
+ > Transformation([8, 8, 5, 1, 7, 5, 2, 8])];;
428
+ gap> s := Semigroup(gens);;
429
+ gap> IsOrthodoxSemigroup(s);
430
+ false
431
+
432
+ # PropertiesTest34
433
+ gap> gens := [Transformation([2, 6, 7, 2, 6, 1, 1, 5]),
434
+ > Transformation([3, 8, 1, 4, 5, 6, 7, 1]),
435
+ > Transformation([4, 3, 2, 7, 7, 6, 6, 5]),
436
+ > Transformation([7, 1, 7, 4, 2, 5, 6, 3])];;
437
+ gap> s := Monoid(gens);;
438
+ gap> IsOrthodoxSemigroup(s);
439
+ false
440
+
441
+ # PropertiesTest35
442
+ gap> gens := [Transformation([3, 4, 1, 2, 1]),
443
+ > Transformation([4, 2, 1, 5, 5]),
444
+ > Transformation([4, 2, 2, 2, 4])];;
445
+ gap> s := Semigroup(gens);;
446
+ gap> IsOrthodoxSemigroup(s);
447
+ false
448
+
449
+ # PropertiesTest36
450
+ gap> gens := [Transformation([1, 3, 2, 3]),
451
+ > Transformation([1, 4, 1, 2]),
452
+ > Transformation([3, 4, 2, 2]),
453
+ > Transformation([4, 1, 2, 1])];;
454
+ gap> s := Monoid(gens);;
455
+ gap> IsOrthodoxSemigroup(s);
456
+ false
457
+
458
+ # PropertiesTest37
459
+ gap> gens := [Transformation([1, 4, 11, 11, 7, 2, 6, 2, 5, 5, 10]),
460
+ > Transformation([2, 4, 4, 2, 10, 5, 11, 11, 11, 6, 7])];;
461
+ gap> s := Monoid(gens);;
462
+ gap> IsOrthodoxSemigroup(s);
463
+ true
464
+
465
+ # PropertiesTest38
466
+ gap> gens := [Transformation([2, 3, 4, 5, 1, 8, 7, 6, 2, 7]),
467
+ > Transformation([3, 8, 7, 4, 1, 4, 3, 3, 7, 2])];;
468
+ gap> s := Monoid(gens);;
469
+ gap> i := MinimalIdeal(s);;
470
+ gap> IsRectangularBand(i);
471
+ true
472
+
473
+ # PropertiesTest39
474
+ gap> gens := [Transformation([1, 4, 6, 2, 5, 3, 7, 8]),
475
+ > Transformation([6, 3, 2, 7, 5, 1, 8, 8])];
476
+ [ Transformation( [ 1, 4, 6, 2, 5, 3 ] ),
477
+ Transformation( [ 6, 3, 2, 7, 5, 1, 8, 8 ] ) ]
478
+ gap> s := Semigroup(gens);;
479
+ gap> i := MinimalIdeal(s);;
480
+ gap> IsRectangularBand(i);
481
+ true
482
+ gap> MultiplicativeZero(i);
483
+ Transformation( [ 8, 8, 8, 8, 5, 8, 8, 8 ] )
484
+
485
+ # PropertiesTest40
486
+ gap> gens := [Transformation([2, 8, 3, 7, 1, 5, 2, 6]),
487
+ > Transformation([3, 5, 7, 2, 5, 6, 3, 8]),
488
+ > Transformation([4, 1, 8, 3, 5, 7, 3, 5]),
489
+ > Transformation([4, 3, 4, 5, 6, 4, 1, 2]),
490
+ > Transformation([5, 4, 8, 8, 5, 6, 1, 5]),
491
+ > Transformation([6, 7, 4, 1, 4, 1, 6, 2]),
492
+ > Transformation([7, 1, 2, 2, 2, 7, 4, 5]),
493
+ > Transformation([8, 8, 5, 1, 7, 5, 2, 8])];;
494
+ gap> s := Semigroup(gens);;
495
+ gap> i := MinimalIdeal(s);;
496
+ gap> IsRectangularBand(s);
497
+ false
498
+ gap> IsSimpleSemigroup(s);
499
+ false
500
+ gap> IsRectangularBand(i);
501
+ true
502
+ gap> IsRightZeroSemigroup(i);
503
+ true
504
+
505
+ # PropertiesTest41
506
+ gap> rms := ReesMatrixSemigroup(Group(()),
507
+ > List([1 .. 4], x -> List([1 .. 3], y -> ())));;
508
+ gap> s := IsomorphismTransformationSemigroup(rms);;
509
+ gap> s := Range(s);;
510
+ gap> IsRectangularBand(s);
511
+ true
512
+ gap> IsRegularSemigroup(s);
513
+ true
514
+
515
+ # PropertiesTest42
516
+ gap> gens := [Transformation([2, 6, 7, 2, 6, 9, 9, 1, 1, 5]),
517
+ > Transformation([3, 1, 4, 2, 5, 2, 1, 6, 1, 7]),
518
+ > Transformation([3, 8, 1, 9, 9, 4, 10, 5, 10, 6]),
519
+ > Transformation([4, 7, 6, 9, 10, 1, 3, 6, 6, 2]),
520
+ > Transformation([5, 9, 10, 9, 6, 3, 8, 4, 6, 5]),
521
+ > Transformation([6, 2, 2, 7, 8, 8, 2, 10, 2, 4]),
522
+ > Transformation([6, 2, 8, 4, 7, 5, 8, 3, 5, 8]),
523
+ > Transformation([7, 1, 4, 3, 2, 7, 7, 6, 6, 5]),
524
+ > Transformation([7, 10, 10, 1, 7, 9, 10, 4, 2, 10]),
525
+ > Transformation([10, 7, 10, 8, 8, 7, 5, 9, 1, 9])];;
526
+ gap> s := Semigroup(gens, rec(acting := true));;
527
+ gap> IsRegularSemigroup(s);
528
+ false
529
+
530
+ # PropertiesTest43
531
+ gap> gens := [Transformation([2, 1, 4, 5, 3, 7, 8, 9, 10, 6]),
532
+ > Transformation([1, 2, 4, 3, 5, 6, 7, 8, 9, 10]),
533
+ > Transformation([1, 2, 3, 4, 5, 6, 10, 9, 8, 7]),
534
+ > Transformation([9, 1, 4, 3, 6, 9, 3, 4, 3, 9])];;
535
+ gap> s := Monoid(gens);;
536
+ gap> IsRegularSemigroup(s);
537
+ false
538
+
539
+ # PropertiesTest44
540
+ gap> gens := [Transformation([1, 4, 11, 11, 7, 2, 6, 2, 5, 5, 10]),
541
+ > Transformation([2, 4, 4, 2, 10, 5, 11, 11, 11, 6, 7])];;
542
+ gap> s := Monoid(gens);;
543
+ gap> IsInverseSemigroup(s);
544
+ false
545
+ gap> t := Semigroup(Idempotents(s));;
546
+ gap> IsSemilattice(t);
547
+ false
548
+ gap> IsBand(t);
549
+ true
550
+ gap> Size(t);
551
+ 10
552
+ gap> IsOrthodoxSemigroup(t);
553
+ true
554
+
555
+ # PropertiesTest45
556
+ gap> gens := [Transformation([2, 3, 4, 5, 1, 8, 7, 6, 2, 7]),
557
+ > Transformation([2, 3, 4, 5, 6, 8, 7, 1, 2, 2])];;
558
+ gap> s := Monoid(gens);;
559
+ gap> s := Semigroup(Idempotents(Monoid(gens)));;
560
+ gap> IsSemilattice(s);
561
+ false
562
+ gap> IsBand(s);
563
+ true
564
+
565
+ # PropertiesTest46
566
+ gap> gens := [Transformation([5, 6, 7, 3, 1, 4, 2, 8]),
567
+ > Transformation([3, 6, 8, 5, 7, 4, 2, 8])];
568
+ [ Transformation( [ 5, 6, 7, 3, 1, 4, 2 ] ),
569
+ Transformation( [ 3, 6, 8, 5, 7, 4, 2, 8 ] ) ]
570
+ gap> s := Semigroup(Idempotents(Monoid(gens)));;
571
+ gap> Size(s);
572
+ 94
573
+ gap> IsSemilattice(s);
574
+ true
575
+
576
+ # PropertiesTest47
577
+ gap> s := FullTransformationSemigroup(3);;
578
+ gap> j := 0;;
579
+ gap> for f in s do
580
+ > for g in s do
581
+ > if IsSynchronizingSemigroup(Semigroup(f, g)) then j := j + 1; fi;
582
+ > od;
583
+ > od;
584
+ gap> j;
585
+ 561
586
+
587
+ # PropertiesTest48
588
+ gap> gens := [Transformation([4, 6, 5, 2, 1, 3]),
589
+ > Transformation([6, 3, 2, 5, 4, 1]),
590
+ > Transformation([1, 2, 4, 3, 5, 6]),
591
+ > Transformation([3, 5, 6, 1, 2, 3]),
592
+ > Transformation([5, 3, 6, 6, 6, 2]),
593
+ > Transformation([2, 3, 2, 6, 4, 6]),
594
+ > Transformation([2, 1, 2, 2, 2, 4]),
595
+ > Transformation([4, 4, 1, 2, 1, 2])];;
596
+ gap> s := Semigroup(gens);;
597
+ gap> g := Range(IsomorphismPermGroup(GroupOfUnits(s)));;
598
+ gap> IsZeroGroup(Range(InjectionZeroMagma(g)));
599
+ true
600
+ gap> IsZeroGroup(s);
601
+ false
602
+
603
+ # PropertiesTest49
604
+ gap> gens := List(Tuples([1, 2], 4), x ->
605
+ > TransformationNC(Concatenation([1, 1], x)));;
606
+ gap> s := Semigroup(gens);;
607
+ gap> IsZeroSemigroup(s);
608
+ true
609
+
610
+ # PropertiesTest50
611
+ gap> gens := [Transformation([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10]),
612
+ > Transformation([3, 6, 9, 1, 4, 7, 2, 5, 8, 10, 10]),
613
+ > Transformation([3, 6, 9, 7, 1, 4, 5, 8, 2, 10, 10]),
614
+ > Transformation([8, 2, 5, 5, 4, 5, 5, 2, 8, 10, 10]),
615
+ > Transformation([4, 4, 8, 4, 4, 2, 4, 4, 5, 10, 10])];;
616
+ gap> s := Semigroup(gens);;
617
+ gap> MultiplicativeNeutralElement(s);
618
+ Transformation( [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10 ] )
619
+
620
+ # PropertiesTest51
621
+ gap> [Transformation([3, 6, 9, 1, 4, 7, 2, 5, 8]),
622
+ > Transformation([3, 6, 9, 7, 1, 4, 5, 8, 2]),
623
+ > Transformation([8, 2, 5, 5, 4, 5, 5, 2, 8]),
624
+ > Transformation([4, 4, 8, 4, 4, 2, 4, 4, 5]),
625
+ > Transformation([7, 5, 5, 7, 3, 7, 5, 5, 3]),
626
+ > Transformation([7, 3, 3, 3, 3, 7, 5, 3, 3]),
627
+ > Transformation([3, 5, 3, 3, 3, 3, 7, 7, 5]),
628
+ > Transformation([3, 7, 3, 3, 5, 5, 7, 7, 7]),
629
+ > Transformation([3, 3, 3, 7, 5, 5, 7, 5, 7]),
630
+ > Transformation([3, 5, 5, 3, 7, 3, 7, 5, 7]),
631
+ > Transformation([3, 3, 3, 5, 5, 3, 7, 5, 5]),
632
+ > Transformation([5, 5, 7, 5, 7, 3, 5, 3, 7]),
633
+ > Transformation([3, 5, 5, 3, 7, 3, 3, 5, 3]),
634
+ > Transformation([7, 3, 7, 7, 7, 3, 3, 5, 7]),
635
+ > Transformation([5, 3, 7, 3, 7, 5, 3, 5, 3]),
636
+ > Transformation([5, 5, 7, 5, 7, 3, 7, 7, 5])];;
637
+ gap> s := Semigroup(last);;
638
+ gap> MultiplicativeNeutralElement(s);
639
+ IdentityTransformation
640
+
641
+ # PropertiesTest52: Checking E-unitary
642
+ gap> [PartialPerm([1, 2, 3, 4], [3, 1, 2, 5]),
643
+ > PartialPerm([1, 2, 3, 4], [3, 2, 1, 4])];;
644
+ gap> s := InverseSemigroup(last);;
645
+ gap> IsEUnitaryInverseSemigroup(s);
646
+ true
647
+ gap> [PartialPerm([1, 2, 3, 4, 5], [1, 2, 5, 6, 3]),
648
+ > PartialPerm([1, 2, 3, 4, 5], [3, 2, 1, 6, 5])];;
649
+ gap> s := InverseSemigroup(last);;
650
+ gap> IsEUnitaryInverseSemigroup(s);
651
+ true
652
+ gap> [PartialPerm([1, 2, 3, 4, 7], [2, 4, 6, 5, 7]),
653
+ > PartialPerm([1, 2, 3, 4, 5, 6, 7], [6, 4, 7, 2, 3, 1, 8]),
654
+ > PartialPerm([1, 2, 4, 5, 6, 7], [8, 6, 3, 5, 4, 1]),
655
+ > PartialPerm([1, 2, 4, 5, 8], [1, 3, 8, 6, 2])];;
656
+ gap> s := InverseSemigroup(last);;
657
+ gap> IsEUnitaryInverseSemigroup(s);
658
+ false
659
+
660
+ # PropertiesTest53
661
+
662
+ #gap> gens := [ Transformation( [ 2, 8, 3, 7, 1, 5, 2, 6 ] ),
663
+ #> Transformation( [ 3, 5, 7, 2, 5, 6, 3, 8 ] ),
664
+ #> Transformation( [ 4, 1, 8, 3, 5, 7, 3, 5 ] ),
665
+ #> Transformation( [ 4, 3, 4, 5, 6, 4, 1, 2 ] ),
666
+ #> Transformation( [ 5, 4, 8, 8, 5, 6, 1, 5 ] ),
667
+ #> Transformation( [ 6, 7, 4, 1, 4, 1, 6, 2 ] ),
668
+ #> Transformation( [ 7, 1, 2, 2, 2, 7, 4, 5 ] ),
669
+ #> Transformation( [ 8, 8, 5, 1, 7, 5, 2, 8 ] ) ];;
670
+ #gap> s:=Semigroup(gens);;
671
+ ##gap> IsAbundantSemigroup(s);
672
+ ##false
673
+ #
674
+ ##
675
+ #gap> gens := [ Transformation( [ 2, 6, 7, 2, 6, 1, 1, 5 ] ),
676
+ #> Transformation( [ 3, 8, 1, 4, 5, 6, 7, 1 ] ),
677
+ #> Transformation( [ 4, 3, 2, 7, 7, 6, 6, 5 ] ),
678
+ #> Transformation( [ 7, 1, 7, 4, 2, 5, 6, 3 ] ) ];;
679
+ #gap> s:=Monoid(gens);;
680
+ ##gap> IsAbundantSemigroup(s);
681
+ ##false
682
+ #
683
+ ##
684
+ #gap> gens := [ Transformation( [ 2, 8, 3, 7, 1, 5, 2, 6 ] ),
685
+ #> Transformation( [ 3, 5, 7, 2, 5, 6, 3, 8 ] ),
686
+ #> Transformation( [ 6, 7, 4, 1, 4, 1, 6, 2 ] ),
687
+ #> Transformation( [ 8, 8, 5, 1, 7, 5, 2, 8 ] ) ];;
688
+ #gap> s:=Semigroup(gens);;
689
+ ##gap> IsAbundantSemigroup(s);
690
+ ##false
691
+ #
692
+ ##
693
+ #gap> gens := [ Transformation( [ 3, 4, 1, 2, 1 ] ),
694
+ #> Transformation( [ 4, 2, 1, 5, 5 ] ),
695
+ #> Transformation( [ 4, 2, 2, 2, 4 ] ) ];;
696
+ #gap> s:=Semigroup(gens);;
697
+ #gap> IsAbundantSemigroup(s);
698
+ #true
699
+ #
700
+ ##
701
+ #gap> gens := [ Transformation( [ 1, 3, 4, 1 ] ),
702
+ #> Transformation( [ 2, 4, 1, 2 ] ),
703
+ #> Transformation( [ 3, 1, 1, 3 ] ),
704
+ #> Transformation( [ 3, 3, 4, 1 ] ) ];;
705
+ #gap> s:=Monoid(gens);;
706
+ #gap> IsAbundantSemigroup(s);
707
+ #false
708
+ #
709
+ ##
710
+ #gap> gens := [ Transformation( [ 1, 3, 2, 3 ] ),
711
+ #> Transformation( [ 1, 4, 1, 2 ] ),
712
+ #> Transformation( [ 2, 4, 1, 1 ] ),
713
+ #> Transformation( [ 3, 4, 2, 2 ] ) ];;
714
+ #gap> s:=Semigroup(gens);;
715
+ #gap> IsAbundantSemigroup(s);
716
+ #true
717
+ #gap> IsRegularSemigroup(s);
718
+ #false
719
+ #
720
+ ##
721
+ #gap> gens := [ Transformation( [ 1, 3, 2, 3 ] ),
722
+ #> Transformation( [ 1, 4, 1, 2 ] ),
723
+ #> Transformation( [ 3, 4, 2, 2 ] ),
724
+ #> Transformation( [ 4, 1, 2, 1 ] ) ];;
725
+ #gap> s:=Monoid(gens);;
726
+ #gap> IsAbundantSemigroup(s);
727
+ #true
728
+ #gap> IsRegularSemigroup(s);
729
+ #false
730
+ #
731
+ ##
732
+ #gap> gens := [Transformation([2,1,4,5,3,7,8,9,10,6]),
733
+ #> Transformation([1,2,4,3,5,6,7,8,9,10]),
734
+ #> Transformation([1,2,3,4,5,6,10,9,8,7]),
735
+ #> Transformation([9,1,4,3,6,9,3,4,3,9])];;
736
+ #gap> s:=Monoid(gens);;
737
+ #gap> IsAbundantSemigroup(s);
738
+ #true
739
+ #gap> IsRegularSemigroup(s);
740
+ #false
741
+ #
742
+ ##
743
+ #gap> gens := [Transformation( [ 1, 4, 11, 11, 7, 2, 6, 2, 5, 5, 10 ] ),
744
+ #> Transformation( [ 2, 4, 4, 2, 10, 5, 11, 11, 11, 6, 7 ] )];;
745
+ #gap> s:=Monoid(gens);;
746
+ #gap> IsAdequateSemigroup(s);
747
+ #false
748
+ #gap> gens := [Transformation([2,1,4,5,3,7,8,9,10,6]),
749
+ #> Transformation([1,2,4,3,5,6,7,8,9,10]),
750
+ #> Transformation([1,2,3,4,5,6,10,9,8,7]),
751
+ #> Transformation([9,1,4,3,6,9,3,4,3,9])];;
752
+ #gap> s:=Monoid(gens);;
753
+ #gap> IsAdequateSemigroup(s);
754
+ #false
755
+ #
756
+ # This is still part of PropertiesTest53
757
+ gap> s := Semigroup(
758
+ > [Transformation([1, 2, 3, 2]), Transformation([1, 2, 3, 3]),
759
+ > Transformation([1, 2, 3, 4, 5, 7, 6]), Transformation([1, 2, 4, 3]),
760
+ > Transformation([1, 2, 8, 3, 5, 6, 7, 8]),
761
+ > Transformation([1, 6, 8, 8, 5, 7, 2, 8]),
762
+ > Transformation([3, 8, 8, 8, 6, 2, 6, 7]),
763
+ > Transformation([5, 2, 3, 4, 1]),
764
+ > Transformation([6, 2, 3, 4, 7, 6, 7]),
765
+ > Transformation([8, 8, 3, 4, 6, 7, 6, 2])]);;
766
+ gap> t := IdempotentGeneratedSubsemigroup(s);;
767
+ gap> Size(t);
768
+ 105
769
+
770
+ # PropertiesTest54
771
+
772
+ #gap> gens := [ [ [ 2 ], [ 1 ], [ 4 ], [ 2 ], [ 3, 4 ] ],
773
+ #> [ [ 2, 3 ], [ 1, 2, 3, 4 ], [ 1 ], [ 1, 2, 4 ], [ 5 ] ],
774
+ #> [ [ 3 ], [ 1, 4 ], [ 1, 2, 3 ], [ 1, 3, 4 ], [ 2, 4, 5 ] ] ];;
775
+ #gap> s:=Semigroup(List(gens, BinaryRelationOnPoints));;
776
+ #gap> SetIsBinaryRelationSemigroup(s, true);;
777
+ #gap> Size(s);
778
+ #180
779
+ #gap> iso:=IsomorphismTransformationSemigroup(s);;
780
+ #gap> inv:=InverseGeneralMapping(iso);; t:=Range(iso);;
781
+ #gap> ForAll(s, x-> (x^iso)^inv=x);
782
+ #true
783
+ #gap> ForAll(t, x-> (x^inv)^iso=x);
784
+ #true
785
+ #gap> RespectsMultiplication(iso);
786
+ #true
787
+ #gap> Size(t);
788
+ #180
789
+ #
790
+ #
791
+ gap> S := Semigroup(Transformation([4, 2, 3, 3, 4]));;
792
+ gap> IsCongruenceFreeSemigroup(S);
793
+ true
794
+ gap> S := Semigroup(
795
+ > Transformation([2, 2, 4, 4]),
796
+ > Transformation([5, 3, 4, 4, 6, 6]));;
797
+ gap> IsCongruenceFreeSemigroup(S);
798
+ false
799
+
800
+ # PropertiesTest55: IsSynchronizingSemigroup
801
+ # for <IdentityTransformation>
802
+ gap> t := Transformation([1]);;
803
+ gap> s := Semigroup(t);
804
+ <trivial transformation group of degree 0 with 1 generator>
805
+ gap> IsSynchronizingSemigroup(s);
806
+ false
807
+ gap> IsSynchronizingSemigroup(s);
808
+ false
809
+ gap> IsSynchronizingSemigroup(s);
810
+ false
811
+
812
+ # PropertiesTest56: IsZeroSemigroup
813
+ gap> t := Transformation([1]);;
814
+
815
+ # For a trivial transformation semigroup
816
+ gap> s := Semigroup(t);
817
+ <trivial transformation group of degree 0 with 1 generator>
818
+ gap> IsZeroSemigroup(s);
819
+ true
820
+
821
+ # For a non-trivial zero semigroup of transformations & an ideal
822
+ gap> t := Transformation([1, 1, 2]);;
823
+ gap> s := Semigroup(t);
824
+ <commutative transformation semigroup of degree 3 with 1 generator>
825
+ gap> I := SemigroupIdeal(s, t ^ 2);;
826
+ gap> HasIsZeroSemigroup(s);
827
+ false
828
+ gap> IsZeroSemigroup(I); # parent does not know it is zero
829
+ true
830
+ gap> HasIsZeroSemigroup(s);
831
+ false
832
+ gap> IsZeroSemigroup(s);
833
+ true
834
+ gap> I := SemigroupIdeal(s, t);; # parent does know it is zero
835
+ gap> IsZeroSemigroup(I);
836
+ true
837
+ gap> I := SemigroupIdeal(s, t);; # parent does know it is zero.
838
+ gap> GeneratorsOfSemigroup(I);; # ideal now can use normal method
839
+ gap> IsZeroSemigroup(I);
840
+ true
841
+
842
+ # For a non-trivial transformation group (semigroup without a zero)
843
+ gap> t := Transformation([2, 1]);;
844
+ gap> s := Semigroup(t);
845
+ <commutative transformation semigroup of degree 2 with 1 generator>
846
+ gap> IsZeroSemigroup(s);
847
+ false
848
+ gap> I := SemigroupIdeal(s, Transformation([1, 2]));
849
+ <commutative inverse transformation semigroup ideal of degree 2 with
850
+ 1 generator>
851
+ gap> IsZeroSemigroup(I); # parent knows that it is not zero
852
+ false
853
+
854
+ # For a zero-group as a transformation semigroup
855
+ gap> s := Semigroup([
856
+ > Transformation([1, 3, 2, 3]),
857
+ > Transformation([1, 1, 1, 1])]); # s is a 0-simple semigroup
858
+ <transformation semigroup of degree 4 with 2 generators>
859
+ gap> IsZeroSemigroup(s);
860
+ false
861
+ gap> IsZeroSimpleSemigroup(s);
862
+ true
863
+
864
+ # For a non-trivial inverse semigroup of partial perms (semigroup with a zero)
865
+ gap> s := InverseSemigroup([
866
+ > PartialPerm([1, 2], [3, 1]),
867
+ > PartialPerm([1, 2, 3], [1, 3, 4])]);
868
+ <inverse partial perm semigroup of rank 4 with 2 generators>
869
+ gap> MultiplicativeZero(s);
870
+ <empty partial perm>
871
+ gap> IsZeroSemigroup(s);
872
+ false
873
+ gap> s := InverseSemigroup(MultiplicativeZero(s));;
874
+ gap> IsZeroSemigroup(s);
875
+ true
876
+
877
+ # PropertiesTest57:
878
+ # IsZeroSemigroup: for a non-acting semigroup
879
+ # (Rees 0-matrix semigroup) and ideals
880
+ gap> s := ReesZeroMatrixSemigroup(Group(()), [[0]]);
881
+ <Rees 0-matrix semigroup 1x1 over Group(())>
882
+ gap> t := First(s, x -> not x = MultiplicativeZero(s));
883
+ (1,(),1)
884
+ gap> I := SemigroupIdeal(s, t);
885
+ <commutative Rees 0-matrix semigroup ideal with 1 generator>
886
+ gap> IsZeroSemigroup(I);
887
+ true
888
+ gap> HasIsZeroSemigroup(s);
889
+ false
890
+ gap> IsZeroSemigroup(s);
891
+ true
892
+ gap> I := SemigroupIdeal(s, t);;
893
+ gap> IsZeroSemigroup(I);
894
+ true
895
+ gap> s := ReesZeroMatrixSemigroup(Group(()), [[()]]);
896
+ <Rees 0-matrix semigroup 1x1 over Group(())>
897
+ gap> t := First(s, x -> not x = MultiplicativeZero(s));
898
+ (1,(),1)
899
+ gap> I := SemigroupIdeal(s, t);
900
+ <regular Rees 0-matrix semigroup ideal with 1 generator>
901
+ gap> IsZeroSemigroup(I);
902
+ false
903
+ gap> HasIsZeroSemigroup(s);
904
+ false
905
+ gap> IsZeroSemigroup(s);
906
+ false
907
+ gap> I := SemigroupIdeal(s, MultiplicativeZero(s));
908
+ <regular Rees 0-matrix semigroup ideal with 1 generator>
909
+ gap> IsZeroSemigroup(I);
910
+ true
911
+
912
+ #
913
+ gap> SEMIGROUPS.StopTest();
914
+ gap> STOP_TEST("Semigroups package: extreme/properties.tst");