IsRWS(rws)
Returns true if rws is a rewriting system.
IsConfluentRWS(rws)
Returns true if rws is a rewriting system that is known to be confluent.
IsAvailableNormalForm(rws)
Returns true if rws is a rewriting system with an associated normal form. When this is the case, the word-reduction, counting and enumeration functions may be applied to rws and are guaranteed to give the correct answer.
The normal form can only be created by applying one of the two
functions KB
or Automata
to rws.
IsAvailableReductionRWS(rws)
Returns true if rws is a rewriting system for which words can be reduced. When this is the case, the word-reduction, counting and enumeration functions may be applied to rws, but are NOT guaranteed to give the correct answer.
The result of ReduceWordRWS
will always be equal to its argument in
the underlying group of rws, but it may not be the correct normal
form. The counting and enumeration algorithms may return answers that
are too large (never too small). This situation results when KB
is
run and exits, for some reason, with a non-confluent system of
equations.
ResetRWS(rws)
This function resets the rewriting system rws back to its form as it
was before the application of KB
or Automata
. However, the current
ordering and values of control parameters will not be changed. The
normal form and reduction algorithms will be unavailable after this
call.
AddOriginalEqnsRWS(rws)
Occasionally, as a result of a call of KB
on the rewriting system
rws, some rewriting rules can be lost, which means that the
underlying group of rws is changed. This function appends the
original defining relations of the group to the rewriting system,
which ensures that the underlying group is made correct again. It is
advisable to call this function in between two calls of KB
on the
same rewriting system.
GAP 3.4.4