STORM_LOG_THROW(this->getStateRewardVector().size()==this->getStateActionRewardVector().size(),storm::exceptions::InvalidOperationException,"The reduction to state rewards is only possible of both the state and the state-action rewards have the same dimension.");
STORM_LOG_THROW(!model.hasRewardModel()||model.hasUniqueRewardModel(),storm::exceptions::IllegalFunctionCallException,"Bisimulation currently only supports models with at most one reward model.");
STORM_LOG_THROW(!model.hasRewardModel()||model.getUniqueRewardModel()->second.hasOnlyStateRewards(),storm::exceptions::IllegalFunctionCallException,"Bisimulation is currently supported for models with state rewards only. Consider converting the transition rewards to state rewards (via suitable function calls).");
STORM_LOG_THROW(!options.keepRewards||!model.hasRewardModel()||model.hasUniqueRewardModel(),storm::exceptions::IllegalFunctionCallException,"Bisimulation currently only supports models with at most one reward model.");
STORM_LOG_THROW(!options.keepRewards||!model.hasRewardModel()||model.getUniqueRewardModel()->second.hasOnlyStateRewards(),storm::exceptions::IllegalFunctionCallException,"Bisimulation is currently supported for models with state rewards only. Consider converting the transition rewards to state rewards (via suitable function calls).");