Spec.Ainclude module type of struct include MHP endmodule TID = ThreadIdDomain.Threadmodule Pretty = MHP.Prettytype t = MHP.t = {tid : ThreadIdDomain.ThreadLifted.t;created : ConcDomain.ThreadSet.t;must_joined : ConcDomain.ThreadSet.t;}val hash : t -> intval current : Queries.ask -> tval pretty : unit -> t -> Pretty.docval definitely_not_started : (TID.t * ConcDomain.ThreadSet.t) -> TID.t -> boolCan it be excluded that the thread tid2 is running at a program point where
val exists_definitely_not_started_in_joined :
(TID.t * ConcDomain.ThreadSet.t) ->
ConcDomain.ThreadSet.t ->
boolval must_be_joined : ConcDomain.ThreadSet.elt -> ConcDomain.ThreadSet.t -> boolMust the thread with thread id other be already joined
May two program points with respective MHP information happen in parallel
val is_unique_thread : t -> boolval should_print : t -> bool