Module Spec.A

include module type of struct include MHP end
include module type of struct include Printable.Std end

Default dummy definitions.

Include as the first thing to avoid these overriding actual definitions.

val tag : 'a -> 'b
val arbitrary : unit -> 'a
module Pretty = MHP.Pretty
val equal : t -> t -> Ppx_deriving_runtime.bool
val compare : t -> t -> Ppx_deriving_runtime.int
val hash : t -> int
val relift : t -> t
val current : Queries.ask -> t
val pretty : unit -> t -> Pretty.doc
include sig ... end
val show : t -> string
val printXml : 'a BatInnerIO.output -> t -> unit
val to_yojson : t -> [> `String of string ]
val definitely_not_started : (TID.t * ConcDomain.ThreadSet.t) -> TID.t -> bool

Can 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 -> bool
val must_be_joined : ConcDomain.ThreadSet.elt -> ConcDomain.ThreadSet.t -> bool

Must the thread with thread id other be already joined

val may_happen_in_parallel : t -> t -> bool

May two program points with respective MHP information happen in parallel

val name : unit -> string
val may_race : MHP.t -> MHP.t -> bool
val should_print : t -> bool