The Category of Rewrite Monoids
The Construction of a Rewrite Monoid
Construction of a Rewrite Monoid
RWSMonoid(Q: parameters) : MonFP -> MonRWS
SetVerbose("KBMAG", v) : MonStgElt, RngIntElt ->
Example MonRWS_RWSMonoid (H18E1)
Construction of a Word
Identity(M) : MonRWS -> MonRWSElt
M ! [ i_1, ..., i_s ] : MonRWS, [ RngIntElt ] -> MonRWSElt
Example MonRWS_Words (H18E2)
Arithmetic with Words
u * v : MonRWSElt, MonRWSElt -> MonRWSElt
u ^ n : MonRWSElt, RngIntElt -> MonRWSElt
u eq v : MonRWSElt, MonRWSElt -> BoolElt
u ne v : MonRWSElt, MonRWSElt -> BoolElt
IsId(w) : MonRWSElt -> BoolElt
# u : MonRWSElt -> RngIntElt
ElementToSequence(u) : MonRWSElt -> [ RngIntElt ]
Example MonRWS_Arithmetic (H18E3)
Accessing Monoid Information
M . i : MonRWS, RngIntElt -> MonRWSElt
Generators(M) : MonRWS -> [ MonRWSElt]
NumberOfGenerators(M) : MonRWS -> RngIntElt
Relations(M) : MonRWS -> [MonFPRel]
NumberOfRelations(M) : MonRWS -> RngIntElt
Ordering(M) : MonRWS -> String
Parent(w) : MonRWSElt -> MonRWS
Example MonRWS_BasicAccess (H18E4)
Construction of Homomorphisms
hom< M -> N | S > : Struct , Struct -> Map
Operations on the Set of Elements
Order Functions
Order(M) : MonRWS -> RngIntElt
IsFinite(M) : MonRWS -> BoolElt, RngIntElt
Example MonRWS_Order (H18E5)
Set Operations
Random(M, n) : MonRWS, RngIntElt -> MonRWSElt
Random(M) : MonRWS -> MonRWSElt
Representative(M) : MonRWS -> MonRWSElt
Set(M, a, b) : MonRWS, RngIntElt, RngIntElt -> SetEnum
Set(M) : MonRWS -> SetEnum
Seq(M, a, b) : MonRWS, RngIntElt, RngIntElt -> SeqEnum
Seq(M) : MonRWS -> SeqEnum
Example MonRWS_Set (H18E6)
Membership and Equality
w in M : MonRWSElt, MonRWS -> BoolElt
w notin M : MonRWSElt, MonRWS -> BoolElt
S subset M : { MonRWSElt }, MonRWS -> BoolElt
S notsubset M : { MonRWSElt }, MonRWS -> BoolElt
Properties of a Rewrite Monoid
Rewrite Monoid Predicates
IsConfluent(M) : MonRWS -> BoolElt
Example MonRWS_IsConfluent (H18E7)