Module PerMutexTidCommon.LMust

Mutexes / clusters of globals to which values have been published, i.e., for which the initializers need not be read *

include sig ... end
val empty : unit -> [ `Lifted of SetDomain.Make(Printable.Prod(LLock)(Cluster)).t | `Top ]
val is_empty : [ `Lifted of SetDomain.Make(Printable.Prod(LLock)(Cluster)).t | `Top ] -> bool
val mem : elt -> [ `Lifted of SetDomain.Make(Printable.Prod(LLock)(Cluster)).t | `Top ] -> bool
val singleton : elt -> [ `Lifted of SetDomain.Make(Printable.Prod(LLock)(Cluster)).t | `Top ]
val subset : [ `Lifted of SetDomain.Make(Printable.Prod(LLock)(Cluster)).t | `Top ] -> [ `Lifted of SetDomain.Make(Printable.Prod(LLock)(Cluster)).t | `Top ] -> bool
val disjoint : [ `Lifted of SetDomain.Make(Printable.Prod(LLock)(Cluster)).t | `Top ] -> [ `Lifted of SetDomain.Make(Printable.Prod(LLock)(Cluster)).t | `Top ] -> bool
val iter : (elt -> unit) -> [ `Lifted of SetDomain.Make(Printable.Prod(LLock)(Cluster)).t | `Top ] -> unit
val map : (elt -> elt) -> [ `Lifted of SetDomain.Make(Printable.Prod(LLock)(Cluster)).t | `Top ] -> [ `Lifted of SetDomain.Make(Printable.Prod(LLock)(Cluster)).t | `Top ]
val fold : (elt -> 'a -> 'a) -> [ `Lifted of SetDomain.Make(Printable.Prod(LLock)(Cluster)).t | `Top ] -> 'a -> 'a
val for_all : (elt -> bool) -> [ `Lifted of SetDomain.Make(Printable.Prod(LLock)(Cluster)).t | `Top ] -> bool
val exists : (elt -> bool) -> [ `Lifted of SetDomain.Make(Printable.Prod(LLock)(Cluster)).t | `Top ] -> bool
val filter : (elt -> bool) -> [ `Lifted of SetDomain.Make(Printable.Prod(LLock)(Cluster)).t | `Top ] -> [ `Lifted of SetDomain.Make(Printable.Prod(LLock)(Cluster)).t | `Top ]
val partition : (elt -> bool) -> [ `Lifted of SetDomain.Make(Printable.Prod(LLock)(Cluster)).t | `Top ] -> [ `Lifted of SetDomain.Make(Printable.Prod(LLock)(Cluster)).t | `Top ] * [ `Lifted of SetDomain.Make(Printable.Prod(LLock)(Cluster)).t | `Top ]
val cardinal : [ `Lifted of SetDomain.Make(Printable.Prod(LLock)(Cluster)).t | `Top ] -> int
val elements : [ `Lifted of SetDomain.Make(Printable.Prod(LLock)(Cluster)).t | `Top ] -> elt list
val of_list : elt list -> [ `Lifted of SetDomain.Make(Printable.Prod(LLock)(Cluster)).t | `Top ]
val min_elt : [ `Lifted of SetDomain.Make(Printable.Prod(LLock)(Cluster)).t | `Top ] -> elt
val max_elt : [ `Lifted of SetDomain.Make(Printable.Prod(LLock)(Cluster)).t | `Top ] -> elt
val choose : [ `Lifted of SetDomain.Make(Printable.Prod(LLock)(Cluster)).t | `Top ] -> elt
type t = [
  1. | `Lifted of SetDomain.Make(Printable.Prod(LLock)(Cluster)).t
  2. | `Top
]
val equal : t -> t -> bool
val hash : t -> int
val compare : t -> t -> int
val show : t -> string
val pretty : unit -> t -> Printable.Pretty.doc
val to_yojson : t -> Yojson.Safe.t
val tag : t -> int
val relift : t -> t
val bot : unit -> [ `Lifted of SetDomain.Make(Printable.Prod(LLock)(Cluster)).t | `Top ]
val is_bot : [ `Lifted of SetDomain.Make(Printable.Prod(LLock)(Cluster)).t | `Top ] -> bool
val top : unit -> [ `Lifted of SetDomain.Make(Printable.Prod(LLock)(Cluster)).t | `Top ]
val is_top : [ `Lifted of SetDomain.Make(Printable.Prod(LLock)(Cluster)).t | `Top ] -> bool
val leq : [ `Lifted of SetDomain.Make(Printable.Prod(LLock)(Cluster)).t | `Top ] -> [ `Lifted of SetDomain.Make(Printable.Prod(LLock)(Cluster)).t | `Top ] -> bool
val pretty_diff : unit -> (t * t) -> Lattice.Pretty.doc
val printXml : 'a BatInnerIO.output -> [ `Lifted of SetDomain.Make(Printable.Prod(LLock)(Cluster)).t | `Top ] -> unit
val arbitrary : unit -> [ `Lifted of SetDomain.Make(Printable.Prod(LLock)(Cluster)).t | `Top ] QCheck.arbitrary
val name : unit -> string