Module Exp
module Exp: sig
.. end
Representation of expressions
type
sfn1 =
| |
Sfn_NOT |
| |
Sfn_item |
| |
Sfn_sorted |
| |
Sfn_hd |
| |
Sfn_tl |
| |
Sfn_set_of_list |
| |
Sfn_can_return |
Built-in functions with one argument
type
sfn2 =
| |
Sfn_list_lt |
| |
Sfn_items |
| |
Sfn_subset |
| |
Sfn_once_in_list |
| |
Sfn_set_minus |
Built-in functions with two arguments
type
sfn =
| |
Sfn_list |
| |
Sfn_set |
| |
Sfn_AND |
| |
Sfn_OR |
| |
Sfn_XOR |
| |
Sfn_undef |
Built-in functions with a variable number of arguments
type
sfn_grp =
type
id_internal1
type
id_internal2
type
id_internal3
type
exp = private
Canonical expressions
type
ie_list = private
type
subst = exp -> exp
Substitutions
Standard functions
val string_of_sfn1 : sfn1 -> string
val string_of_sfn2 : sfn2 -> string
val string_of_sfn : sfn -> string
val string_of_sfn_grp : sfn_grp -> string
Identifiers
module Id: sig
.. end
Identifiers
module IdSet: Set.S
with type elt = Id.t
module IdMap: Map.S
with type key = Id.t
Expressions
module E: sig
.. end
val equal_exp : exp -> exp -> bool
val compare_exp : exp -> exp -> int
val compare_exp_list : exp list -> exp list -> int
val abs_compare_exp : exp -> exp -> int
val mem_exp : exp -> exp list -> bool
val remdup_exp : exp list -> exp list
val existential_id : exp -> bool
return true if exp of the form _x
val exp_fold : (exp -> 'a -> 'a) -> exp -> 'a -> 'a
val ie_fold : (exp -> int -> 'a -> 'a) -> ie_list -> 'a -> 'a
val ie_fold_exp : (exp -> 'a -> 'a) -> ie_list -> 'a -> 'a
Substitutions
val mk_fun_subst : subst -> subst
val mk_id_subst : (Id.t -> exp) -> subst
val mk_subst : (Id.t, exp) Misc.plist -> subst
val mk_single_subst : Id.t -> exp -> subst
val mk_gensym_garb_subst : Id.t -> subst
val mk_gensym_garb_subst_idset : IdSet.t -> subst
val mk_gensym_garb_subst_idset2 : IdSet.t -> subst * subst
val existentials_rename_tonormal_sub : IdSet.t -> subst * subst
Replace existentials with gensym'd normal vars.
val existentials_rename_sub : IdSet.t -> subst
Replace existentials with gensym'd existential vars.
val map_sub : ('a -> 'a) -> 'a list -> 'a list
val map_idset : subst -> IdSet.t -> IdSet.t
val exp_no_s : string -> exp -> bool
Disjoint sets
module Dset: sig
.. end
Disjoint sets
Fields
module Fld: sig
.. end
Pretty printing
val pp_ident : Format.formatter -> Id.t -> unit
val pp_idset : Format.formatter -> IdSet.t -> unit
val pp_exp : Format.formatter -> exp -> unit
val pp_exp_list : Format.formatter -> exp list -> unit
val pp_fld : Format.formatter -> Fld.t -> unit
Identifier pools
type
idpool
val idpool_new : (string -> Id.t) -> string -> idpool
val idpool_combine : idpool -> 'a list -> ('a, exp) Misc.plist
val idpool_combine2 : idpool -> IdSet.t -> subst * subst