sig
  val model_name : string
  type t_data = Lowlevel_model.data3
  type t_exp = Lowlevel_model.M.t_data Fol.d_term
  type t_pred = Lowlevel_model.M.t_exp Fol.t_pred
  val eq_data : Lowlevel_model.data3 -> Lowlevel_model.data3 -> bool
  val prop_in_data : '-> '-> 'Fol.d_term
  val cur_mem_var : Fol.variable lazy_t
  val cur_mem : 'Fol.d_term lazy_t
  val fresh_mem : unit -> Fol.variable
  val fol_ctype_sizeof : Cil_types.typ -> 'Fol.d_term
  val fol_ltype_sizeof : Cil_types.logic_type -> 'Fol.d_term
  val field_offset : Cil_types.fieldinfo -> 'Fol.d_term
  val access :
    Cil_types.logic_type ->
    Lowlevel_model.data3 Fol.d_term -> Lowlevel_model.data3 Fol.d_term
  val mem_update :
    Lowlevel_model.data3 Fol.d_term ->
    Cil_types.logic_type ->
    Lowlevel_model.data3 Fol.d_term ->
    Lowlevel_model.data3 Fol.d_term -> Lowlevel_model.data3 Fol.d_term
  val mk_lvar_addr : Cil_types.logic_var -> Lowlevel_model.data3 Fol.d_term
  val mk_cvar_addr : Cil_types.varinfo -> Lowlevel_model.data3 Fol.d_term
  val mk_cvar : Cil_types.varinfo -> Lowlevel_model.data3 Fol.d_term
  val mk_lvar : Cil_types.logic_var -> Lowlevel_model.data3 Fol.d_term
  val mk_shift_pointer :
    'Fol.d_term -> Cil_types.logic_type -> 'Fol.d_term -> 'Fol.d_term
  val mk_index_shift :
    'Fol.d_term -> Cil_types.logic_type -> 'Fol.d_term -> 'Fol.d_term
  val mk_field_shift : 'Fol.d_term -> Cil_types.fieldinfo -> 'Fol.d_term
  val mk_minus_pointer : 'Fol.d_term -> 'Fol.d_term -> 'Fol.d_term
  val mk_field_access :
    Lowlevel_model.data3 Fol.d_term ->
    Cil_types.fieldinfo -> Lowlevel_model.data3 Fol.d_term
  val mk_index_access :
    Lowlevel_model.data3 Fol.d_term ->
    Cil_types.logic_type ->
    Lowlevel_model.data3 Fol.d_term -> Lowlevel_model.data3 Fol.d_term
  val mk_access_pointer :
    Lowlevel_model.data3 Fol.d_term ->
    Cil_types.logic_type -> Lowlevel_model.data3 Fol.d_term
  val mk_field_update : '-> '-> '-> 'd
  val mk_index_update : '-> '-> '-> 'd
  val expr_cast : '-> '-> 'c
  val subst_res_var :
    Cil_types.logic_var ->
    Cil_types.logic_var ->
    Lowlevel_model.data3 Fol.d_pred -> Lowlevel_model.data3 Fol.d_pred
  val pp_data : Format.formatter -> Lowlevel_model.data3 -> unit
  val memory_type_ltype : Cil_types.logic_type
  val memory_type_name : Fol.pure_type
  val mk_memory_type_var : string -> 'Fol.d_term
  val mk_memory_int_ctype : Cil_types.ikind -> 'Fol.d_term
  val mk_memory_float_ctype : Cil_types.fkind -> 'Fol.d_term
  val mk_memory_ctype : Cil_types.typ -> 'Fol.d_term
  val mk_memory_ltype : Cil_types.logic_type -> 'Fol.d_term
  val fol : Lowlevel_model.data3 Fol.d_pred -> 'Fol.d_pred
end