Module type GenVars.IMG


module type IMG = sig .. end
Module type for the image of the map assigning variables to values. It's nesseary to compare the values and to compute a union of two value. This is needed in the module, because while make to variables aliases we need to union the two value of these. If it's not possible to union all values, for example because there's no top type, you should include a NotPossible Value into the img type and deal with this value in your constraints solver. It will normaly mean, that no solution could be found.

type t 
type of the values
val compare : t -> t -> int
compare to values
val merge : t -> t -> t
merge these two images, such that the new image fulfills all properties of both old ones.
val normalize : t -> t
bring the image into a unique from
val string_of : t -> string