// for simplicity we do not allow intervals or unbounded formulas.
// TODO: Quantiles: allow unbounded formulas
STORM_LOG_THROW(subformula.hasLowerBound(dim)!=dimension.isUpperBounded,storm::exceptions::NotSupportedException,"Bounded until formulas are only supported by this method if they consider either an upper bound or a lower bound. Got "<<subformula<<" instead.");
// for simplicity we do not allow interval formulas.
STORM_LOG_THROW(!subformula.hasLowerBound(dim)||!subformula.hasUpperBound(dim),storm::exceptions::NotSupportedException,"Bounded until formulas are only supported by this method if they consider either an upper bound or a lower bound. Got "<<subformula<<" instead.");
// lower bounded until formulas with non-trivial left hand side are excluded as this would require some additional effort (in particular the ProductModel::transformMemoryState method).
STORM_LOG_THROW(dimension.isUpperBounded||subformula.getLeftSubformula(dim).isTrueFormula(),storm::exceptions::NotSupportedException,"Lower bounded until formulas are only supported by this method if the left subformula is 'true'. Got "<<subformula<<" instead.");
STORM_LOG_THROW(dimensions[dim].isUpperBounded||isStrict||!storm::utility::isZero(discretizedBound),storm::exceptions::NotSupportedException,"Lower bounds need to be either strict or greater than zero.");
STORM_LOG_THROW(epochManager.isValidDimensionValue(dimensionValue),storm::exceptions::NotSupportedException,"The bound "<<bound<<" is too high for the considered number of dimensions.");
STORM_LOG_THROW(epochManager.isValidDimensionValue(dimensionValue),storm::exceptions::NotSupportedException,"The bound "<<bound<<" is too high for the considered number of dimensions.");
STORM_LOG_DEBUG("Invoked EndComponentEliminator on matrix with "<<originalMatrix.getRowGroupCount()<<" row groups.");
STORM_LOG_DEBUG("Invoked EndComponentEliminator on matrix with "<<originalMatrix.getRowGroupCount()<<" row groups and "<<subsystemStates.getNumberOfSetBits()<<" subsystem states.");