19 Environment const& env, std::shared_ptr<storm::models::ModelBase> parametricModel,
21 STORM_LOG_ASSERT(this->canHandle(parametricModel, checkTask),
"specified model and formula can not be handled by this.");
23 auto mdp = parametricModel->template as<SparseModelType>();
26 if (!simplifier.simplify(checkTask.
getFormula())) {
27 STORM_LOG_THROW(
false, storm::exceptions::UnexpectedException,
"Simplifying the model was not successfull.");
30 auto simplifiedTask = checkTask.
substituteFormula(*simplifier.getSimplifiedFormula());
32 impreciseChecker.specify(env, simplifier.getSimplifiedModel(), simplifiedTask,
false,
true);
33 preciseChecker.specify(env, simplifier.getSimplifiedModel(), simplifiedTask,
false,
true);
62 if (impreciseChecker.getCurrentMaxScheduler()) {
63 preciseChecker.getCurrentMaxScheduler() = impreciseChecker.getCurrentMaxScheduler()->template toValueType<PreciseType>();
65 if (impreciseChecker.getCurrentMinScheduler()) {
66 preciseChecker.getCurrentMinScheduler() = impreciseChecker.getCurrentMinScheduler()->template toValueType<PreciseType>();
68 if (impreciseChecker.getCurrentPlayer1Scheduler()) {
69 preciseChecker.getCurrentPlayer1Scheduler() = impreciseChecker.getCurrentPlayer1Scheduler()->template toValueType<PreciseType>();
virtual void specify(Environment const &env, std::shared_ptr< storm::models::ModelBase > parametricModel, CheckTask< storm::logic::Formula, typename SparseModelType::ValueType > const &checkTask, bool generateRegionSplitEstimates=false, bool allowModelSimplifications=true) override