IsConsistent( G )
IsConsistent( G, all )
IsConsistent returns true if the finite polycyclic presentation of a
parent group G is consistent and false otherwise.
If all is true then G.inconsistencies contains a list for pairs
[ w_1, w_2 ] such that the words w_1 and w_2 are equal in G but
have different normal forms.
Note that IsConsistent check and sets G.isConsistent.
gap> InfoAgGroup2 := Print;;
gap> x := AbstractGenerator( "x" );;
gap> y := AbstractGenerator( "y" );;
gap> z := AbstractGenerator( "z" );;
gap> G := AgGroupFpGroup( rec(
> generators := [ x, y, z ],
> relators := [ x^2 / y, y^2 / z, z^2,
> Comm( y, x ) / ( y * z ),
> Comm( z, x ) / ( y * z )] ) );
Group( x, y, z )
gap> IsConsistent( G );
#I IsConsistent: y * ( y * x ) <> ( y * y ) * x
false
gap> IsConsistent( G, true );
#I IsConsistent: y * ( y * x ) <> ( y * y ) * x
#I IsConsistent: z * ( z * x ) <> ( z * z ) * x
#I IsConsistent: y * ( x * x ) <> ( y * x ) * x
#I IsConsistent: z * ( x * x ) <> ( z * x ) * x
#I IsConsistent: x * ( x * x ) <> ( x * x ) * x
false
gap> G.inconsistencies;
[ [ x, x*y ], [ x*z, x ], [ z, y ], [ y*z, y ], [ x*y, x ] ]
gap> InfoAgGroup2 := Ignore;;
GAP 3.4.4