(** Unique name generators
  
  These functions generate a unique name of a particular format on each call *)

(** Generates a literal location name *)
val fresh_loc : unit -> string

(** Generates a program variable name *)
val fresh_pvar : unit -> string

(** Generates a logical variable name *)
val fresh_lvar : unit -> string

(** Generates a logical variable name (for bi-abduction) *)
val fresh_svar : unit -> string

(** Resets all generators *)
val reset : unit -> unit

* Unique name generators
  
  These functions generate a unique name of a particular format on each call 
* Generates a literal location name 
* Generates a program variable name 
* Generates a logical variable name 
* Generates a logical variable name (for bi-abduction) 
* Resets all generators 

val fresh_loc : unit -> string

val fresh_pvar : unit -> string

val fresh_lvar : unit -> string

val fresh_svar : unit -> string

val reset : unit -> unit
