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

avoid an attribute value after leaving a break loop #5731

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Commits on May 28, 2024

  1. avoid an attribute value after leaving a break loop

    When one creates a f.p. group and triggers an element comparison
    then it may happen that GAP does not return.
    Hit CTRL-C, then GAP enters a break loop,
    and when one leaves it with `quit` then it is currently too late
    for triggering the computation of an `IsomorphismPermGroup` or so
    that will control the behaviour of the group.
    
    Here is an example that shows the situation in GAP 4.12.
    The master branch version is already too clever for this particular group,
    currently I have no test example that demonstrate the changes there.
    
    ```
    f:= FreeGroup(3);;
    AssignGeneratorVariables( f );;
    rels:= [f3^6, f2^3, (f1^-1*f2^-1*f1*f2^-1)^2,
    f2*f1^-1*f2^-1*f1^2*f2*f1^3*f2^-1*f1^-2*f2*f1^-1,
    f1*(f1^2*f2^-1)^2*f1^-2*f2^-1*f1*f2*f1^-3*f2^-1,
    f2*(f1^-1*f2*f1^-1)^2*f2*f1^2*f2^-1*f1^-4*f2^-1*f1^2,
    f1*f2*f1^-1*f2^-1*(f1^-1*f2)^2*f1^-1*(f1^-1*f2^-1)^2*f1^4*f2*f1^2,
    (f2*f1*f2^-1*f1^-2*f2^-1*f1)^3,
    f1^4*f2*(f1^-1*f2^-1)^2*(f1^-1*f2)^2*f1^-2*f2*f1*f2^-1*f1^-1*f2*f1^-3*f2^-1*f1,
    f2*f1*f2*f1^-2*f2^-1*f1*f2*f1^-1*f2^-1*f1^3*f2*f1^-2*f2*f1^-1*f2^-1*f1^2*f2^-1*(f1*f2)^2*f1^-1*(f2^-1*f1)^2,
    f3*f1*f3^-1*f1^-1,
    f3*f2*f3^-1*f2^-1];;
    Q:= f / rels;;
    Order(Q);
    Order(Q.3);  # hangs in GAP 4.12, hit CTRL-C, enter quit;
    IsomorphismPermGroup(Q);;   # the value will not be used automatically later on
    Order(Q.3);  # hangs again
    ```
    
    Does it make sense at all to try to avoid this kind of "object corruption"
    after leaving a break loop?
    ThomasBreuer committed May 28, 2024
    Configuration menu
    Copy the full SHA
    85f660f View commit details
    Browse the repository at this point in the history