sig
  type t = Term.t -> Term.t * Jst.jst
  val id : Jst.Eqtrans.t
  val compose : Jst.Eqtrans.t -> Jst.Eqtrans.t -> Jst.Eqtrans.t
  val compose3 :
    Jst.Eqtrans.t -> Jst.Eqtrans.t -> Jst.Eqtrans.t -> Jst.Eqtrans.t
  val totalize : Jst.Eqtrans.t -> Jst.Eqtrans.t
  val compose_partial1 : Jst.Eqtrans.t -> Jst.Eqtrans.t -> Jst.Eqtrans.t
  val replace : Term.map -> Jst.Eqtrans.t -> Jst.Eqtrans.t
  val apply : Term.apply -> (Term.t * Term.t) * Jst.jst -> Jst.Eqtrans.t
  val pointwise : Jst.Eqtrans.t -> Term.t list -> Term.t list * Jst.jst
  val mapargs :
    (Sym.t -> Term.t list -> Term.t * Jst.jst) ->
    (Sym.t -> Jst.Eqtrans.t) -> Jst.Eqtrans.t
  val trace : Trace.level -> string -> Jst.Eqtrans.t -> Jst.Eqtrans.t
end