#ifndef STORM_STORAGE_PRISM_MENU_GAMES_ABSTRACTIONEXPRESSIONINFORMATION_H_ #define STORM_STORAGE_PRISM_MENU_GAMES_ABSTRACTIONEXPRESSIONINFORMATION_H_ #include #include 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 const& predicates = std::vector(), std::set const& variables = std::set(), std::vector const& rangeExpressions = std::vector()); // 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 predicates; // The set of all variables. std::set variables; // The expression characterizing the legal ranges of all variables. std::vector rangeExpressions; }; } } } #endif /* STORM_STORAGE_PRISM_MENU_GAMES_ABSTRACTIONEXPRESSIONINFORMATION_H_ */