module Presentation:Monoid.Presentation(X)
module W:Monoid.Free(X)
type t = {
|
generators : |
|
rules : |
val make : X.t list ->
(W.t * W.t) list ->
t
val orient : (W.t -> W.t -> bool) ->
t -> tOrient rules according to a partial order.
val normalize : t -> W.t -> W.tNormalize a word.
val add_rule : t ->
W.t * W.t -> t
val reduce : t -> tReduce a presentation.
val complete : (W.t -> W.t -> bool) ->
t -> tKnuth-Bendix completion wrt a total order.
module Make:
Make a monoid from a convergent presentation.