module Presentation:
Oriented presentation of a monoid.
Parameters: |
|
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 -> t
Orient rules according to a partial order.
val normalize : t -> W.t -> W.t
Normalize a word.
val add_rule : t ->
W.t * W.t -> t
val reduce : t -> t
Reduce a presentation.
val complete : (W.t -> W.t -> bool) ->
t -> t
Knuth-Bendix completion wrt a total order.
module Make:
Make a monoid from a convergent presentation.