ValueDomain.Compoundinclude S with type t := t and type offs = IndexDomain.t Offset.tinclude Lattice.S with type t := tinclude Lattice.PO with type t := twiden x y assumes leq x y. Solvers guarantee this by calling widen old (join old new).
type offs = IndexDomain.t Offset.tval affecting_vars : t -> GoblintCil.varinfo listval is_dynamically_safe_cast : GoblintCil.typ -> GoblintCil.typ -> t -> boolval bot_value : ?varAttr:GoblintCil.attributes -> GoblintCil.typ -> tval is_bot_value : t -> boolval init_value :
?bitfield:int option ->
?varAttr:GoblintCil.attributes ->
GoblintCil.typ ->
tval top_value : ?varAttr:GoblintCil.attributes -> GoblintCil.typ -> tval is_top_value : t -> GoblintCil.typ -> boolval zero_init_value : ?varAttr:GoblintCil.attributes -> GoblintCil.typ -> tval project :
VDQ.t ->
PrecisionUtil.int_precision option ->
(GoblintCil.attributes * GoblintCil.attributes) option ->
t ->
t