15 lines
338 B
OCaml
15 lines
338 B
OCaml
|
module type LANG = sig
|
||
|
type t
|
||
|
val pp : t Fmt.t
|
||
|
val equal : t -> t -> bool
|
||
|
val rewrite : t -> t Seq.t
|
||
|
end
|
||
|
|
||
|
module Make(L : LANG) : sig
|
||
|
type graph = (L.t * L.t) Seq.t
|
||
|
val reductions : L.t -> graph
|
||
|
val is_normal : L.t -> bool
|
||
|
val normal_forms : L.t -> L.t Seq.t
|
||
|
val display : ?verbose:bool -> ?max:int -> graph -> unit
|
||
|
end
|