9 #ifndef CPROVER_CPROVER_SENTINEL_DLL_H
10 #define CPROVER_CPROVER_SENTINEL_DLL_H
19 ID_state_is_sentinel_dll,
30 ID_state_is_sentinel_dll,
void validate_expr(const shuffle_vector_exprt &value)
Base class for all expressions.
typet & type()
Return the type of the expression.
const irep_idt & id() const
A base class for multi-ary expressions Associativity is not specified.
A namespacet is essentially one or two symbol tables bound together, to allow for symbol lookups in t...
const exprt & head() const
state_is_sentinel_dll_exprt(exprt state, exprt head, exprt tail, exprt node)
state_is_sentinel_dll_exprt with_state(exprt state) const
state_is_sentinel_dll_exprt(exprt state, exprt head, exprt tail)
const exprt & tail() const
const exprt & state() const
std::optional< exprt > sentinel_dll_prev(const exprt &state, const exprt &node, const namespacet &)
const state_is_sentinel_dll_exprt & to_state_is_sentinel_dll_expr(const exprt &expr)
Cast an exprt to a state_is_sentinel_dll_exprt.
std::optional< exprt > sentinel_dll_next(const exprt &state, const exprt &node, const namespacet &)
#define PRECONDITION(CONDITION)
API to expression classes.