sig
type rule = TopDown.S.T.t * TopDown.S.T.t
type t
val create : unit -> TopDown.S.Rewriting.t
val copy : TopDown.S.Rewriting.t -> TopDown.S.Rewriting.t
val add : TopDown.S.Rewriting.t -> TopDown.S.Rewriting.rule -> unit
val add_list :
TopDown.S.Rewriting.t -> TopDown.S.Rewriting.rule list -> unit
val to_list : TopDown.S.Rewriting.t -> TopDown.S.Rewriting.rule list
val rewrite_root : TopDown.S.Rewriting.t -> TopDown.S.T.t -> TopDown.S.T.t
val rewrite : TopDown.S.Rewriting.t -> TopDown.S.T.t -> TopDown.S.T.t
end