Module type Translate.MT_sig


module type MT_sig = sig .. end
This is what is needed to define a memory model in order to be able to do translation

include Toprop.T_data_mem
val mk_minus_pointer : t_exp -> t_exp -> t_exp
mk_minus_pointer p1 p2 represents p1 - p2
type t_env 
val new_env : unit -> t_env
val term_at : t_env ->
Cil_types.logic_label -> t_exp -> Fol.pure_type -> t_exp
translate \at(exp,L) (or \old(exp) if the label is None)
val pred_forall : fresh:bool -> Fol.variable -> t_pred -> t_pred
val pp_exp : Format.formatter -> t_exp -> unit
val pp_pred : Format.formatter -> t_pred -> unit