Spec.Amodule D : sig ... endmodule G : sig ... endmodule LH : sig ... endmodule DlLhProd : sig ... endego tid * (local descendant lockset * global descendant lockset * lock history)
include sig ... endtype t = TID.t * DlLhProd.tval hash : t -> intval arbitrary : unit -> (TID.t * DlLhProd.t) QCheck.arbitrarychecks if program point 1 must happen before program point 2
checks if the entire execution of a thread must happen before a program point