Fix isomorphisms from fp monoid to fp semigroup #1039
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Please make sure that this pull request:
Tick all what applies to this pull request
Write below the description of changes (for the release notes)
There are two main changes in this PR:
Fix a bug in the method for
IsomorphismFpSemigroup
for a finitely presented monoid. Previously the inverse of the returned isomorphism was not properly defined (and not the inverse of the isomorphism)Change the declaration of
IsomorphismFpMonoid
so that it can be applied to objects inIsSemigroup
rather than onlyIsMonoid
. A semigroup can be isomorphic to a monoid, while not being a monoid in the technical GAP sense. For example, the semigroup generated byTransformation([1, 2, 3, 3, 3]) is not a monoid in the GAP sense but is mathematically. With this change we could now install methods for
IsomorphismFpMonoid
for such a semigroup.