TrieDomain.MakeSourcemodule Key : Printable.Smodule Trie : sig ... endinclude module type of struct include Trie endinclude Lattice.S with type t = value * ChildMap.tinclude Lattice.PO with type t = value * ChildMap.tinclude Printable.S with type t = value * ChildMap.tval hash : t -> intval show : t -> stringval pretty : unit -> t -> Printable.Pretty.docval printXml : 'a BatInnerIO.output -> t -> unitval to_yojson : t -> Yojson.Safe.tval tag : t -> intUnique ID, given by HConsed, for context identification in witness
val arbitrary : unit -> t QCheck.arbitrarywiden x y assumes leq x y. Solvers guarantee this by calling widen old (join old new).
If leq x y = false, then pretty_diff () (x, y) should explain why.