16template<
typename ValueType>
18 auto const row = transitions.
getRow(state);
19 return std::all_of(row.begin(), row.end(), [&partition, &state](
auto const& entry) {
20 return storm::utility::isZero(entry.getValue()) || partition.isSameBlock(state, entry.getColumn());
Represents a partition of a set of consecutive indices.
std::span< ElementIndex const > Block
A contiguous range of elements that form a (possibly proper super-) block of the partition.
A bit vector that is internally represented as a vector of 64-bit values.
A class that holds a possibly non-square matrix in the compressed row storage format.
const_rows getRow(index_type row) const
Returns an object representing the given row.
bool isSilentState(storm::storage::SparseMatrix< ValueType > const &transitions, Partition const &partition, uint64_t const state)
WeakBisimulationData(storm::storage::BitVector divergentStates, storm::storage::BitVector stepSensitiveStates, storm::storage::BitVector silentStates)
bool isDivergent(Partition::Block const &block) const
bool isStepSensitive(Partition::Block const &block) const
storm::storage::BitVector const stepSensitiveStates
The states for which the number of steps taken within their own block is observable,...
storm::storage::BitVector silentStates
The states that cannot leave their block in a single step.
storm::storage::BitVector const divergentStates
The states from which no state outside of their own block can be reached.
bool checkBlockHomogeneity(Partition const &partition) const
Checks that every block of the given partition is homogeneous with respect to divergentStates and ste...