10 #ifndef CPROVER_SOLVERS_PROP_LITERAL_EXPR_H
11 #define CPROVER_SOLVERS_PROP_LITERAL_EXPR_H
42 return base.
id() == ID_literal;
48 !literal.
has_operands(),
"literal expression should not have operands");
60 !expr.
has_operands(),
"literal expression should not have operands");
70 !expr.
has_operands(),
"literal expression should not have operands");
Base class for all expressions.
bool has_operands() const
Return true if there is at least one operand.
void set(const irep_idt &name, const irep_idt &value)
const irep_idt & id() const
long long get_long_long(const irep_idt &name) const
literal_exprt(literalt a)
literalt get_literal() const
void set_literal(literalt a)
A base class for expressions that are predicates, i.e., Boolean-typed.
void validate_expr(const literal_exprt &literal)
const literal_exprt & to_literal_expr(const exprt &expr)
Cast a generic exprt to a literal_exprt.
bool can_cast_expr< literal_exprt >(const exprt &base)
#define DATA_INVARIANT(CONDITION, REASON)
This condition should be used to document that assumptions that are made on goto_functions,...
#define PRECONDITION(CONDITION)
API to expression classes.