AsCascade applied to permutation must return a perm cascade but returns a transformation cascade instead.
This leads to incorrect failures of equality checking, etc:
Example:
gap> t := Cascade([5,5],[ [ [],(1,2,3,4,5)]]);
<perm cascade with 2 levels with (5, 5) pts, 1 dependencies>
gap> t_perm := AsPermutation(t);
(1,6,11,16,21)(2,7,12,17,22)(3,8,13,18,23)(4,9,14,19,24)(5,10,15,20,25)
gap> t_perm_casc := AsCascade(t_perm,[5,5]);
<trans cascade with 2 levels with (5, 5) pts, 1 dependencies>
gap> Display(t);
Dependency function of depth 1 with 1 dependencies.
[ ] -> (1,2,3,4,5)
Dependency function of depth 2 with 0 dependencies.
gap> Display(t_perm_casc);
Dependency function of depth 1 with 1 dependencies.
[ ] -> Transformation( [ 2, 3, 4, 5, 1 ] )
Dependency function of depth 2 with 0 dependencies.
gap> t = t_perm_casc;
false
AsCascade applied to permutation must return a perm cascade but returns a transformation cascade instead. This leads to incorrect failures of equality checking, etc:
Example: gap> t := Cascade([5,5],[ [ [],(1,2,3,4,5)]]); <perm cascade with 2 levels with (5, 5) pts, 1 dependencies> gap> t_perm := AsPermutation(t);
(1,6,11,16,21)(2,7,12,17,22)(3,8,13,18,23)(4,9,14,19,24)(5,10,15,20,25) gap> t_perm_casc := AsCascade(t_perm,[5,5]); <trans cascade with 2 levels with (5, 5) pts, 1 dependencies> gap> Display(t); Dependency function of depth 1 with 1 dependencies. [ ] -> (1,2,3,4,5) Dependency function of depth 2 with 0 dependencies. gap> Display(t_perm_casc); Dependency function of depth 1 with 1 dependencies. [ ] -> Transformation( [ 2, 3, 4, 5, 1 ] ) Dependency function of depth 2 with 0 dependencies. gap> t = t_perm_casc; false
Result should be true.