8template<
typename ParametricType>
11 globallyKnownMonotonicityInformation[parameter] = kind;
14template<
typename ParametricType>
17 annotation.
globalMonotonicity = std::make_shared<storm::analysis::MonotonicityResult<VariableType>>();
18 bool allMonotone =
true;
20 if (
auto findRes = globallyKnownMonotonicityInformation.find(parameter); findRes != globallyKnownMonotonicityInformation.end()) {
32template<
typename ParametricType>
38template<
typename ParametricType>
43template<
typename ParametricType>
48template<
typename ParametricType>
53template<
typename ParametricType>
56 std::map<VariableType, MonotonicityKind> result;
57 if (
auto globalMonotonicity = region.
monotonicityAnnotation.getGlobalMonotonicityResult(); globalMonotonicity.has_value()) {
60 result.emplace(parameter, monRes);
virtual void initializeMonotonicity(storm::Environment const &env, AnnotatedRegion< ParametricType > ®ion)
Initializes the monotonicity information for the given region.
virtual bool requiresInteractionWithRegionModelChecker() const
Returns true, if a region model checker needs to implement specific methods to properly use this back...
void setMonotoneParameter(VariableType const ¶meter, MonotonicityKind const &kind)
Sets parameters that are assumed to be monotone throughout the analysis.
virtual bool recommendModelSimplifications() const
Returns whether additional model simplifications are recommended when using this backend.
virtual void updateMonotonicity(storm::Environment const &env, AnnotatedRegion< ParametricType > ®ion)
Updates the monotonicity information for the given region.
storm::utility::parametric::VariableType_t< ParametricType > VariableType
virtual void updateMonotonicityBeforeSplitting(storm::Environment const &env, AnnotatedRegion< ParametricType > ®ion)
Updates the monotonicity information for the given region right before splitting it.
virtual std::map< VariableType, MonotonicityKind > getOptimisticMonotonicityApproximation(AnnotatedRegion< ParametricType > const ®ion)
Returns an optimistic approximation of the monotonicity of the parameters in this region.
std::set< VariableType > const & getVariables() const
#define STORM_LOG_ASSERT(cond, message)
MonotonicityKind
The results of monotonicity checking for a single Parameter Region.
bool isMonotone(MonotonicityKind kind)
storm::modelchecker::MonotonicityAnnotation< ParametricType > monotonicityAnnotation
Whether the result is known through monotonicity.
Region const region
The subregions of this region.
std::shared_ptr< storm::analysis::MonotonicityResult< VariableType > > globalMonotonicity