Store.SSignature of stores
include Sigs.ABSTRACT_DOMAINval bot : tThe bottom element \bot (most precise element)
val is_bot : t -> boolTests whether an element is \bot
val top : tThe top element \top (less precise element)
Inclusion test between abstract values. Smaller elements are more precise; larger elements are less precise. This might not be a total order, and might not be anti-symmetric either.
Abstract union of abstract values. This need not be the least upper bound for leq, nor an upper bound at all.
Widening operator, i.e., an approximation of the concrete union, that is used the ensure the convergence of Kleene-based iterations.
Abstract intersection of abstract values. This need not be the greatest lower bound for leq, nor a lower bound at all.
val pp : Stdlib.Format.formatter -> t -> unitPretty-printer for abstract values
val empty : tAbstract value that represents the empty store
Adds or replaces the entry of a key in a store. If an entry was present for that key, the new entry is the join of the former value and the provided value.