https://github.com/EasyCrypt/easycrypt
Tip revision: da719f05bd0e5199b1040c2bcbc97379aa4e7f8c authored by Alley Stoughton on 22 May 2020, 22:12:19 UTC
Allows nosmt with all operators other than pure, abstract ones - i.e.,
Allows nosmt with all operators other than pure, abstract ones - i.e.,
Tip revision: da719f0
ecUid.mli
(* --------------------------------------------------------------------
* Copyright (c) - 2012--2016 - IMDEA Software Institute
* Copyright (c) - 2012--2018 - Inria
* Copyright (c) - 2012--2018 - Ecole Polytechnique
*
* Distributed under the terms of the CeCILL-C-V1 license
* -------------------------------------------------------------------- *)
(* -------------------------------------------------------------------- *)
open EcMaps
open EcSymbols
(* -------------------------------------------------------------------- *)
val unique : unit -> int
(* -------------------------------------------------------------------- *)
type uid = int
type uidmap
val create : unit -> uidmap
val lookup : uidmap -> symbol -> uid option
val forsym : uidmap -> symbol -> uid
(* -------------------------------------------------------------------- *)
val uid_equal : uid -> uid -> bool
val uid_compare : uid -> uid -> int
module Muid : Map.S with type key = uid
module Suid : Set.S with module M = Map.MakeBase(Muid)
(* -------------------------------------------------------------------- *)
module NameGen : sig
type t
val ofint : int -> string
val bulk : ?fmt:(string -> string) -> int -> string list
val create : unit -> t
val get : t -> uid -> string
end