You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

45 lines
2.0 KiB

#ifndef STORM_STORAGE_PRISM_MENU_GAMES_ABSTRACTIONEXPRESSIONINFORMATION_H_
#define STORM_STORAGE_PRISM_MENU_GAMES_ABSTRACTIONEXPRESSIONINFORMATION_H_
#include <vector>
#include <set>
namespace storm {
namespace expressions {
class ExpressionManager;
class Expression;
class Variable;
}
namespace prism {
namespace menu_games {
struct AbstractionExpressionInformation {
public:
/*!
* Creates an expression information object with the given expression manager.
*
* @param manager The expression manager to use.
* @param predicates The initial set of predicates.
* @param variables The variables.
* @param rangeExpressions A set of expressions that enforce the variable bounds.
*/
AbstractionExpressionInformation(storm::expressions::ExpressionManager& manager, std::vector<storm::expressions::Expression> const& predicates = std::vector<storm::expressions::Expression>(), std::set<storm::expressions::Variable> const& variables = std::set<storm::expressions::Variable>(), std::vector<storm::expressions::Expression> const& rangeExpressions = std::vector<storm::expressions::Expression>());
// The manager responsible for the expressions of the program and the SMT solvers.
storm::expressions::ExpressionManager& manager;
// The current set of predicates used in the abstraction.
std::vector<storm::expressions::Expression> predicates;
// The set of all variables.
std::set<storm::expressions::Variable> variables;
// The expression characterizing the legal ranges of all variables.
std::vector<storm::expressions::Expression> rangeExpressions;
};
}
}
}
#endif /* STORM_STORAGE_PRISM_MENU_GAMES_ABSTRACTIONEXPRESSIONINFORMATION_H_ */