type t = {
imports : (string * bool) list;
lemmas : (string, Lemma.t) Stdlib.Hashtbl.t;
preds : (string, Pred.t) Stdlib.Hashtbl.t;
only_specs : (string, Spec.t) Stdlib.Hashtbl.t;
procs : (string, EProc.t) Stdlib.Hashtbl.t;
macros : (string, Macro.t) Stdlib.Hashtbl.t;
bi_specs : (string, BiSpec.t) Stdlib.Hashtbl.t;
proc_names : string list;
}
val init :
(string * bool) list ->
(string, Lemma.t) Stdlib.Hashtbl.t ->
(string, Pred.t) Stdlib.Hashtbl.t ->
(string, Spec.t) Stdlib.Hashtbl.t ->
(string, EProc.t) Stdlib.Hashtbl.t ->
(string, Macro.t) Stdlib.Hashtbl.t ->
(string, BiSpec.t) Stdlib.Hashtbl.t ->
string list ->
t
val full_init : unit -> t
val get_procs : ?proc_names:string list -> t -> EProc.t list
val get_proc : t -> string -> EProc.t option
val pp : Stdlib.Format.formatter -> t -> unit
val update_imports : t -> string list -> t