-
Notifications
You must be signed in to change notification settings - Fork 163
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Magma/Group confusion #2400
Comments
The same happens in the tutorial example
|
Got it, I think.
|
I think this is more subtle: PermutationsFamily implies I think this fundamentally means that one cannot create an empty submagma consisting of permutations, i.e. the calculations tried actually are not possible. Maybe @ThomasBreuer has an idea? |
This sounds related to #2240 |
…bmagma, if it turns out a group. (Work around error in gap-system#2400).
Technically, the wrong type comes from the implication
in The GAP library supports empty domains (which can be regarded as asking for trouble). The implication could be replaced by the weaker one
If GAP would support antifilters like
|
Thanks for digging that out. I wonder if IsNonEmpty is viable? I can't think of a domain which doesn't know from construction if it's non-empty. Anything with a non-zero number of generators, anything in IsMagmaWithOne or IsAdditiveMagma are always non-empty. |
I agree that almost all domain constructors can easily decide from the given generators and the filters to be set whether the domain in question is empty or not. Note:
|
Wrong `IsTrivial` set in empty submagma
@ThomasBreuer |
Yes, please put them into a separate PR. That will make it much easier to review and merge them, and also simplify writing the release notes later (which already now is a major burden, and gets worse when a PR contains two many disparate changes). |
1) Wrong `IsTrivial` set in empty submagma 2) Fix `Submagma` method by replacing the empty submagma with the one-submagma, if it turns out a group. (Work around bug, not a fix)
1) Wrong `IsTrivial` set in empty submagma 2) Fix `Submagma` method by replacing the empty submagma with the one-submagma, if it turns out a group. (Work around bug, not a fix)
1) Wrong `IsTrivial` set in empty submagma 2) Fix `Submagma` method by replacing the empty submagma with the one-submagma, if it turns out a group. (Work around bug, not a fix)
1) Wrong `IsTrivial` set in empty submagma 2) Fix `Submagma` method by replacing the empty submagma with the one-submagma, if it turns out a group. (Work around bug, not a fix)
1) Wrong `IsTrivial` set in empty submagma 2) Fix `Submagma` method by replacing the empty submagma with the one-submagma, if it turns out a group. (Work around bug, not a fix)
1) Wrong `IsTrivial` set in empty submagma 2) Fix `Submagma` method by replacing the empty submagma with the one-submagma, if it turns out a group. (Work around bug, not a fix)
@fingolfin OK, I've put it into #2429 |
Re tests: perhaps we should add an option which changes our "quiet ignores" rule for attribute setters to "loudly complain with a warning" ? (If that triggers to many warnings, we could refine it to only complain if an equality test fails) |
1) Wrong `IsTrivial` set in empty submagma 2) Fix `Submagma` method by replacing the empty submagma with the one-submagma, if it turns out a group. (Work around bug, not a fix) This resolves gap-system#2400 as far as groups are concerned.
First, SubadditiveMagma(a,[]) computes an empty magma, but we erroneously set IsTrivial for it, which implies size 1. This was changed to IsEmpty. Secondly, there was an implication from "IsFiniteOrderElementCollection and IsMagma" to IsMagmaWithInverses. But such a collection may be empty, hence the implication is invalid as given. Fixes gap-system#2400
@fingolfin |
First, SubadditiveMagma(a,[]) computes an empty magma, but we erroneously set IsTrivial for it, which implies size 1. This was changed to IsEmpty. Secondly, there was an implication from "IsFiniteOrderElementCollection and IsMagma" to IsMagmaWithInverses. But such a collection may be empty, hence the implication is invalid as given. Fixes gap-system#2400
First, SubadditiveMagma(a,[]) computes an empty magma, but we erroneously set IsTrivial for it, which implies size 1. This was changed to IsEmpty. Secondly, there was an implication from "IsFiniteOrderElementCollection and IsMagma" to IsMagmaWithInverses. But such a collection may be empty, hence the implication is invalid as given. Fixes gap-system#2400
First, SubadditiveMagma(a,[]) computes an empty magma, but we erroneously set IsTrivial for it, which implies size 1. This was changed to IsEmpty. Secondly, there was an implication from "IsFiniteOrderElementCollection and IsMagma" to IsMagmaWithInverses. But such a collection may be empty, hence the implication is invalid as given. Fixes gap-system#2400
First, SubadditiveMagma(a,[]) computes an empty magma, but we erroneously set IsTrivial for it, which implies size 1. This was changed to IsEmpty. Secondly, there was an implication from "IsFiniteOrderElementCollection and IsMagma" to IsMagmaWithInverses. But such a collection may be empty, hence the implication is invalid as given. Fixes #2400
First, SubadditiveMagma(a,[]) computes an empty magma, but we erroneously set IsTrivial for it, which implies size 1. This was changed to IsEmpty. Secondly, there was an implication from "IsFiniteOrderElementCollection and IsMagma" to IsMagmaWithInverses. But such a collection may be empty, hence the implication is invalid as given. Fixes gap-system#2400
This is something that came up in the context of #2387, but really is an earlier problem that has nothing to do with these changes:
Start the master branch (from scratch and with -A to minimize complications) and add the following function (which makes some basic deductions from an objects order):
Now call (this is tested in one of the test files...)
and get an error message:
Error, Value property is already set the other way
The reason is that the calculation defines the empty submagma of the magma defined by [(1,2)].
Properties and implication make this submagma a group and thus it contains the trivial permutation, so is not empty (and has Size 1) but GAP has set before that it is empty. The new setter method just makes this visible.
What is at issue here? Code for Magmas? The implication that they could be groups? Or is it the test for AsGroup?
An easy fix would be to take the test out, but there might be some bug being hidden in the current master branch already.
Puzzled...
The text was updated successfully, but these errors were encountered: