Go to the documentation of this file.
28 "Bool terms may only be used to construct bool typed expressions.");
35 false,
"Unexpected conversion of identifier to value expression.");
47 "Width of smt bit vector term must match the width of pointer type.");
48 if(bit_vector_constant.
value() == 0)
64 const auto bitvector_type =
68 bitvector_type->get_width() == sort_width,
69 "Width of smt bit vector term must match the width of bit vector "
77 "construct_value_expr_from_smt for bit vector should not be applied to "
87 "Unexpected conversion of function application to value expression.");
93 false,
"Unexpected conversion of forall quantifier to value expression.");
99 false,
"Unexpected conversion of exists quantifier to value expression.");
109 value_term.
accept(factory);
110 INVARIANT(factory.result.has_value(),
"Factory must result in expr value.");
111 return *factory.result;
117 const typet &type_to_construct)
mini_bddt exists(const mini_bddt &u, const unsigned var)
Stores identifiers in unescaped and unquoted form.
The type of an expression, extends irept.
std::string pretty(unsigned indent=0, unsigned max_indent=0) const
Base class for all expressions.
optionalt< exprt > result
std::size_t bit_width() const
void visit(const smt_bit_vector_constant_termt &bit_vector_constant) override
The null pointer constant.
void accept(smt_term_const_downcast_visitort &) const
exprt construct_value_expr_from_smt(const smt_termt &value_term, const typet &type_to_construct)
Given a value_term and a type_to_construct, this function constructs a value exprt with a value based...
pointer_typet pointer_type(const typet &subtype)
The Boolean constant false.
nonstd::optional< T > optionalt
static exprt make(const smt_termt &value_term, const typet &type_to_construct)
This function is complete the external interface to this class.
std::size_t get_width() const
void visit(const smt_forall_termt &forall) override
void visit(const smt_exists_termt &exists) override
void visit(const smt_bool_literal_termt &bool_literal) override
value_expr_from_smt_factoryt(const typet &type_to_construct)
const smt_bit_vector_sortt & get_sort() const
void visit(const smt_function_application_termt &function_application) override
The Boolean constant true.
A constant literal expression.
void visit(const smt_identifier_termt &identifier_term) override
const typet & type_to_construct