10#include <boost/any.hpp>
31class Formula :
public std::enable_shared_from_this<Formula> {
120 void traverse(std::function<
bool(
Formula const&)>
const& callback)
const;
245 std::shared_ptr<Formula>
clone()
const;
247 std::shared_ptr<Formula>
substitute(std::map<storm::expressions::Variable, storm::expressions::Expression>
const& substitution)
const;
250 std::shared_ptr<Formula>
substitute(std::map<std::string, storm::expressions::Expression>
const& labelSubstitution)
const;
251 std::shared_ptr<Formula>
substitute(std::map<std::string, std::string>
const& labelSubstitution)
const;
252 std::shared_ptr<Formula>
substituteRewardModelNames(std::map<std::string, std::string>
const& rewardModelNameSubstitution)
const;
265 std::map<std::string, storm::expressions::Expression>
const& labelToExpressionMapping = {})
const;
275 virtual std::ostream&
writeToStream(std::ostream& out,
bool allowParentheses =
false)
const = 0;
280 virtual void gatherAtomicLabelFormulas(std::vector<std::shared_ptr<AtomicLabelFormula const>>& atomicLabelFormulas)
const;
282 virtual void gatherUsedVariables(std::set<storm::expressions::Variable>& usedVariables)
const;
This class is responsible for managing a set of typed variables and all expressions using these varia...
std::ostream & operator<<(std::ostream &out, Bound const &bound)