22 std::set<storm::expressions::Variable>
const& columnVariables,
23 std::vector<std::pair<storm::expressions::Variable, storm::expressions::Variable>>
const& rowColumnMetaVariablePairs,
24 std::set<storm::expressions::Variable>
const& player1Variables,
25 std::set<storm::expressions::Variable>
const& player2Variables,
26 std::set<storm::expressions::Variable>
const& allNondeterminismVariables,
27 std::set<storm::expressions::Variable>
const& probabilisticBranchingVariables,
29 :
storm::models::symbolic::StochasticTwoPlayerGame<
Type, ValueType>(
30 manager, reachableStates, initialStates, deadlockStates, transitionMatrix.sumAbstract(probabilisticBranchingVariables), rowVariables, nullptr,
31 columnVariables, rowColumnMetaVariablePairs, player1Variables, player2Variables, allNondeterminismVariables),
32 extendedTransitionMatrix(transitionMatrix),
33 probabilisticBranchingVariables(probabilisticBranchingVariables),
34 expressionToBddMap(expressionToBddMap),
35 bottomStates(bottomStates) {
52 return this->getReachableStates();
53 }
else if (expression.
isFalse()) {
54 return this->getManager().getBddZero();
57 auto it = expressionToBddMap.find(expression);
58 STORM_LOG_THROW(it != expressionToBddMap.end(), storm::exceptions::InvalidArgumentException,
59 "The given expression was not used in the abstraction process and can therefore not be retrieved.");
61 return !it->second && this->getReachableStates();
63 return it->second && this->getReachableStates();