passagemath-gap-pkg-semigroups 10.6.30__cp312-abi3-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.abi3.so +0 -0
@@ -0,0 +1,422 @@
1
+ ############################################################################
2
+ ##
3
+ ## congsemigraph.tst
4
+ ## Copyright (C) 2022 Marina Anagnostopoulou-Merkouri
5
+ ## James Mitchell
6
+ ##
7
+ ## Licensing information can be found in the README file of this package.
8
+ ##
9
+ ############################################################################
10
+ #
11
+
12
+ #@local C, D, L, S, cong, cong1, cong2, e_1, e_3, i, j, join, meet, pos, val
13
+ gap> START_TEST("Semigroups package: standard/congruences/congsemigraph.tst");
14
+ gap> LoadPackage("semigroups", false);;
15
+
16
+ # Set info levels and user preferences
17
+ gap> SEMIGROUPS.StartTest();
18
+
19
+ # IsCongruenceByWangPair
20
+ gap> D := Digraph([[3, 4], [3, 4], [4], []]);
21
+ <immutable digraph with 4 vertices, 5 edges>
22
+ gap> S := GraphInverseSemigroup(D);
23
+ <finite graph inverse semigroup with 4 vertices, 5 edges>
24
+ gap> cong := CongruenceByWangPair(S, [3, 4], []);
25
+ <graph inverse semigroup congruence with H = [ 3, 4 ] and W = [ ]>
26
+ gap> IsCongruenceByWangPair(cong);
27
+ true
28
+ gap> cong := CongruenceByWangPair(S, [4], [2]);
29
+ <graph inverse semigroup congruence with H = [ 4 ] and W = [ 2 ]>
30
+ gap> IsCongruenceByWangPair(cong);
31
+ true
32
+ gap> e_1 := S.1;
33
+ e_1
34
+ gap> e_3 := S.3;
35
+ e_3
36
+ gap> cong := SemigroupCongruence(S, [[e_1, e_3]]);
37
+ <2-sided semigroup congruence over <finite graph inverse semigroup with
38
+ 4 vertices, 5 edges> with 1 generating pairs>
39
+ gap> IsCongruenceByWangPair(cong);
40
+ false
41
+
42
+ # CongruenceByWangPair
43
+ gap> D := Digraph([[3, 4], [3, 4], [4], []]);
44
+ <immutable digraph with 4 vertices, 5 edges>
45
+ gap> S := GraphInverseSemigroup(D);
46
+ <finite graph inverse semigroup with 4 vertices, 5 edges>
47
+ gap> cong := CongruenceByWangPair(S, [3, 4], []);
48
+ <graph inverse semigroup congruence with H = [ 3, 4 ] and W = [ ]>
49
+ gap> cong := CongruenceByWangPair(S, [4], [2]);
50
+ <graph inverse semigroup congruence with H = [ 4 ] and W = [ 2 ]>
51
+ gap> cong := CongruenceByWangPair(S, [3, 4], []);
52
+ <graph inverse semigroup congruence with H = [ 3, 4 ] and W = [ ]>
53
+ gap> cong := CongruenceByWangPair(S, [4], [1]);
54
+ <graph inverse semigroup congruence with H = [ 4 ] and W = [ 1 ]>
55
+ gap> D := Digraph([[2], [3, 4], [4], []]);
56
+ <immutable digraph with 4 vertices, 4 edges>
57
+ gap> S := GraphInverseSemigroup(D);
58
+ <finite graph inverse semigroup with 4 vertices, 4 edges>
59
+ gap> cong := CongruenceByWangPair(S, [4], [2]);
60
+ <graph inverse semigroup congruence with H = [ 4 ] and W = [ 2 ]>
61
+ gap> cong := CongruenceByWangPair(S, [], [1, 3]);
62
+ <graph inverse semigroup congruence with H = [ ] and W = [ 1, 3 ]>
63
+ gap> cong := CongruenceByWangPair(S, [4], [2]);
64
+ <graph inverse semigroup congruence with H = [ 4 ] and W = [ 2 ]>
65
+ gap> cong := CongruenceByWangPair(S, [4], [1]);
66
+ <graph inverse semigroup congruence with H = [ 4 ] and W = [ 1 ]>
67
+ gap> cong := CongruenceByWangPair(S, [3, 4], []);
68
+ <graph inverse semigroup congruence with H = [ 3, 4 ] and W = [ ]>
69
+ gap> cong := CongruenceByWangPair(S, [], [1, 3]);
70
+ <graph inverse semigroup congruence with H = [ ] and W = [ 1, 3 ]>
71
+ gap> cong := CongruenceByWangPair(S, [3], []);
72
+ Error, the 2nd argument (a list) is not a valid hereditary set
73
+ gap> cong := CongruenceByWangPair(S, [], [4]);
74
+ Error, the 3rd argument (a list) is not a valid W-set
75
+ gap> D := Digraph([[2, 3], [3], [4], []]);
76
+ <immutable digraph with 4 vertices, 4 edges>
77
+ gap> S := GraphInverseSemigroup(D);
78
+ <finite graph inverse semigroup with 4 vertices, 4 edges>
79
+ gap> CongruenceByWangPair(S, [4], []);
80
+ <graph inverse semigroup congruence with H = [ 4 ] and W = [ ]>
81
+ gap> CongruenceByWangPair(S, [3, 4], [1]);
82
+ <graph inverse semigroup congruence with H = [ 3, 4 ] and W = [ 1 ]>
83
+ gap> CongruenceByWangPair(S, [4], [2]);
84
+ <graph inverse semigroup congruence with H = [ 4 ] and W = [ 2 ]>
85
+ gap> CongruenceByWangPair(S, [], []);
86
+ <graph inverse semigroup congruence with H = [ ] and W = [ ]>
87
+ gap> CongruenceByWangPair(S, [3], [4]);
88
+ Error, the 2nd argument (a list) is not a valid hereditary set
89
+
90
+ # AsSemigroupCongruenceByGeneratingPairs
91
+ gap> D := Digraph([[2, 3], [3], [4], []]);
92
+ <immutable digraph with 4 vertices, 4 edges>
93
+ gap> S := GraphInverseSemigroup(D);
94
+ <finite graph inverse semigroup with 4 vertices, 4 edges>
95
+ gap> C := CongruenceByWangPair(S, [4], [2]);
96
+ <graph inverse semigroup congruence with H = [ 4 ] and W = [ 2 ]>
97
+ gap> AsSemigroupCongruenceByGeneratingPairs(C);
98
+ <2-sided semigroup congruence over <finite graph inverse semigroup with
99
+ 4 vertices, 4 edges> with 2 generating pairs>
100
+ gap> EquivalenceRelationPartition(C);
101
+ [ [ e_1, e_1e_3e_3^-1 ],
102
+ [ e_4, v_4, e_4^-1, 0, e_2e_4, e_3e_4, e_4e_4^-1, e_4^-1e_2^-1,
103
+ e_4^-1e_3^-1, e_1e_3e_4, e_2e_4e_4^-1, e_3e_4e_4^-1, e_4e_4^-1e_2^-1,
104
+ e_4e_4^-1e_3^-1, e_4^-1e_3^-1e_1^-1, e_1e_3e_4e_4^-1,
105
+ e_2e_4e_4^-1e_2^-1, e_2e_4e_4^-1e_3^-1, e_3e_4e_4^-1e_2^-1,
106
+ e_3e_4e_4^-1e_3^-1, e_4e_4^-1e_3^-1e_1^-1, e_1e_3e_4e_4^-1e_2^-1,
107
+ e_1e_3e_4e_4^-1e_3^-1, e_2e_4e_4^-1e_3^-1e_1^-1,
108
+ e_3e_4e_4^-1e_3^-1e_1^-1, e_1e_3e_4e_4^-1e_3^-1e_1^-1 ],
109
+ [ v_2, e_3e_3^-1 ], [ e_1^-1, e_3e_3^-1e_1^-1 ],
110
+ [ e_1e_1^-1, e_1e_3e_3^-1e_1^-1 ] ]
111
+ gap> D := ChainDigraph(4);
112
+ <immutable chain digraph with 4 vertices>
113
+ gap> S := GraphInverseSemigroup(D);
114
+ <finite graph inverse semigroup with 4 vertices, 3 edges>
115
+ gap> CongruenceByWangPair(S, [4], [1, 2]);
116
+ <graph inverse semigroup congruence with H = [ 4 ] and W = [ 1, 2 ]>
117
+ gap> cong := AsSemigroupCongruenceByGeneratingPairs(last);
118
+ <2-sided semigroup congruence over <finite graph inverse semigroup with
119
+ 4 vertices, 3 edges> with 3 generating pairs>
120
+ gap> EquivalenceRelationPartition(cong);
121
+ [ [ e_1, e_1e_2e_2^-1 ],
122
+ [ e_3, v_4, e_3^-1, 0, e_2e_3, e_3e_3^-1, e_3^-1e_2^-1, e_1e_2e_3,
123
+ e_2e_3e_3^-1, e_3e_3^-1e_2^-1, e_3^-1e_2^-1e_1^-1, e_1e_2e_3e_3^-1,
124
+ e_2e_3e_3^-1e_2^-1, e_3e_3^-1e_2^-1e_1^-1, e_1e_2e_3e_3^-1e_2^-1,
125
+ e_2e_3e_3^-1e_2^-1e_1^-1, e_1e_2e_3e_3^-1e_2^-1e_1^-1 ],
126
+ [ v_1, e_1e_1^-1, e_1e_2e_2^-1e_1^-1 ], [ v_2, e_2e_2^-1 ],
127
+ [ e_1^-1, e_2e_2^-1e_1^-1 ] ]
128
+ gap> CongruenceByWangPair(S, [2, 3, 4], []);
129
+ <graph inverse semigroup congruence with H = [ 2, 3, 4 ] and W = [ ]>
130
+ gap> cong := AsSemigroupCongruenceByGeneratingPairs(last);
131
+ <2-sided semigroup congruence over <finite graph inverse semigroup with
132
+ 4 vertices, 3 edges> with 3 generating pairs>
133
+ gap> EquivalenceRelationPartition(cong);
134
+ [ [ e_1, e_2, e_3, v_2, v_3, v_4, e_1^-1, e_2^-1, e_3^-1, 0, e_1e_2,
135
+ e_1e_1^-1, e_2e_3, e_2e_2^-1, e_3e_3^-1, e_2^-1e_1^-1, e_3^-1e_2^-1,
136
+ e_1e_2e_3, e_1e_2e_2^-1, e_2e_3e_3^-1, e_2e_2^-1e_1^-1, e_3e_3^-1e_2^-1,
137
+ e_3^-1e_2^-1e_1^-1, e_1e_2e_3e_3^-1, e_1e_2e_2^-1e_1^-1,
138
+ e_2e_3e_3^-1e_2^-1, e_3e_3^-1e_2^-1e_1^-1, e_1e_2e_3e_3^-1e_2^-1,
139
+ e_2e_3e_3^-1e_2^-1e_1^-1, e_1e_2e_3e_3^-1e_2^-1e_1^-1 ] ]
140
+ gap> CongruenceByWangPair(S, [], [1]);
141
+ <graph inverse semigroup congruence with H = [ ] and W = [ 1 ]>
142
+ gap> cong := AsSemigroupCongruenceByGeneratingPairs(last);
143
+ <2-sided semigroup congruence over <finite graph inverse semigroup with
144
+ 4 vertices, 3 edges> with 1 generating pairs>
145
+ gap> EquivalenceRelationPartition(cong);
146
+ [ [ v_1, e_1e_1^-1 ] ]
147
+
148
+ # GeneratingCongruencesOfSemigroup
149
+ gap> D := Digraph([[2], [3, 4], [4], []]);
150
+ <immutable digraph with 4 vertices, 4 edges>
151
+ gap> S := GraphInverseSemigroup(D);
152
+ <finite graph inverse semigroup with 4 vertices, 4 edges>
153
+ gap> GeneratingCongruencesOfLattice(S)[1];
154
+ <graph inverse semigroup congruence with H = [ ] and W = [ 1 ]>
155
+ gap> GeneratingCongruencesOfLattice(S)[2];
156
+ <graph inverse semigroup congruence with H = [ 4 ] and W = [ 2 ]>
157
+ gap> GeneratingCongruencesOfLattice(S)[3];
158
+ <graph inverse semigroup congruence with H = [ ] and W = [ 3 ]>
159
+ gap> GeneratingCongruencesOfLattice(S)[4];
160
+ <graph inverse semigroup congruence with H = [ 4 ] and W = [ ]>
161
+ gap> D := Digraph([[2, 3, 4], [4], [4], []]);
162
+ <immutable digraph with 4 vertices, 5 edges>
163
+ gap> S := GraphInverseSemigroup(D);
164
+ <finite graph inverse semigroup with 4 vertices, 5 edges>
165
+ gap> GeneratingCongruencesOfLattice(S)[1];
166
+ <graph inverse semigroup congruence with H = [ 2, 4 ] and W = [ 1 ]>
167
+ gap> GeneratingCongruencesOfLattice(S)[2];
168
+ <graph inverse semigroup congruence with H = [ 3, 4 ] and W = [ 1 ]>
169
+ gap> GeneratingCongruencesOfLattice(S)[3];
170
+ <graph inverse semigroup congruence with H = [ ] and W = [ 2 ]>
171
+ gap> GeneratingCongruencesOfLattice(S)[4];
172
+ <graph inverse semigroup congruence with H = [ ] and W = [ 3 ]>
173
+ gap> D := Digraph([[3], [3, 4], [], []]);
174
+ <immutable digraph with 4 vertices, 3 edges>
175
+ gap> S := GraphInverseSemigroup(D);
176
+ <finite graph inverse semigroup with 4 vertices, 3 edges>
177
+ gap> GeneratingCongruencesOfLattice(S)[1];
178
+ <graph inverse semigroup congruence with H = [ ] and W = [ 1 ]>
179
+ gap> GeneratingCongruencesOfLattice(S)[2];
180
+ <graph inverse semigroup congruence with H = [ 3 ] and W = [ 2 ]>
181
+ gap> GeneratingCongruencesOfLattice(S)[3];
182
+ <graph inverse semigroup congruence with H = [ 4 ] and W = [ 2 ]>
183
+ gap> GeneratingCongruencesOfLattice(S)[4];
184
+ <graph inverse semigroup congruence with H = [ 3 ] and W = [ ]>
185
+ gap> D := Digraph([[2, 3, 4, 5], [3], [], [], []]);
186
+ <immutable digraph with 5 vertices, 5 edges>
187
+ gap> S := GraphInverseSemigroup(D);
188
+ <finite graph inverse semigroup with 5 vertices, 5 edges>
189
+ gap> GeneratingCongruencesOfLattice(S)[1];
190
+ <graph inverse semigroup congruence with H = [ 2, 3, 4 ] and W = [ 1 ]>
191
+ gap> GeneratingCongruencesOfLattice(S)[2];
192
+ <graph inverse semigroup congruence with H = [ 2, 3, 5 ] and W = [ 1 ]>
193
+ gap> GeneratingCongruencesOfLattice(S)[3];
194
+ <graph inverse semigroup congruence with H = [ 3, 4, 5 ] and W = [ 1 ]>
195
+ gap> GeneratingCongruencesOfLattice(S)[4];
196
+ <graph inverse semigroup congruence with H = [ ] and W = [ 2 ]>
197
+ gap> GeneratingCongruencesOfLattice(S)[5];
198
+ <graph inverse semigroup congruence with H = [ 3 ] and W = [ ]>
199
+
200
+ #AsCongruenceByWangPair
201
+ gap> D := Digraph([[2, 3], [3], [4], []]);
202
+ <immutable digraph with 4 vertices, 4 edges>
203
+ gap> S := GraphInverseSemigroup(D);
204
+ <finite graph inverse semigroup with 4 vertices, 4 edges>
205
+ gap> CongruenceByWangPair(S, [4], [2]);
206
+ <graph inverse semigroup congruence with H = [ 4 ] and W = [ 2 ]>
207
+ gap> cong := AsSemigroupCongruenceByGeneratingPairs(last);
208
+ <2-sided semigroup congruence over <finite graph inverse semigroup with
209
+ 4 vertices, 4 edges> with 2 generating pairs>
210
+ gap> AsCongruenceByWangPair(cong);
211
+ <graph inverse semigroup congruence with H = [ 4 ] and W = [ 2 ]>
212
+ gap> CongruenceByWangPair(S, [3, 4], [1]);
213
+ <graph inverse semigroup congruence with H = [ 3, 4 ] and W = [ 1 ]>
214
+ gap> cong := AsSemigroupCongruenceByGeneratingPairs(last);
215
+ <2-sided semigroup congruence over <finite graph inverse semigroup with
216
+ 4 vertices, 4 edges> with 3 generating pairs>
217
+ gap> AsCongruenceByWangPair(cong);
218
+ <graph inverse semigroup congruence with H = [ 3, 4 ] and W = [ 1 ]>
219
+ gap> D := Digraph([[2], [3, 4], [4], []]);
220
+ <immutable digraph with 4 vertices, 4 edges>
221
+ gap> S := GraphInverseSemigroup(D);
222
+ <finite graph inverse semigroup with 4 vertices, 4 edges>
223
+ gap> CongruenceByWangPair(S, [4], [1, 2]);
224
+ <graph inverse semigroup congruence with H = [ 4 ] and W = [ 1, 2 ]>
225
+ gap> cong := AsSemigroupCongruenceByGeneratingPairs(last);
226
+ <2-sided semigroup congruence over <finite graph inverse semigroup with
227
+ 4 vertices, 4 edges> with 3 generating pairs>
228
+ gap> AsCongruenceByWangPair(cong);
229
+ <graph inverse semigroup congruence with H = [ 4 ] and W = [ 1, 2 ]>
230
+
231
+ #JoinSemigroupCongruences
232
+ gap> D := Digraph([[2], [3, 4], [4], []]);
233
+ <immutable digraph with 4 vertices, 4 edges>
234
+ gap> S := GraphInverseSemigroup(D);
235
+ <finite graph inverse semigroup with 4 vertices, 4 edges>
236
+ gap> cong1 := CongruenceByWangPair(S, [4], [2]);
237
+ <graph inverse semigroup congruence with H = [ 4 ] and W = [ 2 ]>
238
+ gap> cong2 := CongruenceByWangPair(S, [], [1, 3]);
239
+ <graph inverse semigroup congruence with H = [ ] and W = [ 1, 3 ]>
240
+ gap> JoinSemigroupCongruences(cong1, cong2);
241
+ <graph inverse semigroup congruence with H = [ 1 .. 4 ] and W = [ ]>
242
+ gap> cong1 := CongruenceByWangPair(S, [4], [2]);
243
+ <graph inverse semigroup congruence with H = [ 4 ] and W = [ 2 ]>
244
+ gap> cong2 := CongruenceByWangPair(S, [4], [1]);
245
+ <graph inverse semigroup congruence with H = [ 4 ] and W = [ 1 ]>
246
+ gap> JoinSemigroupCongruences(cong1, cong2);
247
+ <graph inverse semigroup congruence with H = [ 4 ] and W = [ 1, 2 ]>
248
+ gap> cong1 := CongruenceByWangPair(S, [3, 4], []);
249
+ <graph inverse semigroup congruence with H = [ 3, 4 ] and W = [ ]>
250
+ gap> cong2 := CongruenceByWangPair(S, [], [1, 3]);
251
+ <graph inverse semigroup congruence with H = [ ] and W = [ 1, 3 ]>
252
+ gap> JoinSemigroupCongruences(cong1, cong2);
253
+ <graph inverse semigroup congruence with H = [ 3, 4 ] and W = [ 1 ]>
254
+ gap> D := Digraph([[3, 4], [3, 4], [4], []]);
255
+ <immutable digraph with 4 vertices, 5 edges>
256
+ gap> S := GraphInverseSemigroup(D);
257
+ <finite graph inverse semigroup with 4 vertices, 5 edges>
258
+ gap> cong1 := CongruenceByWangPair(S, [3, 4], []);
259
+ <graph inverse semigroup congruence with H = [ 3, 4 ] and W = [ ]>
260
+ gap> cong2 := CongruenceByWangPair(S, [4], [2]);
261
+ <graph inverse semigroup congruence with H = [ 4 ] and W = [ 2 ]>
262
+ gap> JoinSemigroupCongruences(cong1, cong2);
263
+ <graph inverse semigroup congruence with H = [ 2 .. 4 ] and W = [ ]>
264
+ gap> cong1 := CongruenceByWangPair(S, [3, 4], []);
265
+ <graph inverse semigroup congruence with H = [ 3, 4 ] and W = [ ]>
266
+ gap> cong2 := CongruenceByWangPair(S, [4], [1]);
267
+ <graph inverse semigroup congruence with H = [ 4 ] and W = [ 1 ]>
268
+ gap> JoinSemigroupCongruences(cong1, cong2);
269
+ <graph inverse semigroup congruence with H = [ 1, 3, 4 ] and W = [ ]>
270
+
271
+ # IsSubRelation and IsSuperrelation
272
+ gap> D := Digraph([[3, 4], [3, 4], [4], []]);
273
+ <immutable digraph with 4 vertices, 5 edges>
274
+ gap> S := GraphInverseSemigroup(D);
275
+ <finite graph inverse semigroup with 4 vertices, 5 edges>
276
+ gap> cong1 := CongruenceByWangPair(S, [3, 4], []);
277
+ <graph inverse semigroup congruence with H = [ 3, 4 ] and W = [ ]>
278
+ gap> cong2 := CongruenceByWangPair(S, [4], [1]);
279
+ <graph inverse semigroup congruence with H = [ 4 ] and W = [ 1 ]>
280
+ gap> IsSubrelation(cong1, cong2);
281
+ false
282
+ gap> cong2 := CongruenceByWangPair(S, [4], []);
283
+ <graph inverse semigroup congruence with H = [ 4 ] and W = [ ]>
284
+ gap> IsSubrelation(cong1, cong2);
285
+ true
286
+ gap> IsSuperrelation(cong1, cong2);
287
+ false
288
+ gap> IsSuperrelation(cong2, cong1);
289
+ true
290
+ gap> cong1 := CongruenceByWangPair(S, [2, 3, 4], []);
291
+ <graph inverse semigroup congruence with H = [ 2, 3, 4 ] and W = [ ]>
292
+ gap> cong2 := CongruenceByWangPair(S, [4], [1]);
293
+ <graph inverse semigroup congruence with H = [ 4 ] and W = [ 1 ]>
294
+ gap> IsSubrelation(cong1, cong2);
295
+ false
296
+ gap> IsSuperrelation(cong2, cong1);
297
+ false
298
+
299
+ # LatticeOfCongruences
300
+ gap> D := ChainDigraph(4);
301
+ <immutable chain digraph with 4 vertices>
302
+ gap> S := GraphInverseSemigroup(D);
303
+ <finite graph inverse semigroup with 4 vertices, 3 edges>
304
+ gap> LatticeOfCongruences(S);
305
+ <lattice of 16 two-sided congruences over
306
+ <finite graph inverse semigroup with 4 vertices, 3 edges>>
307
+ gap> D := Digraph([[2, 3], [3], [4], []]);
308
+ <immutable digraph with 4 vertices, 4 edges>
309
+ gap> S := GraphInverseSemigroup(D);
310
+ <finite graph inverse semigroup with 4 vertices, 4 edges>
311
+ gap> LatticeOfCongruences(S);
312
+ <lattice of 10 two-sided congruences over
313
+ <finite graph inverse semigroup with 4 vertices, 4 edges>>
314
+ gap> D := Digraph([[2], [3, 4], [4], []]);
315
+ <immutable digraph with 4 vertices, 4 edges>
316
+ gap> S := GraphInverseSemigroup(D);
317
+ <finite graph inverse semigroup with 4 vertices, 4 edges>
318
+ gap> LatticeOfCongruences(S);
319
+ <lattice of 12 two-sided congruences over
320
+ <finite graph inverse semigroup with 4 vertices, 4 edges>>
321
+
322
+ # Meet and join
323
+ gap> D := Digraph([[3, 4], [3, 4], [4], []]);
324
+ <immutable digraph with 4 vertices, 5 edges>
325
+ gap> S := GraphInverseSemigroup(D);
326
+ <finite graph inverse semigroup with 4 vertices, 5 edges>
327
+ gap> L := LatticeOfCongruences(S);
328
+ <lattice of 10 two-sided congruences over
329
+ <finite graph inverse semigroup with 4 vertices, 5 edges>>
330
+ gap> C := CongruencesOfSemigroup(S);; Set(C);
331
+ [ <graph inverse semigroup congruence with H = [ ] and W = [ ]>,
332
+ <graph inverse semigroup congruence with H = [ ] and W = [ 3 ]>,
333
+ <graph inverse semigroup congruence with H = [ 1 .. 4 ] and W = [ ]>,
334
+ <graph inverse semigroup congruence with H = [ 1, 3, 4 ] and W = [ ]>,
335
+ <graph inverse semigroup congruence with H = [ 2 .. 4 ] and W = [ ]>,
336
+ <graph inverse semigroup congruence with H = [ 3, 4 ] and W = [ ]>,
337
+ <graph inverse semigroup congruence with H = [ 4 ] and W = [ ]>,
338
+ <graph inverse semigroup congruence with H = [ 4 ] and W = [ 2 ]>,
339
+ <graph inverse semigroup congruence with H = [ 4 ] and W = [ 1 ]>,
340
+ <graph inverse semigroup congruence with H = [ 4 ] and W = [ 1, 2 ]> ]
341
+ gap> val := true;;
342
+ > for i in [1 .. Length(C)] do
343
+ > for j in [1 .. Length(C)] do
344
+ > pos := Position(C, JoinSemigroupCongruences(C[i], C[j]));
345
+ > join := PartialOrderDigraphJoinOfVertices(L, i, j);
346
+ > if pos <> join then
347
+ > Error(StringFormatted("the join of congruences {} and {} is {} but should be {}",
348
+ > i, j, pos, join));
349
+ > val := false;
350
+ > fi;
351
+ > od;
352
+ > od;
353
+ > val;
354
+ true
355
+ gap> val := true;;
356
+ > for i in [1 .. Length(C)] do
357
+ > for j in [1 .. Length(C)] do
358
+ > pos := Position(C, MeetSemigroupCongruences(C[i], C[j]));
359
+ > meet := PartialOrderDigraphMeetOfVertices(L, i, j);
360
+ > if pos <> meet then
361
+ > Error(StringFormatted("the meet of congruences {} and {} is {} but should be {}",
362
+ > i, j, pos, meet));
363
+ > val := false;
364
+ > fi;
365
+ > od;
366
+ > od;
367
+ > val;
368
+ true
369
+
370
+ # More meet and join
371
+ gap> D := Digraph([[2], [3, 4], [4], []]);
372
+ <immutable digraph with 4 vertices, 4 edges>
373
+ gap> S := GraphInverseSemigroup(D);
374
+ <finite graph inverse semigroup with 4 vertices, 4 edges>
375
+ gap> L := LatticeOfCongruences(S);
376
+ <lattice of 12 two-sided congruences over
377
+ <finite graph inverse semigroup with 4 vertices, 4 edges>>
378
+ gap> C := CongruencesOfSemigroup(S);; Set(C);
379
+ [ <graph inverse semigroup congruence with H = [ ] and W = [ ]>,
380
+ <graph inverse semigroup congruence with H = [ ] and W = [ 1 ]>,
381
+ <graph inverse semigroup congruence with H = [ ] and W = [ 3 ]>,
382
+ <graph inverse semigroup congruence with H = [ ] and W = [ 1, 3 ]>,
383
+ <graph inverse semigroup congruence with H = [ 1 .. 4 ] and W = [ ]>,
384
+ <graph inverse semigroup congruence with H = [ 2 .. 4 ] and W = [ ]>,
385
+ <graph inverse semigroup congruence with H = [ 3, 4 ] and W = [ ]>,
386
+ <graph inverse semigroup congruence with H = [ 3, 4 ] and W = [ 1 ]>,
387
+ <graph inverse semigroup congruence with H = [ 4 ] and W = [ ]>,
388
+ <graph inverse semigroup congruence with H = [ 4 ] and W = [ 1 ]>,
389
+ <graph inverse semigroup congruence with H = [ 4 ] and W = [ 2 ]>,
390
+ <graph inverse semigroup congruence with H = [ 4 ] and W = [ 1, 2 ]> ]
391
+ gap> val := true;;
392
+ > for i in [1 .. Length(C)] do
393
+ > for j in [1 .. Length(C)] do
394
+ > pos := Position(C, JoinSemigroupCongruences(C[i], C[j]));
395
+ > join := PartialOrderDigraphJoinOfVertices(L, i, j);
396
+ > if pos <> join then
397
+ > Error(StringFormatted("the join of congruences {} and {} is {} but should be {}",
398
+ > i, j, pos, join));
399
+ > val := false;
400
+ > fi;
401
+ > od;
402
+ > od;
403
+ > val;
404
+ true
405
+ gap> val := true;;
406
+ > for i in [1 .. Length(C)] do
407
+ > for j in [1 .. Length(C)] do
408
+ > pos := Position(C, MeetSemigroupCongruences(C[i], C[j]));
409
+ > meet := PartialOrderDigraphMeetOfVertices(L, i, j);
410
+ > if pos <> meet then
411
+ > Error(StringFormatted("the meet of congruences {} and {} is {} but should be {}",
412
+ > i, j, pos, meet));
413
+ > val := false;
414
+ > fi;
415
+ > od;
416
+ > od;
417
+ > val;
418
+ true
419
+
420
+ #
421
+ gap> SEMIGROUPS.StopTest();
422
+ gap> STOP_TEST("Semigroups package: standard/congruences/cong.tst");