Module Abstract_interp

module Abstract_interp: sig .. end
Signatures for generic lattices, with functors providing generic implementations.

exception Not_less_than
Raised by Abstract_interp.Lattice.cardinal_less_than.
exception Is_not_included
module type Lattice = sig .. end
Generic lattice.
module type Lattice_With_Diff = sig .. end
module type Lattice_Product = sig .. end
module type Lattice_Sum = sig .. end
module type Lattice_Base = sig .. end
module type Lattice_Set = sig .. end
module type LatValue = Datatype.S_with_collections
module Int: sig .. end
module Rel: sig .. end
"Relative" integers.
module Make_Lattice_Base: 
functor (V : LatValue) -> Lattice_Base with type l = V.t
module Make_Lattice_Set: 
functor (V : LatValue) -> Lattice_Set with type O.elt=V.t
module Make_Hashconsed_Lattice_Set: 
functor (V : Hptset.Id_Datatype) ->
functor (O : Hptset.S with type elt = V.t) -> Lattice_Set with module O = O
See e.g.
module type Collapse = sig .. end
module Make_Lattice_Product: 
functor (L1 : Lattice) ->
functor (L2 : Lattice) ->
functor (C : Collapse) -> Lattice_Product with type t1 = L1.t and type t2 = L2.t
If C.collapse then L1.bottom,_ = _,L2.bottom = bottom
module Make_Lattice_Sum: 
functor (L1 : Lattice) ->
functor (L2 : Lattice) -> Lattice_Sum with type t1 = L1.t and type t2 = L2.t