9 bool observable, std::string
const& filename, uint_fast64_t lineNumber)
10 :
Variable(variable, initialValueExpression, observable, filename, lineNumber),
11 lowerBoundExpression(lowerBoundExpression),
12 upperBoundExpression(upperBoundExpression) {
22 <<
"' which is not bounded from below.");
23 return this->lowerBoundExpression;
32 <<
"' which is not bounded from above.");
33 return this->upperBoundExpression;
82 stream << variable.
getName() <<
": ";
Expression substitute(std::map< Variable, Expression > const &variableToExpressionMap) const
Substitutes all occurrences of the variables according to the given map.
bool isInitialized() const
Checks whether the object encapsulates a base-expression.
Expression substituteNonStandardPredicates() const
Eliminate nonstandard predicates from the expression.
Expression boolean(bool value) const
Creates an expression that characterizes the given boolean literal.
ExpressionManager const & getManager() const
Retrieves the manager responsible for this variable.
storm::expressions::Expression getRangeExpression() const
Retrieves an expression characterizing the legal range of the variable.
storm::expressions::Expression const & getUpperBoundExpression() const
Retrieves an expression defining the upper bound for this integer variable.
storm::expressions::Expression const & getLowerBoundExpression() const
Retrieves an expression defining the lower bound for this integer variable.
bool hasUpperBoundExpression() const
IntegerVariable substituteNonStandardPredicates() const
IntegerVariable()=default
virtual void createMissingInitialValue() override
Equips the variable with an initial value based on its type if not initial value is present.
bool hasLowerBoundExpression() const
IntegerVariable substitute(std::map< storm::expressions::Variable, storm::expressions::Expression > const &substitution) const
Substitutes all identifiers in the boolean variable according to the given map.
storm::expressions::Expression const & getInitialValueExpression() const
Retrieves the expression defining the initial value of the variable.
storm::expressions::Variable const & getExpressionVariable() const
Retrieves the expression variable associated with this variable.
void setInitialValueExpression(storm::expressions::Expression const &initialValueExpression)
Sets the expression defining the initial value of the variable.
std::string const & getName() const
Retrieves the name of the variable.
bool hasInitialValue() const
Retrieves whether the variable has an initial value.
bool isObservable() const
Retrieves whether the variable is observable.
#define STORM_LOG_ASSERT(cond, message)
std::ostream & operator<<(std::ostream &stream, Assignment const &assignment)