Module Lattice.HConsed

Parameters

module Base : S
module Arg : sig ... end

Signature

include sig ... end
module HC : sig ... end
val htable : HC.t
type t = Base.t BatHashcons.hobj
val unlift : 'a BatHashcons.hobj -> 'a
val lift : HC.key -> HC.key BatHashcons.hobj
val lift_f : (Base.t -> 'a) -> Base.t BatHashcons.hobj -> 'a
val show : Base.t BatHashcons.hobj -> string
val pretty : unit -> Base.t BatHashcons.hobj -> Printable.Pretty.doc
val relift : Base.t BatHashcons.hobj -> HC.key BatHashcons.hobj
val name : unit -> string
val hash : 'a BatHashcons.hobj -> int
val tag : 'a BatHashcons.hobj -> int
val compare : 'a BatHashcons.hobj -> 'b BatHashcons.hobj -> int
val to_yojson : Base.t BatHashcons.hobj -> Yojson.Safe.t
val printXml : 'a BatInnerIO.output -> Base.t BatHashcons.hobj -> unit
val equal_debug : Base.t BatHashcons.hobj -> Base.t BatHashcons.hobj -> bool
val equal : 'a BatHashcons.hobj -> 'b BatHashcons.hobj -> bool
val arbitrary : unit -> HC.key BatHashcons.hobj QCheck.arbitrary
val lift_f2 : ('a -> 'b -> 'c) -> 'd BatHashcons.hobj -> 'e BatHashcons.hobj -> 'f
val narrow : HC.key BatHashcons.hobj -> Base.t BatHashcons.hobj -> HC.key BatHashcons.hobj
val widen : HC.key BatHashcons.hobj -> Base.t BatHashcons.hobj -> HC.key BatHashcons.hobj
val meet : HC.key BatHashcons.hobj -> Base.t BatHashcons.hobj -> HC.key BatHashcons.hobj
val join : HC.key BatHashcons.hobj -> Base.t BatHashcons.hobj -> HC.key BatHashcons.hobj
val leq : Base.t BatHashcons.hobj -> Base.t BatHashcons.hobj -> bool
val is_top : Base.t BatHashcons.hobj -> bool
val is_bot : Base.t BatHashcons.hobj -> bool
val top : unit -> HC.key BatHashcons.hobj
val bot : unit -> HC.key BatHashcons.hobj
val pretty_diff : unit -> (Base.t BatHashcons.hobj * Base.t BatHashcons.hobj) -> Pretty.doc