module TERM: sig
.. end
type
primitive =
| |
L_eq |
| |
L_neq |
| |
I_add |
| |
I_sub |
| |
I_mul |
| |
I_div |
| |
I_mod |
| |
I_opp |
| |
I_lt |
| |
I_leq |
| |
I_lsl |
| |
I_lsr |
| |
I_band |
| |
I_bor |
| |
I_bxor |
| |
I_bnot |
| |
R_add |
| |
R_sub |
| |
R_mul |
| |
R_div |
| |
R_opp |
| |
R_lt |
| |
R_leq |
| |
R_of_I |
| |
I_of_R |
| |
B_and |
| |
B_or |
| |
B_not |
type
t =
val iter : (t -> unit) -> t -> unit
val depend : LogicId.Iset.t -> t -> LogicId.Iset.t
val equal : t -> t -> bool
val different : t -> t -> bool
val i_compute : (My_bigint.t -> My_bigint.t -> My_bigint.t) ->
string -> string -> t
val i_compare : (int -> bool) -> string -> string -> t
val e_not : t -> t
val e_and : t -> t -> t
val e_or : t -> t -> t
val e_zero : t
val e_int : int -> t
val e_prim : primitive -> t list -> t
val e_call : LogicId.id -> t list -> t
val e_cond : t -> t -> t -> t
val e_getfield : t -> LogicTau.field -> t
val e_setfield : t -> LogicTau.field -> t -> t
val e_access : t -> t -> t
val e_update : t -> t -> t -> t
val e_hasvar : LogicRaw.VAR.t list -> t -> bool