sig
  val model_name : string
  type t_data = Model2.data2
  type t_exp = Model2.data2 Fol.d_term
  type t_pred = Model2.M.t_exp Fol.t_pred
  val eq_data : Model2.data2 -> Model2.data2 -> bool
  val prop_in_data :
    (Model2.exp2 -> Model2.exp2) -> Model2.data2 -> Model2.data2 Fol.d_term
  val cur_mem_var : Fol.variable lazy_t
  val cur_mem : 'Fol.d_term lazy_t
  val mk_field_shift :
    Model2.exp2 -> Cil_types.fieldinfo -> Model2.data2 Fol.d_term
  val mk_index_shift :
    Model2.exp2 -> '-> Model2.exp2 -> Model2.data2 Fol.d_term
  val mk_cvar_addr : Cil_types.varinfo -> Model2.data2 Fol.d_term
  val mk_lvar_addr : Cil_types.logic_var -> Model2.data2 Fol.d_term
  val mk_access_pointer : Model2.exp2 -> '-> Model2.data2 Fol.d_term
  val mem_update :
    Model2.exp2 ->
    '-> Model2.exp2 -> Model2.exp2 -> Model2.data2 Fol.d_term
  val mk_cvar : Cil_types.varinfo -> Model2.data2 Fol.d_term
  val mk_lvar : Cil_types.logic_var -> Model2.data2 Fol.d_term
  val get_addr_exp : Model2.exp2 -> Model2.exp2 * Model2.exp2
  val mk_field_access :
    Model2.exp2 -> Cil_types.fieldinfo -> Model2.data2 Fol.d_term
  val mk_index_access :
    Model2.exp2 -> '-> Model2.exp2 -> Model2.data2 Fol.d_term
  val mk_shift_pointer :
    Model2.exp2 -> '-> Model2.exp2 -> Model2.data2 Fol.d_term
  val mk_field_update : '-> '-> '-> 'd
  val mk_index_update : '-> '-> '-> 'd
  val subst_res_var :
    Cil_types.logic_var ->
    Cil_types.logic_var -> Model2.data2 Fol.d_pred -> Model2.data2 Fol.d_pred
  val expr_cast : '-> '-> 'c
  val fol : Model2.data2 Fol.d_pred -> Fol.data Fol.d_pred
  val pp_data : Format.formatter -> Model2.data2 -> unit
end