module Termutil: sig end
exception Termutil_error of string * Location.location
termutil
module to signal errors
in the input file.val lterm_replace_ldcl : (Abstract.eva_lterm -> Abstract.eva_lterm) ->
Abstract.eva_ldcl -> Abstract.eva_ldcl
lterm_replace_ldcl tr d
d
in which
every term has been replaced by
its image under the given term replacement function tr
.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
true
if the given term t
is a first order id or a value,
or an alias to an atomic located term,
and returns false otherwise.val is_atomic_lterm : Abstract.eva_lterm -> bool
is_atomic_lterm t
true
if the given located term t
is a first order id or a value,
or an alias to an atomic located term,
and returns false otherwise.val subst_dom : ('a * 'b) list -> 'a list
val subst_term : (string * Abstract.eva_term) list -> Abstract.eva_term -> Abstract.eva_term
subst_term s t
returns the substitution of
the given term t
by the given substitution s
.
Constants are not subsituted.
The term t
must contain no alias.
val subst_lterm : (string * Abstract.eva_term) list -> Abstract.eva_lterm -> Abstract.eva_lterm
val is_grounding : (string * 'a) list -> Abstract.eva_term -> bool
is_grounding s t
returns true
iff the domain of the given substitution s
contains all the parameters and private variables of
the term t
.val term_vars : Abstract.eva_term -> string list
term_vars t
returns the list (with repetitions)
of identifiers of parameters and private variables
in the given term t
.val lterm_vars : Abstract.eva_lterm -> string list