type t = [
| `Bot
| `Lifted1 of S.G.t
| `Lifted2 of S.D.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 S.G.t | `Lifted2 of S.D.t | `Top ] -> string
val relift :
[< `Bot | `Lifted1 of S.G.t | `Lifted2 of S.D.t | `Top Lifted1 Lifted2 ] as 'a ->
'a
val name : unit -> string
val printXml :
'a BatInnerIO.output ->
[< `Bot | `Lifted1 of S.G.t | `Lifted2 of S.D.t | `Top ] ->
unit
val to_yojson :
[< `Bot | `Lifted1 of S.G.t | `Lifted2 of S.D.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 S.G.t | `Lifted2 of S.D.t | `Top ] ->
[> `Bot | `Lifted1 of S.G.t | `Lifted2 of S.D.t | `Top ] ->
bool
val pretty_diff : unit -> (t * t) -> Lattice.Pretty.doc
val join :
[> `Bot | `Lifted1 of S.G.t | `Lifted2 of S.D.t | `Top ] as 'a ->
'a ->
'a
val meet :
[> `Bot | `Lifted1 of S.G.t | `Lifted2 of S.D.t | `Top ] as 'a ->
'a ->
'a
val widen :
[> `Lifted1 of S.G.t | `Lifted2 of S.D.t ] ->
[> `Lifted1 of S.G.t | `Lifted2 of S.D.t ] as 'a ->
'a
val narrow :
[> `Bot | `Lifted1 of S.G.t | `Lifted2 of S.D.t | `Top ] as 'a ->
'a ->
'a