sig
  exception Termutil_error of string * Location.location
  val lterm_replace_ldcl :
    (Abstract.eva_lterm -> Abstract.eva_lterm) ->
    Abstract.eva_ldcl -> Abstract.eva_ldcl
  val lterm_replace_dcl :
    (Abstract.eva_lterm -> Abstract.eva_lterm) ->
    Abstract.eva_dcl -> Abstract.eva_dcl
  val lterm_replace_linstr :
    (Abstract.eva_lterm -> Abstract.eva_lterm) ->
    Abstract.eva_linstr -> Abstract.eva_linstr
  val lterm_replace_instr :
    (Abstract.eva_lterm -> Abstract.eva_lterm) ->
    Abstract.eva_instr -> Abstract.eva_instr
  val lterm_replace_lprotocol :
    (Abstract.eva_lterm -> Abstract.eva_lterm) ->
    Abstract.eva_lprotocol -> Abstract.eva_lprotocol
  val lterm_replace_protocol :
    (Abstract.eva_lterm -> Abstract.eva_lterm) ->
    Abstract.eva_protocol -> Abstract.eva_protocol
  val lterm_replace_process :
    (Abstract.eva_lterm -> Abstract.eva_lterm) ->
    Abstract.eva_process -> Abstract.eva_process
  val lterm_replace_lsession :
    (Abstract.eva_lterm -> Abstract.eva_lterm) ->
    Abstract.eva_lsession -> Abstract.eva_lsession
  val lterm_replace_session :
    (Abstract.eva_lterm -> Abstract.eva_lterm) ->
    Abstract.eva_session -> Abstract.eva_session
  val lterm_replace_latom :
    (Abstract.eva_lterm -> Abstract.eva_lterm) ->
    Abstract.eva_latom -> Abstract.eva_latom
  val lterm_replace_atom :
    (Abstract.eva_lterm -> Abstract.eva_lterm) ->
    Abstract.eva_atom -> Abstract.eva_atom
  val lterm_replace_lstatement :
    (Abstract.eva_lterm -> Abstract.eva_lterm) ->
    Abstract.eva_lstatement -> Abstract.eva_lstatement
  val lterm_replace_statement :
    (Abstract.eva_lterm -> Abstract.eva_lterm) ->
    Abstract.eva_statement -> Abstract.eva_statement
  val lterm_replace_spec :
    (Abstract.eva_lterm -> Abstract.eva_lterm) ->
    Abstract.eva_spec -> Abstract.eva_spec
  val string_of_lid : Abstract.eva_lid -> string
  val lid_equal : Abstract.eva_lid -> Abstract.eva_lid -> bool
  val lterm_equal : Abstract.eva_lterm -> Abstract.eva_lterm -> bool
  val is_atomic_term : Abstract.eva_term -> bool
  val is_atomic_lterm : Abstract.eva_lterm -> bool
  val subst_dom : ('a * 'b) list -> 'a list
  val subst_term :
    (string * Abstract.eva_term) list ->
    Abstract.eva_term -> Abstract.eva_term
  val subst_lterm :
    (string * Abstract.eva_term) list ->
    Abstract.eva_lterm -> Abstract.eva_lterm
  val is_grounding : (string * 'a) list -> Abstract.eva_term -> bool
  val term_vars : Abstract.eva_term -> string list
  val lterm_vars : Abstract.eva_lterm -> string list
end