passagemath-gap-pkg-semigroups 10.6.29__cp312-abi3-manylinux_2_24_aarch64.manylinux_2_28_aarch64.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-unknown-linux-gnu-default64-kv10/semigroups.so +0 -0
  15. gap/pkg/semigroups/config.guess +1807 -0
  16. gap/pkg/semigroups/config.log +1016 -0
  17. gap/pkg/semigroups/config.status +1132 -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 +354 -0
  349. passagemath_gap_pkg_semigroups-10.6.29.dist-info/WHEEL +6 -0
  350. passagemath_gap_pkg_semigroups-10.6.29.dist-info/top_level.txt +1 -0
  351. passagemath_gap_pkg_semigroups.libs/libsemigroups-8ea3c4e7.so.2.0.0 +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.abi3.so +0 -0
@@ -0,0 +1,1025 @@
1
+ #############################################################################
2
+ ##
3
+ #W extreme/inverse.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 D, IsIsometryPP, L, R, S, acting, ccong, classx, classy, classz, cong
12
+ #@local d, f, gens, h, i, inv, iso, iter, j, k, l, m, n, pairs, q, r, s, x, y, z
13
+ gap> START_TEST("Semigroups package: extreme/inverse.tst");
14
+ gap> LoadPackage("semigroups", false);;
15
+
16
+ #
17
+ gap> SEMIGROUPS.StartTest();
18
+ gap> SEMIGROUPS.DefaultOptionsRec.acting := true;;
19
+
20
+ # InverseTest1
21
+ gap> gens := [PartialPermNC([1, 2, 4], [1, 5, 2]),
22
+ > PartialPermNC([1, 2, 3], [2, 3, 5]),
23
+ > PartialPermNC([1, 3, 4], [2, 5, 4]),
24
+ > PartialPermNC([1, 2, 4], [3, 1, 2]),
25
+ > PartialPermNC([1, 2, 3], [3, 1, 4]),
26
+ > PartialPermNC([1, 2, 4], [3, 5, 2]),
27
+ > PartialPermNC([1, 2, 3, 4], [4, 1, 5, 2]),
28
+ > PartialPermNC([1, 2, 4, 5], [4, 3, 5, 2]),
29
+ > PartialPermNC([1, 2, 3, 4, 5], [5, 2, 4, 3, 1]),
30
+ > PartialPermNC([1, 3, 5], [5, 4, 1])];;
31
+ gap> s := InverseSemigroup(gens);
32
+ <inverse partial perm semigroup of rank 5 with 10 generators>
33
+ gap> Size(s);
34
+ 860
35
+ gap> NrRClasses(s);
36
+ 31
37
+ gap> RClassReps(s);
38
+ [ <identity partial perm on [ 1, 2, 5 ]>, [4,2,5](1), [3,2,5,1], [4,1](2)(5),
39
+ [3,1,5](2), [3,5][4,1,2], [3,5,2][4,1], [4,5,1,2], [3,5,2](1),
40
+ [3,2,5][4,1], <identity partial perm on [ 1, 2, 4, 5 ]>, [3,2,5,4,1],
41
+ [3,5](1,4,2), [3,4](1,5)(2), <identity partial perm on [ 1, 2, 3, 4, 5 ]>,
42
+ <identity partial perm on [ 2, 3 ]>, [1,2][5,3], [4,3](2), [5,3,2],
43
+ [1,2][4,3], [4,2][5,3], [1,3,2], [4,2](3), [5,2,3], [1,2,3],
44
+ <identity partial perm on [ 2 ]>, [5,2], [1,2], [3,2], [4,2],
45
+ <empty partial perm> ]
46
+ gap> List(last, DomainOfPartialPerm);
47
+ [ [ 1, 2, 5 ], [ 1, 2, 4 ], [ 2, 3, 5 ], [ 2, 4, 5 ], [ 1, 2, 3 ],
48
+ [ 1, 3, 4 ], [ 3, 4, 5 ], [ 1, 4, 5 ], [ 1, 3, 5 ], [ 2, 3, 4 ],
49
+ [ 1, 2, 4, 5 ], [ 2, 3, 4, 5 ], [ 1, 2, 3, 4 ], [ 1, 2, 3, 5 ],
50
+ [ 1, 2, 3, 4, 5 ], [ 2, 3 ], [ 1, 5 ], [ 2, 4 ], [ 3, 5 ], [ 1, 4 ],
51
+ [ 4, 5 ], [ 1, 3 ], [ 3, 4 ], [ 2, 5 ], [ 1, 2 ], [ 2 ], [ 5 ], [ 1 ],
52
+ [ 3 ], [ 4 ], [ ] ]
53
+ gap> IsDuplicateFreeList(last);
54
+ true
55
+
56
+ # InverseTest2
57
+ gap> s := InverseSemigroup(PartialPermNC([1, 2], [1, 2]),
58
+ > PartialPermNC([1, 2], [1, 3]));;
59
+ gap> GreensHClasses(s);
60
+ [ <Green's H-class: <identity partial perm on [ 1, 2 ]>>,
61
+ <Green's H-class: [2,3](1)>, <Green's H-class: [3,2](1)>,
62
+ <Green's H-class: <identity partial perm on [ 1, 3 ]>>,
63
+ <Green's H-class: <identity partial perm on [ 1 ]>> ]
64
+ gap> s := InverseSemigroup(Generators(s));;
65
+ gap> HClassReps(s);
66
+ [ <identity partial perm on [ 1, 2 ]>, [2,3](1), [3,2](1),
67
+ <identity partial perm on [ 1, 3 ]>, <identity partial perm on [ 1 ]> ]
68
+ gap> GreensHClasses(s);
69
+ [ <Green's H-class: <identity partial perm on [ 1, 2 ]>>,
70
+ <Green's H-class: [2,3](1)>, <Green's H-class: [3,2](1)>,
71
+ <Green's H-class: <identity partial perm on [ 1, 3 ]>>,
72
+ <Green's H-class: <identity partial perm on [ 1 ]>> ]
73
+
74
+ # InverseTest3
75
+ gap> gens := [PartialPermNC([1, 2, 3, 5, 6, 7, 8, 11, 12, 16, 19],
76
+ > [9, 18, 20, 11, 5, 16, 8, 19, 14, 13, 1]),
77
+ > PartialPermNC([1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 14, 16, 18, 19, 20],
78
+ > [13, 1, 8, 5, 4, 14, 11, 12, 9, 20, 2, 18, 7, 3, 19])];;
79
+ gap> s := InverseSemigroup(gens);;
80
+ gap> d := DClass(s, Generators(s)[1]);
81
+ <Green's D-class: [2,18][3,20][6,5,11,19,1,9][7,16,13][12,14](8)>
82
+ gap> PartialPerm([1, 5, 8, 9, 11, 13, 14, 16, 18, 19, 20],
83
+ > [1, 5, 8, 9, 11, 13, 14, 16, 18, 19, 20]) in d;
84
+ true
85
+ gap> Size(s);
86
+ 60880
87
+ gap> h := HClass(d, Generators(s)[1]);
88
+ <Green's H-class: [2,18][3,20][6,5,11,19,1,9][7,16,13][12,14](8)>
89
+ gap> Generators(s)[1] in h;
90
+ true
91
+ gap> Generators(s)[1] in h;
92
+ true
93
+ gap> DClassOfHClass(h) = d;
94
+ true
95
+ gap> DClassOfHClass(h);
96
+ <Green's D-class: [2,18][3,20][6,5,11,19,1,9][7,16,13][12,14](8)>
97
+ gap> PartialPerm([1, 5, 8, 9, 11, 13, 14, 16, 18, 19, 20],
98
+ > [1, 5, 8, 9, 11, 13, 14, 16, 18, 19, 20]) in last;
99
+ true
100
+ gap> r := RClassOfHClass(h);
101
+ <Green's R-class: [2,18][3,20][6,5,11,19,1,9][7,16,13][12,14](8)>
102
+ gap> Representative(h) in r;
103
+ true
104
+ gap> ForAll(h, x -> x in r);
105
+ true
106
+ gap> l := LClass(h);
107
+ <Green's L-class: [2,18][3,20][6,5,11,19,1,9][7,16,13][12,14](8)>
108
+ gap> PartialPerm([1, 5, 8, 9, 11, 13, 14, 16, 18, 19, 20],
109
+ > [1, 5, 8, 9, 11, 13, 14, 16, 18, 19, 20]) in l;
110
+ true
111
+ gap> ForAll(h, x -> x in l);
112
+ true
113
+ gap> Representative(l) in l;
114
+ true
115
+ gap> IsGreensLClass(l);
116
+ true
117
+ gap> DClassOfLClass(l) = d;
118
+ true
119
+ gap> DClassOfRClass(r) = d;
120
+ true
121
+ gap> S := InverseSemigroup(PartialPermNC([1, 2, 3, 6, 8, 10],
122
+ > [2, 6, 7, 9, 1, 5]), PartialPermNC([1, 2, 3, 4, 6, 7, 8, 10],
123
+ > [3, 8, 1, 9, 4, 10, 5, 6]));
124
+ <inverse partial perm semigroup of rank 10 with 2 generators>
125
+ gap> f := Generators(S)[1];
126
+ [3,7][8,1,2,6,9][10,5]
127
+ gap> h := HClass(S, f);
128
+ <Green's H-class: [3,7][8,1,2,6,9][10,5]>
129
+ gap> IsGreensHClass(h);
130
+ true
131
+ gap> RClassOfHClass(h);
132
+ <Green's R-class: [3,7][8,1,2,6,9][10,5]>
133
+ gap> LClassOfHClass(h);
134
+ <Green's L-class: [3,7][8,1,2,6,9][10,5]>
135
+ gap> PartialPerm([1, 2, 5, 6, 7, 9], [1, 2, 5, 6, 7, 9]) in last;
136
+ true
137
+ gap> r := RClassOfHClass(h);
138
+ <Green's R-class: [3,7][8,1,2,6,9][10,5]>
139
+ gap> l := LClass(h);
140
+ <Green's L-class: [3,7][8,1,2,6,9][10,5]>
141
+ gap> PartialPerm([1, 2, 5, 6, 7, 9], [1, 2, 5, 6, 7, 9]) in last;
142
+ true
143
+ gap> DClass(r) = DClass(l);
144
+ true
145
+ gap> DClass(h) = DClass(l);
146
+ true
147
+ gap> f := PartialPermNC([1, 2, 3, 5, 6, 7, 8, 11, 12, 16, 19],
148
+ > [9, 18, 20, 11, 5, 16, 8, 19, 14, 13, 1]);;
149
+ gap> h := HClass(s, f);
150
+ <Green's H-class: [2,18][3,20][6,5,11,19,1,9][7,16,13][12,14](8)>
151
+ gap> ForAll(h, x -> x in RClassOfHClass(h));
152
+ true
153
+ gap> Size(h);
154
+ 1
155
+ gap> IsGroupHClass(h);
156
+ false
157
+
158
+ # InverseTest5
159
+ gap> s := Semigroup([Transformation([3, 2, 1, 6, 5, 4]),
160
+ > Transformation([4, 7, 3, 1, 6, 5, 7])]);
161
+ <transformation semigroup of degree 7 with 2 generators>
162
+ gap> iso := IsomorphismPartialPermSemigroup(s);;
163
+ gap> inv := InverseGeneralMapping(iso);;
164
+ gap> f := Transformation([1, 7, 3, 4, 5, 6, 7]);;
165
+ gap> f ^ iso;
166
+ <identity partial perm on [ 1, 3, 4, 5, 6, 7 ]>
167
+ gap> (f ^ iso) ^ inv;
168
+ Transformation( [ 1, 7, 3, 4, 5, 6, 7 ] )
169
+ gap> ForAll(s, f -> (f ^ iso) ^ inv = f);
170
+ true
171
+
172
+ # InverseTest6
173
+ gap> s := Semigroup(Transformation([2, 5, 1, 7, 3, 7, 7]),
174
+ > Transformation([3, 6, 5, 7, 2, 1, 7]));;
175
+ gap> iso := IsomorphismPartialPermSemigroup(s);;
176
+ gap> inv := InverseGeneralMapping(iso);;
177
+ gap> f := Transformation([7, 1, 7, 7, 7, 7, 7]);;
178
+ gap> f ^ iso;
179
+ [2,1](7)
180
+ gap> (f ^ iso) ^ inv = f;
181
+ true
182
+ gap> f := Random(s);;
183
+ gap> (f ^ iso) ^ inv = f;
184
+ true
185
+ gap> f := Random(s);;
186
+ gap> (f ^ iso) ^ inv = f;
187
+ true
188
+ gap> f := Random(s);;
189
+ gap> (f ^ iso) ^ inv = f;
190
+ true
191
+ gap> f := Random(s);;
192
+ gap> (f ^ iso) ^ inv = f;
193
+ true
194
+ gap> f := Random(s);;
195
+ gap> (f ^ iso) ^ inv = f;
196
+ true
197
+ gap> f := Random(s);;
198
+ gap> (f ^ iso) ^ inv = f;
199
+ true
200
+ gap> Size(Range(iso));
201
+ 631
202
+ gap> ForAll(s, f -> f ^ iso in Range(iso));
203
+ true
204
+ gap> Size(s);
205
+ 631
206
+
207
+ # InverseTest8
208
+ gap> s := InverseSemigroup(PartialPermNC([1, 2, 3], [2, 4, 1]),
209
+ > PartialPermNC([1, 3, 4], [3, 4, 1]));;
210
+ gap> GreensDClasses(s);
211
+ [ <Green's D-class: <identity partial perm on [ 1, 2, 4 ]>>,
212
+ <Green's D-class: <identity partial perm on [ 1, 3, 4 ]>>,
213
+ <Green's D-class: <identity partial perm on [ 1, 3 ]>>,
214
+ <Green's D-class: <identity partial perm on [ 4 ]>>,
215
+ <Green's D-class: <empty partial perm>> ]
216
+ gap> GreensHClasses(s);
217
+ [ <Green's H-class: <identity partial perm on [ 1, 2, 4 ]>>,
218
+ <Green's H-class: [4,2,1,3]>, <Green's H-class: [3,1,2,4]>,
219
+ <Green's H-class: <identity partial perm on [ 1, 2, 3 ]>>,
220
+ <Green's H-class: <identity partial perm on [ 1, 3, 4 ]>>,
221
+ <Green's H-class: <identity partial perm on [ 1, 3 ]>>,
222
+ <Green's H-class: [3,1,2]>, <Green's H-class: [1,4][3,2]>,
223
+ <Green's H-class: [1,3,4]>, <Green's H-class: [3,1,4]>,
224
+ <Green's H-class: [1,2](3)>, <Green's H-class: [2,1,3]>,
225
+ <Green's H-class: <identity partial perm on [ 1, 2 ]>>,
226
+ <Green's H-class: [1,2,4]>, <Green's H-class: [1,4][2,3]>,
227
+ <Green's H-class: [2,4](1)>, <Green's H-class: [1,3](2)>,
228
+ <Green's H-class: [2,3][4,1]>, <Green's H-class: [4,2,1]>,
229
+ <Green's H-class: <identity partial perm on [ 2, 4 ]>>,
230
+ <Green's H-class: [2,4,3]>, <Green's H-class: [2,1](4)>,
231
+ <Green's H-class: [4,2,3]>, <Green's H-class: [4,3,1]>,
232
+ <Green's H-class: [3,2][4,1]>, <Green's H-class: [3,4,2]>,
233
+ <Green's H-class: <identity partial perm on [ 3, 4 ]>>,
234
+ <Green's H-class: [3,4,1]>, <Green's H-class: [4,3,2]>,
235
+ <Green's H-class: [4,1,3]>, <Green's H-class: [4,2](1)>,
236
+ <Green's H-class: [1,2](4)>, <Green's H-class: [1,4,3]>,
237
+ <Green's H-class: <identity partial perm on [ 1, 4 ]>>,
238
+ <Green's H-class: [1,3][4,2]>, <Green's H-class: [2,1](3)>,
239
+ <Green's H-class: [3,1](2)>, <Green's H-class: [3,2,4]>,
240
+ <Green's H-class: [2,3,4]>, <Green's H-class: [2,4][3,1]>,
241
+ <Green's H-class: <identity partial perm on [ 2, 3 ]>>,
242
+ <Green's H-class: <identity partial perm on [ 4 ]>>,
243
+ <Green's H-class: [4,1]>, <Green's H-class: [4,3]>,
244
+ <Green's H-class: [4,2]>, <Green's H-class: [1,4]>,
245
+ <Green's H-class: <identity partial perm on [ 1 ]>>,
246
+ <Green's H-class: [1,3]>, <Green's H-class: [1,2]>,
247
+ <Green's H-class: [3,4]>, <Green's H-class: [3,1]>,
248
+ <Green's H-class: <identity partial perm on [ 3 ]>>,
249
+ <Green's H-class: [3,2]>, <Green's H-class: [2,4]>,
250
+ <Green's H-class: [2,1]>, <Green's H-class: [2,3]>,
251
+ <Green's H-class: <identity partial perm on [ 2 ]>>,
252
+ <Green's H-class: <empty partial perm>> ]
253
+ gap> IsDuplicateFree(last);
254
+ true
255
+ gap> GreensLClasses(s);
256
+ [ <Green's L-class: <identity partial perm on [ 1, 2, 4 ]>>,
257
+ <Green's L-class: [4,2,1,3]>,
258
+ <Green's L-class: <identity partial perm on [ 1, 3, 4 ]>>,
259
+ <Green's L-class: <identity partial perm on [ 1, 3 ]>>,
260
+ <Green's L-class: [3,1,2]>, <Green's L-class: [1,4][3,2]>,
261
+ <Green's L-class: [1,3,4]>, <Green's L-class: [3,1,4]>,
262
+ <Green's L-class: [1,2](3)>,
263
+ <Green's L-class: <identity partial perm on [ 4 ]>>,
264
+ <Green's L-class: [4,1]>, <Green's L-class: [4,3]>,
265
+ <Green's L-class: [4,2]>, <Green's L-class: <empty partial perm>> ]
266
+ gap> GreensRClasses(s);
267
+ [ <Green's R-class: <identity partial perm on [ 1, 2, 4 ]>>,
268
+ <Green's R-class: [3,1,2,4]>,
269
+ <Green's R-class: <identity partial perm on [ 1, 3, 4 ]>>,
270
+ <Green's R-class: <identity partial perm on [ 1, 3 ]>>,
271
+ <Green's R-class: [2,1,3]>, <Green's R-class: [2,3][4,1]>,
272
+ <Green's R-class: [4,3,1]>, <Green's R-class: [4,1,3]>,
273
+ <Green's R-class: [2,1](3)>,
274
+ <Green's R-class: <identity partial perm on [ 4 ]>>,
275
+ <Green's R-class: [1,4]>, <Green's R-class: [3,4]>,
276
+ <Green's R-class: [2,4]>, <Green's R-class: <empty partial perm>> ]
277
+ gap> D := GreensDClasses(s)[2];
278
+ <Green's D-class: <identity partial perm on [ 1, 3, 4 ]>>
279
+ gap> GreensLClasses(D);
280
+ [ <Green's L-class: <identity partial perm on [ 1, 3, 4 ]>> ]
281
+ gap> GreensRClasses(D);
282
+ [ <Green's R-class: <identity partial perm on [ 1, 3, 4 ]>> ]
283
+ gap> GreensHClasses(D);
284
+ [ <Green's H-class: <identity partial perm on [ 1, 3, 4 ]>> ]
285
+ gap> D := GreensDClasses(s)[3];
286
+ <Green's D-class: <identity partial perm on [ 1, 3 ]>>
287
+ gap> PartialPerm([1, 3], [1, 3]) in last;
288
+ true
289
+ gap> GreensLClasses(D);
290
+ [ <Green's L-class: <identity partial perm on [ 1, 3 ]>>,
291
+ <Green's L-class: [3,1,2]>, <Green's L-class: [1,4][3,2]>,
292
+ <Green's L-class: [1,3,4]>, <Green's L-class: [3,1,4]>,
293
+ <Green's L-class: [1,2](3)> ]
294
+ gap> GreensRClasses(D);
295
+ [ <Green's R-class: <identity partial perm on [ 1, 3 ]>>,
296
+ <Green's R-class: [2,1,3]>, <Green's R-class: [2,3][4,1]>,
297
+ <Green's R-class: [4,3,1]>, <Green's R-class: [4,1,3]>,
298
+ <Green's R-class: [2,1](3)> ]
299
+ gap> GreensHClasses(D);
300
+ [ <Green's H-class: <identity partial perm on [ 1, 3 ]>>,
301
+ <Green's H-class: [3,1,2]>, <Green's H-class: [1,4][3,2]>,
302
+ <Green's H-class: [1,3,4]>, <Green's H-class: [3,1,4]>,
303
+ <Green's H-class: [1,2](3)>, <Green's H-class: [2,1,3]>,
304
+ <Green's H-class: <identity partial perm on [ 1, 2 ]>>,
305
+ <Green's H-class: [1,2,4]>, <Green's H-class: [1,4][2,3]>,
306
+ <Green's H-class: [2,4](1)>, <Green's H-class: [1,3](2)>,
307
+ <Green's H-class: [2,3][4,1]>, <Green's H-class: [4,2,1]>,
308
+ <Green's H-class: <identity partial perm on [ 2, 4 ]>>,
309
+ <Green's H-class: [2,4,3]>, <Green's H-class: [2,1](4)>,
310
+ <Green's H-class: [4,2,3]>, <Green's H-class: [4,3,1]>,
311
+ <Green's H-class: [3,2][4,1]>, <Green's H-class: [3,4,2]>,
312
+ <Green's H-class: <identity partial perm on [ 3, 4 ]>>,
313
+ <Green's H-class: [3,4,1]>, <Green's H-class: [4,3,2]>,
314
+ <Green's H-class: [4,1,3]>, <Green's H-class: [4,2](1)>,
315
+ <Green's H-class: [1,2](4)>, <Green's H-class: [1,4,3]>,
316
+ <Green's H-class: <identity partial perm on [ 1, 4 ]>>,
317
+ <Green's H-class: [1,3][4,2]>, <Green's H-class: [2,1](3)>,
318
+ <Green's H-class: [3,1](2)>, <Green's H-class: [3,2,4]>,
319
+ <Green's H-class: [2,3,4]>, <Green's H-class: [2,4][3,1]>,
320
+ <Green's H-class: <identity partial perm on [ 2, 3 ]>> ]
321
+ gap> h := last[9];;
322
+ gap> L := LClass(D, Representative(h));
323
+ <Green's L-class: [1,2,4]>
324
+ gap> Position(HClasses(L), h);
325
+ 2
326
+ gap> DClassOfLClass(L) = D;
327
+ true
328
+ gap> LClassOfHClass(h) = L;
329
+ true
330
+ gap> R := RClassOfHClass(h);
331
+ <Green's R-class: [1,2,4]>
332
+ gap> Position(HClasses(R), h);
333
+ 3
334
+ gap> DClassOfRClass(R) = D;
335
+ true
336
+
337
+ # InverseTest9
338
+ gap> s := InverseSemigroup(
339
+ > PartialPermNC([1, 2, 3, 5], [1, 4, 6, 3]),
340
+ > PartialPermNC([1, 2, 3, 4, 6], [3, 6, 4, 5, 1]));;
341
+ gap> f := PartialPermNC([1, 4, 6], [6, 3, 1]);;
342
+ gap> D := DClass(s, f);
343
+ <Green's D-class: [4,3](1,6)>
344
+ gap> PartialPerm([3, 4, 6], [3, 4, 6]) in last;
345
+ true
346
+ gap> LClass(s, f) = LClass(D, f);
347
+ true
348
+ gap> RClass(s, f) = RClass(D, f);
349
+ true
350
+ gap> R := RClass(s, f);
351
+ <Green's R-class: [4,3](1,6)>
352
+ gap> HClass(s, f) = HClass(R, f);
353
+ true
354
+ gap> HClass(D, f) = HClass(R, f);
355
+ true
356
+ gap> L := LClass(s, f);
357
+ <Green's L-class: [4,3](1,6)>
358
+ gap> HClass(D, f) = HClass(L, f);
359
+ true
360
+ gap> HClass(s, f) = HClass(L, f);
361
+ true
362
+
363
+ # InverseTest10
364
+ gap> s := POI(10);
365
+ <inverse partial perm monoid of rank 10 with 10 generators>
366
+ gap> f := PartialPermNC([2, 4, 5, 7], [2, 3, 5, 7]);;
367
+ gap> l := LClassNC(s, f);
368
+ <Green's L-class: [4,3](2)(5)(7)>
369
+ gap> PartialPerm([2, 3, 5, 7], [2, 3, 5, 7]) in last;
370
+ true
371
+ gap> l := LClass(s, f);
372
+ <Green's L-class: [4,3](2)(5)(7)>
373
+ gap> s := POI(15);
374
+ <inverse partial perm monoid of rank 15 with 15 generators>
375
+ gap> f := PartialPermNC([1, 3, 5, 8, 9, 10, 12, 13, 14],
376
+ > [2, 3, 4, 7, 9, 11, 12, 13, 15]);;
377
+ gap> l := LClass(s, f);
378
+ <Green's L-class: [1,2][5,4][8,7][10,11][14,15](3)(9)(12)(13)>
379
+ gap> l := LClassNC(s, f);
380
+ <Green's L-class: [1,2][5,4][8,7][10,11][14,15](3)(9)(12)(13)>
381
+ gap> PartialPerm([2, 3, 4, 7, 9, 11, 12, 13, 15], [2, 3, 4, 7, 9, 11, 12, 13, 15]) in last;
382
+ true
383
+ gap> s := POI(15);;
384
+ gap> l := LClassNC(s, f);
385
+ <Green's L-class: [1,2][5,4][8,7][10,11][14,15](3)(9)(12)(13)>
386
+ gap> PartialPerm([2, 3, 4, 7, 9, 11, 12, 13, 15], [2, 3, 4, 7, 9, 11, 12, 13, 15]) in last;
387
+ true
388
+ gap> l = LClass(s, f);
389
+ true
390
+ gap> f := PartialPermNC([1, 2, 4, 7, 8, 11, 12], [1, 2, 6, 7, 9, 10, 11]);;
391
+ gap> l := LClass(POI(12), f);
392
+ <Green's L-class: [4,6][8,9][12,11,10](1)(2)(7)>
393
+ gap> f := PartialPermNC([1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 13],
394
+ > [1, 2, 3, 4, 5, 7, 8, 9, 10, 12, 13]);;
395
+ gap> l := LClass(POI(13), f);
396
+ <Green's L-class: [6,5][11,12](1)(2)(3)(4)(7)(8)(9)(10)(13)>
397
+ gap> f := PartialPermNC([1, 2, 3, 4, 7, 8, 9, 10],
398
+ > [2, 3, 4, 5, 6, 8, 10, 11]);;
399
+ gap> l := LClass(POI(13), f);
400
+ <Green's L-class: [1,2,3,4,5][7,6][9,10,11](8)>
401
+ gap> LClassNC(POI(13), f);
402
+ <Green's L-class: [1,2,3,4,5][7,6][9,10,11](8)>
403
+ gap> PartialPerm([2, 3, 4, 5, 6, 8, 10, 11], [2, 3, 4, 5, 6, 8, 10, 11]) in last;
404
+ true
405
+ gap> RClassNC(POI(13), f);
406
+ <Green's R-class: [1,2,3,4,5][7,6][9,10,11](8)>
407
+ gap> HClassNC(POI(13), f);
408
+ <Green's H-class: [1,2,3,4,5][7,6][9,10,11](8)>
409
+ gap> DClassNC(POI(13), f);
410
+ <Green's D-class: [1,2,3,4,5][7,6][9,10,11](8)>
411
+ gap> PartialPerm([2, 3, 4, 5, 6, 8, 10, 11], [2, 3, 4, 5, 6, 8, 10, 11]) in last;
412
+ true
413
+ gap> s := POI(13);
414
+ <inverse partial perm monoid of rank 13 with 13 generators>
415
+ gap> D := DClassNC(s, f);
416
+ <Green's D-class: [1,2,3,4,5][7,6][9,10,11](8)>
417
+ gap> PartialPerm([2, 3, 4, 5, 6, 8, 10, 11], [2, 3, 4, 5, 6, 8, 10, 11]) in last;
418
+ true
419
+ gap> l := LClassNC(s, f);
420
+ <Green's L-class: [1,2,3,4,5][7,6][9,10,11](8)>
421
+ gap> PartialPerm([2, 3, 4, 5, 6, 8, 10, 11], [2, 3, 4, 5, 6, 8, 10, 11]) in last;
422
+ true
423
+ gap> l := LClass(s, f);
424
+ <Green's L-class: [1,2,3,4,5][7,6][9,10,11](8)>
425
+ gap> s := POI(15);
426
+ <inverse partial perm monoid of rank 15 with 15 generators>
427
+ gap> f := PartialPermNC([1, 3, 5, 8, 9, 10, 12, 13, 14],
428
+ > [2, 3, 4, 7, 9, 11, 12, 13, 15]);;
429
+ gap> l := LClass(s, f);
430
+ <Green's L-class: [1,2][5,4][8,7][10,11][14,15](3)(9)(12)(13)>
431
+ gap> l := LClassNC(s, f);
432
+ <Green's L-class: [1,2][5,4][8,7][10,11][14,15](3)(9)(12)(13)>
433
+ gap> PartialPerm([2, 3, 4, 7, 9, 11, 12, 13, 15], [2, 3, 4, 7, 9, 11, 12, 13, 15]) in last;
434
+ true
435
+ gap> s := POI(15);;
436
+ gap> l := LClassNC(s, f);
437
+ <Green's L-class: [1,2][5,4][8,7][10,11][14,15](3)(9)(12)(13)>
438
+ gap> PartialPerm([2, 3, 4, 7, 9, 11, 12, 13, 15], [2, 3, 4, 7, 9, 11, 12, 13, 15]) in last;
439
+ true
440
+ gap> l = LClass(s, f);
441
+ true
442
+ gap> f := PartialPermNC([1, 2, 4, 7, 8, 11, 12], [1, 2, 6, 7, 9, 10, 11]);;
443
+ gap> l := LClass(POI(12), f);
444
+ <Green's L-class: [4,6][8,9][12,11,10](1)(2)(7)>
445
+ gap> f := PartialPermNC([1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 13],
446
+ > [1, 2, 3, 4, 5, 7, 8, 9, 10, 12, 13]);;
447
+ gap> l := LClass(POI(13), f);
448
+ <Green's L-class: [6,5][11,12](1)(2)(3)(4)(7)(8)(9)(10)(13)>
449
+ gap> f := PartialPermNC([1, 2, 3, 4, 7, 8, 9, 10],
450
+ > [2, 3, 4, 5, 6, 8, 10, 11]);;
451
+ gap> l := LClass(POI(13), f);
452
+ <Green's L-class: [1,2,3,4,5][7,6][9,10,11](8)>
453
+ gap> LClassNC(POI(13), f);
454
+ <Green's L-class: [1,2,3,4,5][7,6][9,10,11](8)>
455
+ gap> PartialPerm([2, 3, 4, 5, 6, 8, 10, 11], [2, 3, 4, 5, 6, 8, 10, 11]) in last;
456
+ true
457
+ gap> RClassNC(POI(13), f);
458
+ <Green's R-class: [1,2,3,4,5][7,6][9,10,11](8)>
459
+ gap> HClassNC(POI(13), f);
460
+ <Green's H-class: [1,2,3,4,5][7,6][9,10,11](8)>
461
+ gap> DClassNC(POI(13), f);
462
+ <Green's D-class: [1,2,3,4,5][7,6][9,10,11](8)>
463
+ gap> PartialPerm([2, 3, 4, 5, 6, 8, 10, 11], [2, 3, 4, 5, 6, 8, 10, 11]) in last;
464
+ true
465
+ gap> s := POI(13);
466
+ <inverse partial perm monoid of rank 13 with 13 generators>
467
+ gap> D := DClassNC(s, f);
468
+ <Green's D-class: [1,2,3,4,5][7,6][9,10,11](8)>
469
+ gap> PartialPerm([2, 3, 4, 5, 6, 8, 10, 11], [2, 3, 4, 5, 6, 8, 10, 11]) in last;
470
+ true
471
+ gap> LClassNC(s, f) = LClass(D, f);
472
+ true
473
+ gap> LClass(s, f) = LClassNC(D, f);
474
+ true
475
+ gap> LClassNC(s, f) = LClassNC(D, f);
476
+ true
477
+ gap> LClassNC(s, f) = LClassNC(D, f);
478
+ true
479
+ gap> RClass(s, f) = RClassNC(D, f);
480
+ true
481
+ gap> RClassNC(s, f) = RClassNC(D, f);
482
+ true
483
+ gap> RClassNC(s, f) = RClass(D, f);
484
+ true
485
+ gap> R := RClassNC(s, f);
486
+ <Green's R-class: [1,2,3,4,5][7,6][9,10,11](8)>
487
+ gap> HClass(s, f) = HClass(R, f);
488
+ true
489
+ gap> HClassNC(s, f) = HClass(R, f);
490
+ true
491
+ gap> HClassNC(s, f) = HClassNC(R, f);
492
+ true
493
+ gap> HClass(s, f) = HClassNC(R, f);
494
+ true
495
+ gap> L := LClassNC(s, f);
496
+ <Green's L-class: [1,2,3,4,5][7,6][9,10,11](8)>
497
+ gap> PartialPerm([2, 3, 4, 5, 6, 8, 10, 11], [2, 3, 4, 5, 6, 8, 10, 11]) in last;
498
+ true
499
+ gap> HClass(s, f) = HClassNC(L, f);
500
+ true
501
+ gap> HClass(s, f) = HClass(L, f);
502
+ true
503
+ gap> HClassNC(L, f) = HClass(D, f);
504
+ true
505
+ gap> HClassNC(L, f) = HClassNC(s, f);
506
+ true
507
+ gap> HClass(D, f) = HClassNC(s, f);
508
+ true
509
+
510
+ # InverseTest11
511
+ gap> m := InverseSemigroup(
512
+ > PartialPermNC([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
513
+ > 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
514
+ > 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
515
+ > 56, 57, 58, 59, 60, 61, 62, 63, 64], [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
516
+ > 12, 13, 14, 15, 16, 33, 34, 35, 36, 37, 39, 40, 41, 43, 44, 46, 49, 50, 52,
517
+ > 55, 59, 17, 18, 19, 20, 21, 38, 22, 23, 24, 42, 25, 26, 45, 27, 47, 48, 28,
518
+ > 29, 51, 30, 53, 54, 31, 56, 57, 58, 32, 60, 61, 62, 63, 64]),
519
+ > PartialPermNC([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
520
+ > 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
521
+ > 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
522
+ > 56, 57, 58, 59, 60, 61, 62, 63, 64], [1, 2, 3, 4, 9, 10, 11, 13, 5, 6, 7,
523
+ > 12, 8, 14, 15, 16, 17, 18, 19, 21, 20, 22, 24, 23, 26, 25, 27, 29, 28, 30,
524
+ > 31, 32, 33, 34, 35, 37, 36, 38, 39, 41, 40, 42, 44, 43, 45, 46, 48, 47, 50,
525
+ > 49, 51, 52, 54, 53, 55, 57, 56, 58, 59, 61, 60, 62, 63, 64]),
526
+ > PartialPermNC([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
527
+ > 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
528
+ > 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
529
+ > 56, 57, 58, 59, 60, 61, 62, 63, 64], [1, 2, 3, 4, 5, 6, 7, 8, 17, 18, 19,
530
+ > 20, 22, 23, 25, 28, 9, 10, 11, 12, 21, 13, 14, 24, 15, 26, 27, 16, 29, 30,
531
+ > 31, 32, 33, 34, 35, 36, 38, 37, 39, 40, 42, 41, 43, 45, 44, 47, 46, 48, 49,
532
+ > 51, 50, 53, 52, 54, 56, 55, 57, 58, 60, 59, 61, 62, 63, 64]),
533
+ > PartialPermNC([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
534
+ > 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
535
+ > 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
536
+ > 56, 57, 58, 59, 60, 61, 62, 63, 64], [1, 3, 2, 4, 5, 7, 6, 8, 9, 11, 10,
537
+ > 12, 13, 15, 14, 16, 17, 19, 18, 20, 21, 22, 25, 26, 23, 24, 27, 28, 29, 31,
538
+ > 30, 32, 33, 35, 34, 36, 37, 38, 39, 43, 44, 45, 40, 41, 42, 46, 47, 48, 49,
539
+ > 50, 51, 55, 56, 57, 52, 53, 54, 58, 59, 60, 61, 63, 62, 64]),
540
+ > PartialPermNC([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
541
+ > 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
542
+ > 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
543
+ > 56, 57, 58, 59, 60, 61, 62, 63, 64], [1, 2, 5, 6, 3, 4, 7, 8, 9, 10, 12,
544
+ > 11, 14, 13, 15, 16, 17, 18, 20, 19, 21, 23, 22, 24, 25, 27, 26, 28, 30, 29,
545
+ > 31, 32, 33, 34, 36, 35, 37, 38, 40, 39, 41, 42, 43, 46, 47, 44, 45, 48, 49,
546
+ > 52, 53, 50, 51, 54, 55, 56, 58, 57, 59, 60, 62, 61, 63, 64]),
547
+ > PartialPermNC([2, 4, 6, 8, 10, 13, 14, 16, 18, 22, 23, 24, 28, 29, 30, 32,
548
+ > 34, 39, 40, 41, 42, 49, 50, 51, 52, 53, 54, 59, 60, 61, 62, 64],
549
+ > [3, 4, 7, 8, 11, 13, 15, 16, 19, 22, 25, 26, 28, 29, 31, 32, 35, 39, 43, 44,
550
+ > 45, 49, 50, 51, 55, 56, 57, 59, 60, 61, 63, 64]));;
551
+ gap> DClassReps(m);
552
+ [ <identity partial perm on
553
+ [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2\
554
+ 1, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,\
555
+ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 6\
556
+ 0, 61, 62, 63, 64 ]>,
557
+ <identity partial perm on
558
+ [ 3, 4, 7, 8, 11, 13, 15, 16, 19, 22, 25, 26, 28, 29, 31, 32, 35, 39, 43, \
559
+ 44, 45, 49, 50, 51, 55, 56, 57, 59, 60, 61, 63, 64 ]>,
560
+ <identity partial perm on
561
+ [ 4, 8, 13, 16, 22, 28, 29, 32, 39, 49, 50, 51, 59, 60, 61, 64 ]>,
562
+ <identity partial perm on [ 39, 49, 50, 51, 59, 60, 61, 64 ]>,
563
+ <identity partial perm on [ 31, 32, 63, 64 ]>,
564
+ <identity partial perm on [ 61, 64 ]>, <identity partial perm on [ 64 ]> ]
565
+ gap> NrLClasses(m);
566
+ 64
567
+ gap> IsRTrivial(m);
568
+ false
569
+ gap> Size(m);
570
+ 13327
571
+ gap> f := PartialPermNC([27, 30, 31, 32, 58, 62, 63, 64],
572
+ > [8, 16, 28, 60, 49, 59, 32, 64]);;
573
+ gap> d := DClassNC(m, f);
574
+ <Green's D-class: [27,8][30,16][31,28][58,49][62,59][63,32,60](64)>
575
+ gap> PartialPerm([8, 16, 28, 32, 49, 59, 60, 64], [8, 16, 28, 32, 49, 59, 60, 64]) in last;
576
+ true
577
+ gap> LClassReps(d);
578
+ [ <identity partial perm on [ 8, 16, 28, 32, 49, 59, 60, 64 ]>,
579
+ [8,13][28,29][49,50][60,61](16)(32)(59)(64),
580
+ [8,22][16,28,29][49,51][59,60,61](32)(64),
581
+ [8,39][16,49,51][28,50][32,59,60,61](64),
582
+ [8,40][16,49,53][28,52][32,59,60,62](64), [8,23][16,28,30][49,53][59,60,62]
583
+ (32)(64), [8,14][28,30][49,52][60,62](16)(32)(59)(64),
584
+ [8,15][28,31][49,55][60,63](16)(32)(59)(64),
585
+ [8,25][16,28,31][49,56][59,60,63](32)(64),
586
+ [8,43][16,49,56][28,55][32,59,60,63](64),
587
+ [8,44][16,50][28,55][32,59,61][49,57][60,63](64),
588
+ [8,41][16,50][28,52][32,59,61][49,54][60,62](64),
589
+ [8,24][16,29][28,30][49,54][59,61][60,62](32)(64),
590
+ [8,26][16,29][28,31][49,57][59,61][60,63](32)(64),
591
+ [8,27][16,30][28,31][49,58][59,62][60,63](32)(64),
592
+ [8,46][16,52][28,55][32,59,62][49,58][60,63](64),
593
+ [8,47][16,53][28,56][32,60,63][49,58][59,62](64),
594
+ [8,45][16,51][28,56][32,60,63][49,57][59,61](64),
595
+ [8,42][16,51][28,53][32,60,62][49,54][59,61](64),
596
+ [8,48][16,54][28,57][32,61][49,58][59,62][60,63](64) ]
597
+ gap> List(DClasses(m), NrRClasses);
598
+ [ 1, 6, 15, 20, 15, 6, 1 ]
599
+ gap> d := DClasses(m)[6];
600
+ <Green's D-class: <identity partial perm on [ 61, 64 ]>>
601
+ gap> PartialPerm([61, 64], [61, 64]) in last;
602
+ true
603
+ gap> LClassReps(d);
604
+ [ <identity partial perm on [ 61, 64 ]>, [61,60](64), [61,59](64),
605
+ [61,32](64), [61,62](64), [61,63](64) ]
606
+ gap> RClassReps(d);
607
+ [ <identity partial perm on [ 61, 64 ]>, [60,61](64), [59,61](64),
608
+ [32,61](64), [62,61](64), [63,61](64) ]
609
+ gap> d := DClassNC(m, Representative(d));
610
+ <Green's D-class: <identity partial perm on [ 61, 64 ]>>
611
+ gap> PartialPerm([61, 64], [61, 64]) in last;
612
+ true
613
+ gap> LClassReps(d);
614
+ [ <identity partial perm on [ 61, 64 ]>, [61,60](64), [61,59](64),
615
+ [61,32](64), [61,62](64), [61,63](64) ]
616
+ gap> RClassReps(m);
617
+ [ <identity partial perm on
618
+ [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2\
619
+ 1, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,\
620
+ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 6\
621
+ 0, 61, 62, 63, 64 ]>,
622
+ <identity partial perm on
623
+ [ 3, 4, 7, 8, 11, 13, 15, 16, 19, 22, 25, 26, 28, 29, 31, 32, 35, 39, 43, \
624
+ 44, 45, 49, 50, 51, 55, 56, 57, 59, 60, 61, 63, 64 ]>,
625
+ [2,3][6,7][10,11][14,15][18,19][23,25][24,26][30,31][34,35][40,43][41,44]
626
+ [42,45][52,55][53,56][54,57][62,63](4)(8)(13)(16)(22)(28)(29)(32)(39)(49)
627
+ (50)(51)(59)(60)(61)(64), [5,3][6,4][12,11][14,13][20,19][23,22][27,26]
628
+ [30,29][36,35][40,39][46,44][47,45][52,50][53,51][58,57][62,61](7)(8)(15)
629
+ (16)(25)(28)(31)(32)(43)(49)(55)(56)(59)(60)(63)(64),
630
+ [9,3][10,4][12,11,7][14,13,8][21,19][24,22][27,26,25][30,29,28][37,35]
631
+ [41,39][46,44,43][48,45][52,50,49][54,51][58,57,56][62,61,60](15)(16)(31)
632
+ (32)(55)(59)(63)(64), [17,3][18,4][20,11][21,19,7][23,13][24,22,8]
633
+ [27,26,25,15][30,29,28,16][38,35][42,39][47,44][48,45,43][53,50][54,51,49]
634
+ [58,57,56,55][62,61,60,59](31)(32)(63)(64),
635
+ [33,3][34,4][36,11][37,19][38,35,7][40,13][41,22][42,39,8][46,26][47,44,25]
636
+ [48,45,43,15][52,29][53,50,28][54,51,49,16][58,57,56,55,31]
637
+ [62,61,60,59,32](63)(64),
638
+ <identity partial perm on
639
+ [ 4, 8, 13, 16, 22, 28, 29, 32, 39, 49, 50, 51, 59, 60, 61, 64 ]>,
640
+ [6,4][14,13][23,22][30,29][40,39][52,50][53,51][62,61](8)(16)(28)(32)(49)
641
+ (59)(60)(64), [7,4][15,13][25,22][31,29][43,39][55,50][56,51][63,61](8)
642
+ (16)(28)(32)(49)(59)(60)(64), [11,4][15,13,8][26,22][31,29,28][44,39]
643
+ [55,50,49][57,51][63,61,60](16)(32)(59)(64),
644
+ [10,4][14,13,8][24,22][30,29,28][41,39][52,50,49][54,51][62,61,60](16)(32)
645
+ (59)(64), [18,4][23,13][24,22,8][30,29,28,16][42,39][53,50][54,51,49]
646
+ [62,61,60,59](32)(64), [19,4][25,13][26,22,8][31,29,28,16][45,39][56,50]
647
+ [57,51,49][63,61,60,59](32)(64), [35,4][43,13][44,22][45,39,8][55,29]
648
+ [56,50,28][57,51,49,16][63,61,60,59,32](64),
649
+ [34,4][40,13][41,22][42,39,8][52,29][53,50,28][54,51,49,16][62,61,60,59,32]
650
+ (64), [36,4][40,8][43,13][46,22][47,39][52,28][53,49,16][55,29][56,50]
651
+ [58,51][62,60,59,32][63,61](64), [20,4][23,8][25,13][27,22][30,28,16]
652
+ [31,29][47,39][53,49][56,50][58,51][62,60,59][63,61](32)(64),
653
+ [12,4][14,8][15,13][27,22][30,28][31,29][46,39][52,49][55,50][58,51][62,60]
654
+ [63,61](16)(32)(59)(64), [21,4][24,8][26,13][27,22][30,28][31,29,16]
655
+ [48,39][54,49][57,50][58,51][62,60][63,61,59](32)(64),
656
+ [37,4][41,8][44,13][46,22][48,39][52,28][54,49][55,29][57,50,16][58,51]
657
+ [62,60][63,61,59,32](64), [38,4][42,8][45,13][47,22][48,39][53,28][54,49]
658
+ [56,29][57,50][58,51,16][62,60,32][63,61,59](64),
659
+ <identity partial perm on [ 39, 49, 50, 51, 59, 60, 61, 64 ]>,
660
+ [22,39][28,49][29,50][32,59](51)(60)(61)(64),
661
+ [13,39][16,49][29,50,51][32,59,60](61)(64),
662
+ [8,39][16,49,51][28,50][32,59,60,61](64),
663
+ [14,39][16,49][30,50][32,59,60][52,51][62,61](64),
664
+ [15,39][16,49][31,50][32,59,60][55,51][63,61](64),
665
+ [25,39][28,49][31,50][32,59][56,51][63,61](60)(64),
666
+ [23,39][28,49][30,50][32,59][53,51][62,61](60)(64),
667
+ [40,39][52,50][53,51][62,61](49)(59)(60)(64),
668
+ [43,39][55,50][56,51][63,61](49)(59)(60)(64),
669
+ [44,39][55,50,49][57,51][63,61,60](59)(64),
670
+ [26,39][29,49][31,50][32,59][57,51][63,61,60](64),
671
+ [24,39][29,49][30,50][32,59][54,51][62,61,60](64),
672
+ [41,39][52,50,49][54,51][62,61,60](59)(64),
673
+ [42,39][53,50][54,51,49][62,61,60,59](64),
674
+ [45,39][56,50][57,51,49][63,61,60,59](64),
675
+ [47,39][53,49][56,50][58,51][62,60,59][63,61](64),
676
+ [46,39][52,49][55,50][58,51][62,60][63,61](59)(64),
677
+ [27,39][30,49][31,50][32,59][58,51][62,60][63,61](64),
678
+ [48,39][54,49][57,50][58,51][62,60][63,61,59](64),
679
+ <identity partial perm on [ 31, 32, 63, 64 ]>, [30,31][62,63](32)(64),
680
+ [29,31][61,63](32)(64), [28,31][60,63](32)(64), [16,31][59,63](32)(64),
681
+ [49,31][59,32][60,63](64), [50,31][59,32][61,63](64),
682
+ [51,31][60,32][61,63](64), [53,31][60,32][62,63](64),
683
+ [52,31][59,32][62,63](64), [55,31][59,32](63)(64), [56,31][60,32](63)(64),
684
+ [57,31][61,32](63)(64), [54,31][61,32][62,63](64), [58,31][62,32](63)(64),
685
+ <identity partial perm on [ 61, 64 ]>, [60,61](64), [59,61](64),
686
+ [32,61](64), [62,61](64), [63,61](64), <identity partial perm on [ 64 ]> ]
687
+ gap> RClassReps(d);
688
+ [ <identity partial perm on [ 61, 64 ]>, [60,61](64), [59,61](64),
689
+ [32,61](64), [62,61](64), [63,61](64) ]
690
+ gap> Size(d);
691
+ 36
692
+ gap> Size(DClasses(m)[6]);
693
+ 36
694
+
695
+ # InverseTest12
696
+ gap> s := InverseSemigroup([PartialPermNC([1, 2, 3, 5], [2, 1, 6, 3]),
697
+ > PartialPermNC([1, 2, 3, 6], [3, 5, 2, 6])]);;
698
+ gap> f := PartialPermNC([1 .. 3], [6, 3, 1]);;
699
+ gap> d := DClassNC(s, f);
700
+ <Green's D-class: [2,3,1,6]>
701
+ gap> PartialPerm([1, 3, 6], [1, 3, 6]) in last;
702
+ true
703
+ gap> GroupHClass(d);
704
+ <Green's H-class: <identity partial perm on [ 1, 3, 6 ]>>
705
+ gap> PartialPerm([1, 3, 6], [1, 3, 6]) in last;
706
+ true
707
+ gap> StructureDescription(GroupHClass(d));
708
+ "1"
709
+ gap> ForAny(DClasses(s), x -> not IsTrivial(GroupHClass(x)));
710
+ true
711
+ gap> D := First(DClasses(s), x -> not IsTrivial(GroupHClass(x)));
712
+ <Green's D-class: <identity partial perm on [ 1, 2 ]>>
713
+ gap> PartialPerm([1, 2], [1, 2]) in D;
714
+ true
715
+ gap> StructureDescription(GroupHClass(D));
716
+ "C2"
717
+
718
+ # InverseTest13
719
+ gap> s := InverseSemigroup(
720
+ > [PartialPermNC([1, 2, 3, 4, 5, 7], [10, 6, 3, 4, 9, 1]),
721
+ > PartialPermNC([1, 2, 3, 4, 5, 6, 7, 8], [6, 10, 7, 4, 8, 2, 9, 1])]);;
722
+ gap> Idempotents(s, 1);
723
+ [ <identity partial perm on [ 4 ]> ]
724
+ gap> Idempotents(s, 0);
725
+ [ ]
726
+ gap> PartialPermNC([]) in s;
727
+ false
728
+ gap> Idempotents(s, 2);
729
+ [ <identity partial perm on [ 3, 4 ]>, <identity partial perm on [ 4, 7 ]>,
730
+ <identity partial perm on [ 2, 4 ]>, <identity partial perm on [ 4, 10 ]>,
731
+ <identity partial perm on [ 1, 4 ]>, <identity partial perm on [ 4, 9 ]>,
732
+ <identity partial perm on [ 4, 8 ]>, <identity partial perm on [ 4, 6 ]>,
733
+ <identity partial perm on [ 4, 5 ]> ]
734
+ gap> Idempotents(s, 10);
735
+ [ ]
736
+ gap> f := PartialPermNC([2, 4, 9, 10], [7, 4, 3, 2]);;
737
+ gap> r := RClassNC(s, f);
738
+ <Green's R-class: [9,3][10,2,7](4)>
739
+ gap> Idempotents(r);
740
+ [ <identity partial perm on [ 2, 4, 9, 10 ]> ]
741
+
742
+ # InverseTest14
743
+ gap> s := InverseSemigroup([
744
+ > PartialPerm([1, 2, 3, 4, 5, 6, 9], [1, 5, 9, 2, 6, 10, 7]),
745
+ > PartialPerm([1, 3, 4, 7, 8, 9], [9, 4, 1, 6, 2, 8])]);
746
+ <inverse partial perm semigroup of rank 10 with 2 generators>
747
+ gap> ForAll(RClasses(s), IsRegularGreensClass);
748
+ true
749
+
750
+ # InverseTest15
751
+ gap> s := InverseSemigroup(
752
+ > PartialPermNC([1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15],
753
+ > [6, 4, 18, 3, 11, 8, 5, 14, 19, 13, 12, 20, 1]),
754
+ > PartialPermNC([1, 2, 4, 5, 6, 7, 9, 10, 11, 12, 15, 16, 18, 20],
755
+ > [1, 18, 3, 7, 4, 9, 19, 5, 14, 16, 12, 17, 15, 6]));;
756
+ gap> iter := IteratorOfDClassReps(s);
757
+ <iterator>
758
+ gap> NextIterator(iter);
759
+ [2,4,3,18][7,8,5][9,14,20][10,19][15,1,6,11,13,12]
760
+ gap> NextIterator(iter);
761
+ [2,18,15,12,16,17][10,5,7,9,19][11,14][20,6,4,3](1)
762
+ gap> NextIterator(iter);
763
+ [1,11,12][2,3][4,18][7,5][9,20][15,6,13]
764
+ gap> NextIterator(iter);
765
+ [2,3,15,1,4][8,7][13,16](6,14)
766
+ gap> NextIterator(iter);
767
+ [3,2,6][8,10,9,11][13,15,1,20](4)
768
+ gap> NextIterator(iter);
769
+ [6,1,12][8,9][11,4,18][13,14,19,5](3)
770
+ gap> NextIterator(iter);
771
+ [3,6,1,18,4][8,5][14,7](11,20)
772
+ gap> NextIterator(iter);
773
+ [3,6][4,20][9,5][16,15,2][17,12,18][19,7,10](1)
774
+ gap> NextIterator(iter);
775
+ [1,14][9,6][11,16](4,15)(7)
776
+ gap> NextIterator(iter);
777
+ [7,10][11,15,20](2,4)
778
+ gap> NextIterator(iter);
779
+ [8,9][13,17][14,4][15,1,3,12]
780
+ gap> NextIterator(iter);
781
+ [4,2,1,14][9,6](15)
782
+ gap> NextIterator(iter);
783
+ [2,20][4,6][10,7][13,18][15,1]
784
+ gap> NextIterator(iter);
785
+ [11,6][18,1,4,15][20,14]
786
+ gap> NextIterator(iter);
787
+ [6,4,2][7,11][18,1,20]
788
+ gap> NextIterator(iter);
789
+ [2,12][5,19][10,9][15,17][18,16][20,3](1)
790
+ gap> NextIterator(iter);
791
+ [8,14][11,3,18][13,20](6)
792
+ gap> NextIterator(iter);
793
+ [4,15][6,1,16][8,19,7][11,3]
794
+ gap> NextIterator(iter);
795
+ [1,13,9][6,15][11,2][14,10][19,8](3,4)
796
+ gap> NextIterator(iter);
797
+ [11,15][12,6][13,1][18,2]
798
+ gap> NextIterator(iter);
799
+ [11,1][13,20,7](5)(6,18)
800
+ gap> NextIterator(iter);
801
+ [11,14][18,2][20,6,15](1,3)(8)
802
+ gap> NextIterator(iter);
803
+ [3,20][8,10][14,5][18,6,1,2]
804
+ gap> NextIterator(iter);
805
+ [3,4][5,9][12,1,20][18,6][19,11]
806
+ gap> NextIterator(iter);
807
+ [4,1,20][7,8][9,11][15,3]
808
+ gap> NextIterator(iter);
809
+ [7,9,4,12][11,17][15,3]
810
+ gap> NextIterator(iter);
811
+ [2,6,7][14,1][15,18]
812
+ gap> NextIterator(iter);
813
+ [3,2,6][8,10][13,15,1,20]
814
+ gap> NextIterator(iter);
815
+ [2,13,6][4,18][9,12][10,20][15,11](3)
816
+ gap> NextIterator(iter);
817
+ [2,1,11][9,20][15,18]
818
+ gap> NextIterator(iter);
819
+ [2,14][4,1][13,3](15)
820
+ gap> NextIterator(iter);
821
+ [5,10][6,2][18,20]
822
+ gap> NextIterator(iter);
823
+ [2,16][10,19][18,17](1)
824
+ gap> NextIterator(iter);
825
+ [4,1,3][20,15](2)
826
+ gap> NextIterator(iter);
827
+ [6,11,18][8,20]
828
+ gap> NextIterator(iter);
829
+ [3,15][13,6,4]
830
+ gap> NextIterator(iter);
831
+ [4,1][11,18][19,8](6)
832
+ gap> NextIterator(iter);
833
+ [4,12][6,1,17][19,9]
834
+ gap> NextIterator(iter);
835
+ [3,6,18][13,7](4)
836
+ gap> NextIterator(iter);
837
+ [11,18][12,20][13,1]
838
+ gap> NextIterator(iter);
839
+ [5,8][6,3][11,15][13,14][18,1]
840
+ gap> NextIterator(iter);
841
+ [5,14][12,6][18,11][19,13](3)
842
+ gap> NextIterator(iter);
843
+ [3,6][5,7][12,1][18,20]
844
+ gap> NextIterator(iter);
845
+ [1,11][15,3,13][16,6][19,5]
846
+ gap> NextIterator(iter);
847
+ <empty partial perm>
848
+ gap> NextIterator(iter);
849
+ [4,2][7,10][11,15,20]
850
+ gap> s := RandomInverseSemigroup(IsPartialPermSemigroup, 2, 20);;
851
+ gap> iter := IteratorOfDClassReps(s);
852
+ <iterator>
853
+ gap> s := RandomInverseSemigroup(IsPartialPermSemigroup, 2, 100);;
854
+ gap> iter := IteratorOfLClassReps(s);
855
+ Error, Variable: 'IteratorOfLClassReps' must have a value
856
+ gap> for i in [1 .. 10000] do NextIterator(iter); od;
857
+ Error, <iter> is exhausted
858
+ gap> s := RandomInverseSemigroup(IsPartialPermSemigroup, 2, 10);;
859
+ gap> iter := IteratorOfLClassReps(s);
860
+ Error, Variable: 'IteratorOfLClassReps' must have a value
861
+ gap> for i in iter do od;
862
+ gap> iter := IteratorOfDClassReps(s);
863
+ <iterator>
864
+ gap> for i in iter do od;
865
+
866
+ # InverseTest17
867
+ gap> s := InverseSemigroup(
868
+ > [PartialPermNC([1, 2, 3, 5, 7, 9, 10], [6, 7, 2, 9, 1, 5, 3]),
869
+ > PartialPermNC([1, 2, 3, 5, 6, 7, 9, 10], [8, 1, 9, 4, 10, 5, 6, 7])]);;
870
+ gap> NrIdempotents(s);
871
+ 236
872
+ gap> f := PartialPermNC([2, 3, 7, 9, 10], [7, 2, 1, 5, 3]);;
873
+ gap> d := DClassNC(s, f);;
874
+ gap> NrIdempotents(d);
875
+ 13
876
+ gap> l := LClass(d, f);
877
+ <Green's L-class: [9,5][10,3,2,7,1]>
878
+ gap> PartialPerm([1, 2, 3, 5, 7], [1, 2, 3, 5, 7]) in last;
879
+ true
880
+ gap> NrIdempotents(l);
881
+ 1
882
+ gap> DClass(l);
883
+ <Green's D-class: [9,5][10,3,2,7,1]>
884
+ gap> PartialPerm([1, 2, 3, 5, 7], [1, 2, 3, 5, 7]) in last;
885
+ true
886
+ gap> DClass(l) = d;
887
+ true
888
+ gap> NrIdempotents(DClass(l));
889
+ 13
890
+
891
+ # InverseTest18
892
+ gap> S := InverseSemigroup(
893
+ > PartialPermNC([1, 2, 3], [1, 3, 5]),
894
+ > PartialPermNC([1, 2, 4], [1, 2, 3]),
895
+ > PartialPermNC([1, 2, 5], [4, 5, 2]));;
896
+ gap> f := PartialPermNC([1, 5], [3, 2]);;
897
+ gap> SchutzenbergerGroup(LClass(S, f));
898
+ Group(())
899
+ gap> SchutzenbergerGroup(RClass(S, f));
900
+ Group(())
901
+ gap> SchutzenbergerGroup(HClass(S, f));
902
+ Group(())
903
+ gap> SchutzenbergerGroup(DClass(S, f));
904
+ Group(())
905
+ gap> List(DClasses(S), SchutzenbergerGroup);
906
+ [ Group(()), Group(()), Group(()), Group(()), Group([ (2,5) ]), Group(()) ]
907
+
908
+ # InverseTest19
909
+ gap> s := InverseSemigroup(
910
+ > [PartialPerm([1, 2, 3, 4, 5, 6, 7, 8, 9], [1, 2, 3, 4, 5, 6, 7, 8, 9]),
911
+ > PartialPerm([1, 2, 3, 4, 5, 7, 8, 9], [1, 2, 3, 4, 5, 7, 8, 9]),
912
+ > PartialPerm([1, 3, 4, 7, 8, 9], [1, 3, 4, 7, 8, 9]),
913
+ > PartialPerm([3, 7, 8, 9], [2, 7, 8, 9]),
914
+ > PartialPerm([1, 7, 9], [1, 7, 9]),
915
+ > PartialPerm([1, 7, 9], [8, 7, 9])]);;
916
+ gap> Size(s);
917
+ 12
918
+ gap> IsDTrivial(s);
919
+ false
920
+
921
+ # InverseTest20
922
+ gap> IsIsometryPP := function(f)
923
+ > local n, i, j, k, l;
924
+ > n := RankOfPartialPerm(f);
925
+ > for i in [1 .. n - 1] do
926
+ > k := DomainOfPartialPerm(f)[i];
927
+ > for j in [i + 1 .. n] do
928
+ > l := DomainOfPartialPerm(f)[j];
929
+ > if not AbsInt(k ^ f - l ^ f) = AbsInt(k - l) then
930
+ > return false;
931
+ > fi;
932
+ > od;
933
+ > od;
934
+ > return true;
935
+ > end;;
936
+ gap> s := InverseSubsemigroupByProperty(SymmetricInverseSemigroup(5),
937
+ > IsIsometryPP);;
938
+ gap> Size(s);
939
+ 142
940
+ gap> s := InverseSubsemigroupByProperty(SymmetricInverseSemigroup(6),
941
+ > IsIsometryPP);;
942
+ gap> Size(s);
943
+ 319
944
+ gap> s := InverseSubsemigroupByProperty(SymmetricInverseSemigroup(7),
945
+ > IsIsometryPP);;
946
+ gap> Size(s);
947
+ 686
948
+
949
+ # InverseCongTest1: Create an inverse semigroup
950
+ gap> s := InverseSemigroup([PartialPerm([1, 2, 3, 5], [2, 7, 3, 4]),
951
+ > PartialPerm([1, 3, 4, 5], [7, 2, 4, 6]),
952
+ > PartialPerm([1, 2, 3, 4, 6], [2, 3, 4, 6, 1]),
953
+ > PartialPerm([1, 2, 4, 6], [2, 4, 3, 7]),
954
+ > PartialPerm([1, 2, 4, 6], [3, 1, 7, 2]),
955
+ > PartialPerm([1, 2, 5, 6], [5, 1, 6, 3]),
956
+ > PartialPerm([1, 2, 3, 6], [7, 3, 4, 2])]);;
957
+ gap> cong := SemigroupCongruence(s,
958
+ > [PartialPerm([4], [7]), PartialPerm([2], [1])]);
959
+ <2-sided semigroup congruence over <inverse partial perm semigroup
960
+ of size 4165, rank 7 with 7 generators> with 1 generating pairs>
961
+
962
+ # InverseCongTest3: Try some methods
963
+ gap> x := PartialPerm([4], [5]);;
964
+ gap> y := PartialPerm([1, 2, 5], [5, 1, 6]);;
965
+ gap> z := PartialPerm([6], [1]);;
966
+ gap> [x, y] in cong;
967
+ false
968
+ gap> [x, z] in cong;
969
+ true
970
+ gap> [y, z] in cong;
971
+ false
972
+
973
+ # InverseCongTest4: Congruence classes
974
+ gap> classx := EquivalenceClassOfElement(cong, x);
975
+ <2-sided congruence class of [4,5]>
976
+ gap> classy := EquivalenceClassOfElement(cong, y);;
977
+ gap> classz := EquivalenceClassOfElement(cong, z);;
978
+ gap> classx = classy;
979
+ false
980
+ gap> classz = classx;
981
+ true
982
+ gap> x in classx;
983
+ true
984
+ gap> y in classx;
985
+ false
986
+ gap> x in classz;
987
+ true
988
+ gap> z * y in classz * classy;
989
+ true
990
+ gap> y * x in classy * classx;
991
+ true
992
+ gap> Size(classx);
993
+ 50
994
+
995
+ # InverseCongTest5: Quotients
996
+ gap> q := s / cong;;
997
+
998
+ # InverseCongTest6:
999
+ # Convert to and from semigroup congruence by generating pairs
1000
+ gap> pairs := GeneratingPairsOfSemigroupCongruence(cong);;
1001
+ gap> ccong := SemigroupCongruence(s, pairs);;
1002
+ gap> ccong = cong;
1003
+ true
1004
+ gap> ccong := AsSemigroupCongruenceByGeneratingPairs(cong);
1005
+ <2-sided semigroup congruence over <inverse partial perm semigroup
1006
+ of size 4165, rank 7 with 7 generators> with 1 generating pairs>
1007
+ gap> [x, y] in ccong;
1008
+ false
1009
+ gap> [x, z] in ccong;
1010
+ true
1011
+ gap> [y, z] in ccong;
1012
+ false
1013
+
1014
+ # InverseCongTest7: Universal congruence
1015
+ gap> s := InverseSemigroup(PartialPerm([1], [2]), PartialPerm([2], [1]));
1016
+ <inverse partial perm semigroup of rank 2 with 2 generators>
1017
+ gap> Size(s);
1018
+ 5
1019
+ gap> SemigroupCongruence(s, [s.1, s.1 * s.2]);
1020
+ <universal semigroup congruence over <0-simple inverse partial perm semigroup
1021
+ of size 5, rank 2 with 2 generators>>
1022
+
1023
+ #
1024
+ gap> SEMIGROUPS.StopTest();
1025
+ gap> STOP_TEST("Semigroups package: extreme/inverse.tst");