12#ifndef CPROVER_UTIL_POINTER_PREDICATES_H
13#define CPROVER_UTIL_POINTER_PREDICATES_H
17#define SYMEX_DYNAMIC_PREFIX "symex_dynamic"
ait supplies three of the four components needed: an abstract interpreter (in this case handling func...
Base class for all expressions.
const irep_idt & id() const
is_invalid_pointer_exprt(exprt pointer)
A namespacet is essentially one or two symbol tables bound together, to allow for symbol lookups in t...
A base class for expressions that are predicates, i.e., Boolean-typed, and that take exactly one argu...
void validate_operands(const exprt &value, exprt::operandst::size_type number, const char *message, bool allow_more=false)
exprt pointer_offset(const exprt &pointer)
exprt integer_address(const exprt &pointer)
exprt object_size(const exprt &pointer)
exprt dead_object(const exprt &pointer, const namespacet &)
exprt object_upper_bound(const exprt &pointer, const exprt &access_size)
void validate_expr(const is_invalid_pointer_exprt &value)
exprt deallocated(const exprt &pointer, const namespacet &)
exprt same_object(const exprt &p1, const exprt &p2)
bool can_cast_expr< is_invalid_pointer_exprt >(const exprt &base)
exprt pointer_object(const exprt &pointer)
exprt null_object(const exprt &pointer)
exprt object_lower_bound(const exprt &pointer, const exprt &offset)
API to expression classes.