12namespace modelchecker {
14template<
typename SparseModelType,
typename ConstantType>
16 : parametricModel(parametricModel), instantiationsAreGraphPreserving(false) {
20template<
typename SparseModelType,
typename ConstantType>
23 currentFormula = checkTask.
getFormula().asSharedPointer();
24 currentCheckTask = std::make_unique<storm::modelchecker::CheckTask<storm::logic::Formula, ConstantType>>(
25 checkTask.
substituteFormula(*currentFormula).template convertValueType<ConstantType>());
28template<
typename SparseModelType,
typename ConstantType>
30 instantiationsAreGraphPreserving = value;
33template<
typename SparseModelType,
typename ConstantType>
35 return instantiationsAreGraphPreserving;
38template<
typename SparseModelType,
typename ConstantType>
40 return parametricModel;
CheckTask< NewFormulaType, ValueType > substituteFormula(NewFormulaType const &newFormula) const
Copies the check task from the source while replacing the formula with the new one.
FormulaType const & getFormula() const
Retrieves the formula from this task.
Class to efficiently check a formula on a parametric model with different parameter instantiations.
SparseInstantiationModelChecker(SparseModelType const ¶metricModel)
void specifyFormula(CheckTask< storm::logic::Formula, typename SparseModelType::ValueType > const &checkTask)
SparseModelType const & getOriginalModel() const
bool getInstantiationsAreGraphPreserving() const
void setInstantiationsAreGraphPreserving(bool value)