Go to the documentation of this file.
15 const exprt &_function,
19 ID_function_application,
38 domain.reserve(variables.size());
40 for(
const auto &v : variables)
41 domain.push_back(v.type());
static mathematical_function_typet lambda_type(const lambda_exprt::variablest &variables, const exprt &where)
const mathematical_function_typet & to_mathematical_function_type(const typet &type)
Cast a typet to a mathematical_function_typet.
Base class for all expressions.
A base class for binary expressions.
exprt::operandst argumentst
const mathematical_function_typet & function_type() const
This helper method provides the type of the expression returned by function.
typet & type()
Return the type of the expression.
#define PRECONDITION(CONDITION)
std::vector< symbol_exprt > variablest
std::vector< typet > domaint
A base class for variable bindings (quantifiers, let, lambda)
function_application_exprt(const exprt &_function, argumentst _arguments)
lambda_exprt(const variablest &, const exprt &_where)
A type for mathematical functions (do not confuse with functions/methods in code)