sig
  type description = Cfgpropid.Create(CV).description
  type t_goal =
    Cfgpropid.Create(CV).t_goal = {
    g_id : WpPropId.prop_id;
    g_prop : CV.t_prop;
    g_descr : description;
  }
  val pp_goal : Format.formatter -> string -> t_goal -> unit
  val pp_descr : Format.formatter -> t_goal -> unit
  val iter_description :
    (Wpo.warning -> unit) -> (Property.t -> unit) -> description -> unit
  type t_prop = t_goal list
  val pretty : Format.formatter -> t_prop -> unit
  val merge : t_prop -> t_prop -> t_prop
  val empty : t_prop
  type t_env = Cfgpropid.Create(CV).t_env
  val new_env :
    ?lvars:Cil_types.logic_var list -> Cil_types.kernel_function -> t_env
  val add_axiom :
    WpPropId.prop_id ->
    string ->
    Cil_types.logic_label list -> Cil_types.predicate Cil_types.named -> unit
  val add_hyp : t_env -> WpPropId.pred_info -> t_prop -> t_prop
  val add_goal : t_env -> WpPropId.pred_info -> t_prop -> t_prop
  val add_assigns : t_env -> WpPropId.assigns_info -> t_prop -> t_prop
  val use_assigns :
    t_env ->
    WpPropId.prop_id option -> WpPropId.assigns_desc -> t_prop -> t_prop
  val assigns_method : unit -> Mcfg.assigns_method
  val label : t_env -> Clabels.c_label -> t_prop -> t_prop
  val assign : t_env -> Cil_types.lval -> Cil_types.exp -> t_prop -> t_prop
  val return : t_env -> Cil_types.exp option -> t_prop -> t_prop
  val test : t_env -> Cil_types.exp -> t_prop -> t_prop -> t_prop
  val switch :
    t_env ->
    Cil_types.exp -> (Cil_types.exp list * t_prop) list -> t_prop -> t_prop
  val init_value :
    t_env ->
    Cil_types.lval ->
    Cil_types.typ -> Cil_types.exp option -> t_prop -> t_prop
  val init_range :
    t_env ->
    Cil_types.lval -> Cil_types.typ -> int64 -> int64 -> t_prop -> t_prop
  val tag : string -> t_prop -> t_prop
  val call_goal_precond :
    t_env ->
    Cil_types.stmt ->
    Cil_types.kernel_function ->
    Cil_types.exp list -> pre:WpPropId.pred_info list -> t_prop -> t_prop
  val call :
    t_env ->
    Cil_types.stmt ->
    Cil_types.lval option ->
    Cil_types.kernel_function ->
    Cil_types.exp list ->
    pre:WpPropId.pred_info list ->
    post:WpPropId.pred_info list ->
    pexit:WpPropId.pred_info list ->
    assigns:Cil_types.identified_term Cil_types.assigns ->
    p_post:t_prop -> p_exit:t_prop -> t_prop
  val scope :
    t_env -> Cil_types.varinfo list -> Mcfg.scope -> t_prop -> t_prop
  val build_prop_of_from :
    t_env -> WpPropId.pred_info list -> t_prop -> t_prop
  val close : t_env -> t_prop -> t_prop
end