Repository navigation
Conversation
The embedding of a magma into the magma with zero adjoined was built with the four-argument `MappingByFunction`, which marks the map bijective. The zero is not in its image, so `IsBijective` returned true and `PreImage( map, zero )` returned `fail` instead of raising an error. Build it with the `false, prefun` form and mark it injective and not surjective. The internal `_InjectionPrincipalFactor` had the same flaw for Rees 0-matrix semigroups; `IsomorphismReesZeroMatrixSemigroup` now uses `PreImagesRepresentativeNC` instead of the inverse mapping. Assisted-by: Generative AI
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #6767 +/- ##
==========================================
- Coverage 79.67% 79.67% -0.01%
==========================================
Files 684 684
Lines 295465 295470 +5
Branches 8656 8656
==========================================
- Hits 235424 235418 -6
- Misses 58217 58223 +6
- Partials 1824 1829 +5 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
fingolfin
added a commit
to fingolfin/Semigroups
that referenced
this pull request
Oct 18, 2026
`UnderlyingInjectionZeroMagma` is injective but not surjective: the adjoined zero is not in its image. GAP currently marks it bijective by mistake, which makes `x ^ InverseGeneralMapping( inj )` work. Once GAP fixes that (gap-system/gap#6767), the inverse is no longer total and `^` raises an error, breaking `IsomorphismPartialPermSemigroup` for zero groups. Use `PreImagesRepresentative` instead, which works with both old and fixed GAP versions. Assisted-by: Generative AI
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
The embedding of a magma into the magma with zero adjoined was built with the four-argument
MappingByFunction, which marks the map bijective. The zero is not in its image, soIsBijectivereturned true andPreImage( map, zero )returnedfailinstead of raising an error. Build it with thefalse, prefunform and mark it injective and not surjective.The internal
_InjectionPrincipalFactorhad the same flaw for Rees 0-matrix semigroups;IsomorphismReesZeroMatrixSemigroupnow usesPreImagesRepresentativeNCinstead of the inverse mapping.Assisted-by: Generative AI
This leads to a test failure in the Semigroups package (as it relied on this bug, accidentally); fix for that is
being prepared nowat semigroups/Semigroups#1238.