Functor Cvalues.Logic

module Logic: 
functor (M : Sigs.Model-> sig .. end
Parameters:
M : Sigs.Model

type logic = M.loc Sigs.logic 
type segment = Ctypes.c_object * M.loc Sigs.sloc 
type region = M.loc Sigs.region 

Projections

val value : logic -> Lang.F.term
val loc : logic -> M.loc
val vset : logic -> Vset.set
val region : Ctypes.c_object -> logic -> region
val rdescr : M.loc Sigs.sloc -> Lang.F.var list * M.loc * Lang.F.pred

Morphisms

val map : Lang.F.unop -> logic -> logic
val map_opp : logic -> logic
val map_loc : (M.loc -> M.loc) -> logic -> logic
val map_l2t : (M.loc -> Lang.F.term) -> logic -> logic
val map_t2l : (Lang.F.term -> M.loc) -> logic -> logic
val apply : Lang.F.binop ->
logic -> logic -> logic
val apply_add : logic -> logic -> logic
val apply_sub : logic -> logic -> logic

Locations

val field : logic -> Cil_types.fieldinfo -> logic
val shift : logic ->
Ctypes.c_object -> ?size:int -> logic -> logic
val load : M.Sigma.t -> Ctypes.c_object -> logic -> logic

Sets of loc-or-values

val union : Cil_types.logic_type -> logic list -> logic
val inter : Cil_types.logic_type -> logic list -> logic
val subset : Cil_types.logic_type ->
logic ->
Cil_types.logic_type -> logic -> Lang.F.pred

Regions

val separated : region list -> Lang.F.pred
val included : segment -> segment -> Lang.F.pred
val valid : M.Sigma.t -> Sigs.acs -> segment -> Lang.F.pred
val invalid : M.Sigma.t -> segment -> Lang.F.pred