diff --git a/src/storm/abstraction/ValidBlockAbstractor.cpp b/src/storm/abstraction/ValidBlockAbstractor.cpp index bf213964d..dbc84dd13 100644 --- a/src/storm/abstraction/ValidBlockAbstractor.cpp +++ b/src/storm/abstraction/ValidBlockAbstractor.cpp @@ -77,26 +77,11 @@ namespace storm { if (relevantVariablesAndPredicates[blockIndex].size() < predicateBlock.size()) { recomputeValidBlocksForPredicateBlock(blockIndex); } + + newValidBlocks &= validBlocksForPredicateBlocks[blockIndex]; } - // Now compute the conjunction of all blocks. - std::vector> blocks = validBlocksForPredicateBlocks; - std::vector> newBlocks; - while (blocks.size() > 1) { - storm::utility::Stopwatch conj(true); - for (uint64_t blockIndex = 0; blockIndex < blocks.size(); ++blockIndex) { - if (blockIndex < localExpressionInformation.getNumberOfBlocks() - 1) { - newBlocks.emplace_back(blocks[blockIndex] && blocks[blockIndex + 1]); - } else { - newBlocks.emplace_back(blocks[blockIndex]); - } - } - conj.stop(); - - std::swap(blocks, newBlocks); - } - - validBlocks = blocks.front(); + validBlocks = newValidBlocks; } template