Storm 1.14.0.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
transformation.cpp
Go to the documentation of this file.
2
7
8namespace storm {
9namespace api {
10
11template<typename ValueType>
12std::shared_ptr<storm::models::sparse::Model<ValueType>> mergeEquivalentStatesForFormula(std::shared_ptr<storm::models::sparse::Model<ValueType>> const& model,
13 storm::logic::Formula const& formula) {
14 if (model->isOfType(storm::models::ModelType::Dtmc) || model->isOfType(storm::models::ModelType::Ctmc) || model->isOfType(storm::models::ModelType::Mdp) ||
17 if (auto result = merger.mergeForFormula(formula, false)) {
18 return result->model;
19 }
20 }
21 return nullptr;
22}
23
24template std::shared_ptr<storm::models::sparse::Model<double>> mergeEquivalentStatesForFormula(
25 std::shared_ptr<storm::models::sparse::Model<double>> const& model, storm::logic::Formula const& formula);
26template std::shared_ptr<storm::models::sparse::Model<storm::RationalNumber>> mergeEquivalentStatesForFormula(
27 std::shared_ptr<storm::models::sparse::Model<storm::RationalNumber>> const& model, storm::logic::Formula const& formula);
28template std::shared_ptr<storm::models::sparse::Model<storm::RationalFunction>> mergeEquivalentStatesForFormula(
29 std::shared_ptr<storm::models::sparse::Model<storm::RationalFunction>> const& model, storm::logic::Formula const& formula);
30
31} // namespace api
32} // namespace storm
Base class for all sparse models.
Definition Model.h:34
std::optional< ReturnType > mergeForFormula(storm::logic::Formula const &formula, bool const dropUnreachableFromInit) const
Identifies the maybeStates, targetStates, sinkStates (and, if applicable, the reward model and choice...
std::shared_ptr< storm::models::sparse::Model< ValueType > > mergeEquivalentStatesForFormula(std::shared_ptr< storm::models::sparse::Model< ValueType > > const &model, storm::logic::Formula const &formula)
Identifies states of the given model that are equivalent w.r.t.