Module type Abstract_interp.Lattice


module type Lattice = sig .. end
Generic lattice.
Consult the Plugin Development Guide for additional details.

exception Error_Top
exception Error_Bottom
include Datatype.S
type widen_hint 
datatype of element of the lattice

hints for the widening

val join : t -> t -> t
over-approximation of union
val link : t -> t -> t
under-approximation of union
val meet : t -> t -> t
under-approximation of intersection
val narrow : t -> t -> t
over-approximation of intersection
val bottom : t
the smallest
val top : t
the largest
val is_included : t -> t -> bool
val is_included_exn : t -> t -> unit
val intersects : t -> t -> bool
val widen : widen_hint -> t -> t -> t
widen h t1 t2 is an over-approximation of join t1 t2. Assumes is_included t1 t2
val cardinal_zero_or_one : t -> bool
val cardinal_less_than : t -> int -> int
cardinal_less_than t v
Raises Not_less_than whenever the cardinal of t is higher than v
val tag : t -> int