sig
  type t
  val equal : Letify.??.-> Letify.??.-> bool
  val pretty : string -> Format.formatter -> Letify.??.-> unit
  val empty : Letify.??.t
  val add : Lang.F.var -> Lang.F.term -> Letify.??.-> Letify.??.t
  val mem : Lang.F.var -> Letify.??.-> bool
  val find : Lang.F.var -> Letify.??.-> Lang.F.term
  val e_apply : Letify.??.-> Lang.F.term -> Lang.F.term
  val p_apply : Letify.??.-> Lang.F.pred -> Lang.F.pred
  val assume : Letify.??.-> Lang.F.pred -> Letify.??.t
  val iter : (Lang.F.var -> Lang.F.term -> unit) -> Letify.??.-> unit
  val class_of : Letify.??.-> Lang.F.var -> Lang.F.var list
  val domain : Letify.??.-> Lang.F.Vars.t
  val codomain : Letify.??.-> Lang.F.Vars.t
end