66.2 Elementary functions on rewriting systems

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.

Previous Up Top Next
Index

GAP 3.4.4
April 1997