// // Do some sanity checks to establish some required properties.
// STORM_LOG_THROW(!dtmc.hasTransitionRewards(), storm::exceptions::IllegalArgumentException, "Input model does have transition-based rewards, which are currently unsupported.");
// STORM_LOG_THROW(dtmc.hasStateRewards(), storm::exceptions::IllegalArgumentException, "Input model does not have a state-based reward model.");
// STORM_LOG_THROW(dtmc.getInitialStates().getNumberOfSetBits() == 1, storm::exceptions::IllegalArgumentException, "Input model is required to have exactly one initial state.");
//
// // Then, compute the subset of states that has a reachability reward less than infinity.
// // If the initial state is known to have 0 reward or an infinite reward value, we can directly return the result.
// STORM_LOG_THROW(dtmc.getInitialStates().isDisjointFrom(infinityStates), storm::exceptions::IllegalArgumentException, "Initial state has infinite reward.");
// if (!dtmc.getInitialStates().isDisjointFrom(psiStates)) {
// STORM_LOG_DEBUG("The reward of all initial states was found in a preprocessing step.");
STORM_LOG_THROW(eventuallyFormula.get()!=nullptr,storm::exceptions::InvalidPropertyException,"Illegal formula "<<*untilFormula<<" for parametric model checking. Note that only unbounded reachability properties are admitted.");
STORM_LOG_THROW(phiStateFormulaApFormula.get()!=nullptr,storm::exceptions::InvalidPropertyException,"Illegal formula "<<*phiStateFormula<<" for parametric model checking. Note that only atomic propositions are admitted in that position.");
STORM_LOG_THROW(psiStateFormulaApFormula.get()!=nullptr,storm::exceptions::InvalidPropertyException,"Illegal formula "<<*psiStateFormula<<" for parametric model checking. Note that only atomic propositions are admitted in that position.");
// Do some sanity checks to establish some required properties.
STORM_LOG_THROW(dtmc.getInitialStates().getNumberOfSetBits()==1,storm::exceptions::IllegalArgumentException,"Input model is required to have exactly one initial state.");
@ -155,7 +155,11 @@ int main(const int argc, const char** argv) {
STORM_LOG_THROW(storm::settings::generalSettings().isPctlPropertySet(),storm::exceptions::InvalidSettingsException,"Unable to perform model checking without a property.");
STORM_LOG_THROW(eventuallyFormula.get()!=nullptr,storm::exceptions::InvalidPropertyException,"Illegal formula "<<*untilFormula<<" for parametric model checking. Note that only unbounded reachability properties are admitted.");
STORM_LOG_THROW(reachabilityRewardFormula!=nullptr,storm::exceptions::InvalidPropertyException,"Illegal formula "<<*filterFormula<<" for parametric model checking. Note that only unbounded reachability properties (probabilities/rewards) are admitted.");
STORM_LOG_THROW(phiStateFormulaApFormula.get()!=nullptr,storm::exceptions::InvalidPropertyException,"Illegal formula "<<*phiStateFormula<<" for parametric model checking. Note that only atomic propositions are admitted in that position.");
STORM_LOG_THROW(psiStateFormulaApFormula.get()!=nullptr,storm::exceptions::InvalidPropertyException,"Illegal formula "<<*psiStateFormula<<" for parametric model checking. Note that only atomic propositions are admitted in that position.");
@ -193,7 +205,7 @@ int main(const int argc, const char** argv) {