include sig ... end
type t = [
| `Bot
| `Lifted1 of Priv.G.t
| `Lifted2 of VD.t
| `Top
]
val equal : t -> t -> Ppx_deriving_runtime.bool
val compare : t -> t -> Ppx_deriving_runtime.int
val arbitrary : unit -> 'a
val pretty : unit -> t -> Printable.Pretty.doc
val show : [< `Bot | `Lifted1 of Priv.G.t | `Lifted2 of VD.t | `Top ] -> string
val relift :
[< `Bot | `Lifted1 of Priv.G.t | `Lifted2 of VD.t | `Top Lifted1 Lifted2 ] as 'a ->
'a
val name : unit -> string
val printXml :
'a BatInnerIO.output ->
[< `Bot | `Lifted1 of Priv.G.t | `Lifted2 of VD.t | `Top ] ->
unit
val to_yojson :
[< `Bot | `Lifted1 of Priv.G.t | `Lifted2 of VD.t | `Top ] ->
Yojson.Safe.t
val bot : unit -> [> `Bot ]
val is_bot : [> `Bot ] -> bool
val top : unit -> [> `Top ]
val is_top : [> `Top ] -> bool
val leq :
[> `Bot | `Lifted1 of Priv.G.t | `Lifted2 of VD.t | `Top ] ->
[> `Bot | `Lifted1 of Priv.G.t | `Lifted2 of VD.t | `Top ] ->
bool
val pretty_diff : unit -> (t * t) -> Lattice.Pretty.doc
val join :
[> `Bot | `Lifted1 of Priv.G.t | `Lifted2 of VD.t | `Top ] as 'a ->
'a ->
'a
val meet :
[> `Bot | `Lifted1 of Priv.G.t | `Lifted2 of VD.t | `Top ] as 'a ->
'a ->
'a
val narrow :
[> `Bot | `Lifted1 of Priv.G.t | `Lifted2 of VD.t | `Top ] as 'a ->
'a ->
'a
val thread : [> `Bot | `Lifted2 of VD.t ] -> VD.t
val create_priv : 'a -> [> `Lifted1 of 'a ]
val create_thread : 'a -> [> `Lifted2 of 'a ]