module type Lattice = sig
.. end
Generic lattice.
Consult the Plugin Development Guide for additional details.
exception Error_Top
exception Error_Bottom
type
t
type of element of the lattice
type
widen_hint
hints for the widening
val equal : t -> t -> bool
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 pretty : Format.formatter -> t -> unit
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
module Datatype: Project.Datatype.S
with type t = t