Module AbstractDomain.TopLifted

Create a domain with Top element from a pre-domain

Parameters

module Domain : S

Signature

include WithTop with type t = Domain.t Types.top_lifted
include S with type t = Domain.t Types.top_lifted
include Comparable with type t = Domain.t Types.top_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 top : t
val is_top : t -> bool
val map : (Domain.t -> Domain.t) -> t -> t
val get : default:'a -> (Domain.t -> 'a) -> t -> 'a