Module AbstractDomain.BottomLifted

Create a domain with Bottom element from a pre-domain

Parameters

module Domain : S

Signature

include WithBottom with type t = Domain.t Types.bottom_lifted
include S with type t = Domain.t Types.bottom_lifted
include Comparable with type t = Domain.t Types.bottom_lifted
val leq : lhs:t -> rhs:t -> bool

the implication relation: lhs <= rhs means lhs |- rhs

val join : t -> t -> t
val widen : prev:t -> next:t -> num_iters:int -> t
val bottom : t

The bottom value of the domain.

val is_bottom : t -> bool

Return true if this is the bottom value

val map : f:(Domain.t -> Domain.t) -> t -> t