Skip to content
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

Invalid (?) assumption in freeinverse.gi that an Iterator for a free group has !.word bound #532

Closed
wilfwilson opened this issue Sep 21, 2018 · 3 comments
Assignees
Labels
bug Label for issues or PR which report or fix bugs resolved-pending-release A label for issues that are resolved pending a release.

Comments

@wilfwilson
Copy link
Collaborator

wilfwilson commented Sep 21, 2018

Currently, in the stable-4.10 branch of GAP, the tst/standard/freeinverse.tst file fails when all packages are loaded. This is because (due to very long-standing a bug in GAP) a method for Iterator in RCWA that applies to certain groups ends up having higher rank than the special GAP library Iterator method for free groups.

The code in Iterator for a free inverse semigroup assumes that Iterator for a free group has a component !.word, and this presumably records something. I don't see this documented anywhere, so we probably shouldn't rely on this behaviour to exist forever. The test file currently fails because the Iterator for a free group returned by the RCWA method does not have a !.word component.

In the first instance, I will attempt to fix this by adding SUM_FLAGS to the GAP library method for Iterator, even though this won't be required any more when the master branch of GAP ends up being the version required by Semigroups.

In the second instance, we should try to make this code more robust.

@james-d-mitchell
Copy link
Collaborator

Just to mention that the most important point here is that we should not depend on the implementational details of free groups but rather on their documented public methods.

@james-d-mitchell james-d-mitchell self-assigned this Sep 26, 2018
@james-d-mitchell james-d-mitchell added bug Label for issues or PR which report or fix bugs 3.* labels Sep 26, 2018
@james-d-mitchell james-d-mitchell added the resolved-pending-merge A label for issues that are resolved pending a PR merge. label Sep 26, 2018
@wilfwilson wilfwilson added resolved-pending-release A label for issues that are resolved pending a release. and removed resolved-pending-merge A label for issues that are resolved pending a PR merge. labels Sep 26, 2018
@wilfwilson
Copy link
Collaborator Author

Resolved by #540.

@james-d-mitchell
Copy link
Collaborator

Resolved in v3.0.20.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Label for issues or PR which report or fix bugs resolved-pending-release A label for issues that are resolved pending a release.
Projects
None yet
Development

No branches or pull requests

2 participants