Properties of a Rewrite Group

IsConfluent(G) : GrpRWS -> BoolElt
Returns true if G is confluent, false otherwise.
IsFinite(G) : GrpRWS -> BoolElt, RngIntElt
Given a confluent group G return true if G has finite order and false otherwise. If G does have finite order also return the order of G.
Order(G) : GrpRWS -> RngIntElt
# G : GrpRWS -> RngIntElt
The order of the group G as an integer. If the order of G is known to be infinite, the symbol ∞ is returned.

Example GrpRWS_IsConfluent (H81E5)

We construct the Weyl group E8.
> FG<a,b,c,d,e,f,g,h> := FreeGroup(8);
> Q := quo< FG | a^2=1, b^2=1, c^2=1, d^2=1, e^2=1, f^2=1, g^2=1,
>     h^2=1, b*a*b=a*b*a, c*a=a*c, d*a=a*d, e*a=a*e, f*a=a*f,
>     g*a=a*g, h*a=a*h, c*b*c=b*c*b, d*b=b*d, e*b=b*e, f*b=b*f,
>     g*b=b*g, h*b=b*h, d*c*d=c*d*c, e*c*e=c*e*c, f*c=c*f,
>     g*c=c*g, h*c=c*h, e*d=d*e, f*d=d*f, g*d=d*g, h*d=d*h,
>     f*e*f=e*f*e, g*e=e*g, h*e=e*h, g*f*g=f*g*f, h*f=f*h,
>     h*g*h=g*h*g>;
> G := RWSGroup(Q);
> IsConfluent(G);
true
> IsFinite(G);
true 696729600

So the group is finite of order 696, 729, 600.

Example GrpRWS_Order (H81E6)

We construct a 2-generator 2-relator group and use the order function to show that the group is infinite. The symbol Infinity, returned by Order, indicates that the group has infinite order.
> G := Group< x, y | x^2 = y^2, x*y*x = y*x*y >;
> R := RWSGroup(G);
> print Order(G);
Infinity
V2.28, 13 July 2023