sig
val model_name : string
type t_data = Model1.data1
type t_exp = Model1.M.t_data Fol.d_term
type t_pred = Model1.M.t_data Fol.d_pred
val eq_data : Model1.data1 -> Model1.data1 -> bool
val mk_lvar : Cil_types.logic_var -> 'a Fol.d_term
val mk_cvar : Cil_types.varinfo -> 'a Fol.d_term
val mk_lvar_addr : Cil_types.logic_var -> Model1.data1 Fol.d_term
val mk_cvar_addr : Cil_types.varinfo -> Model1.data1 Fol.d_term
val mk_field_access :
Model1.exp1 -> Cil_types.fieldinfo -> Model1.data1 Fol.d_term
val mk_index_access :
Model1.exp1 -> 'a -> Model1.exp1 -> Model1.data1 Fol.d_term
val mk_field_shift :
Model1.exp1 -> Cil_types.fieldinfo -> Model1.data1 Fol.d_term
val mk_index_shift :
Model1.exp1 -> 'a -> Model1.exp1 -> Model1.data1 Fol.d_term
val mk_shift_pointer :
Model1.exp1 -> 'a -> Model1.exp1 -> Model1.data1 Fol.d_term
val access : Model1.exp1 -> Model1.exp1
val mk_access_pointer : Model1.exp1 -> 'a -> Model1.exp1
val mk_field_update :
Model1.exp1 ->
Cil_types.fieldinfo -> Model1.exp1 -> Model1.data1 Fol.d_term
val mk_index_update :
Model1.exp1 -> Model1.exp1 -> Model1.exp1 -> Model1.data1 Fol.d_term
val mk_ptr_update : Model1.exp1 -> Model1.exp1 -> Model1.data1 Fol.d_term
val prop_in_data :
(Model1.exp1 -> Model1.exp1) -> Model1.data1 -> Model1.exp1
val visit_exp_in_data :
('a -> Model1.exp1 -> 'a) -> 'a -> Model1.data1 -> 'a
val mk_let :
fresh:bool ->
Fol.variable ->
Model1.data1 Fol.d_term ->
Model1.data1 Fol.d_pred -> Model1.data1 Fol.d_pred
val expr_cast : 'a -> 'b -> 'c
val add_decl_hyp :
Cil_types.logic_var ->
Model1.data1 Fol.d_term Fol.t_pred -> Model1.data1 Fol.d_term Fol.t_pred
val fol : Model1.data1 Fol.d_pred -> Fol.data Fol.d_pred
val pp_data : Format.formatter -> Model1.data1 -> unit
end