Storm
A Modern Probabilistic Model Checker
|
#include <Formula.h>
Static Public Member Functions | |
static std::shared_ptr< Formula const > | getTrueFormula () |
Friends | |
std::ostream & | operator<< (std::ostream &out, Formula const &formula) |
boost::any storm::logic::Formula::accept | ( | FormulaVisitor const & | visitor | ) | const |
Definition at line 16 of file Formula.cpp.
|
pure virtual |
Implemented in storm::logic::AtomicExpressionFormula, storm::logic::AtomicLabelFormula, storm::logic::BinaryBooleanPathFormula, storm::logic::BinaryBooleanStateFormula, storm::logic::BooleanLiteralFormula, storm::logic::BoundedUntilFormula, storm::logic::ConditionalFormula, storm::logic::CumulativeRewardFormula, storm::logic::EventuallyFormula, storm::logic::GameFormula, storm::logic::GloballyFormula, storm::logic::HOAPathFormula, storm::logic::InstantaneousRewardFormula, storm::logic::LongRunAverageOperatorFormula, storm::logic::LongRunAverageRewardFormula, storm::logic::MultiObjectiveFormula, storm::logic::NextFormula, storm::logic::ProbabilityOperatorFormula, storm::logic::QuantileFormula, storm::logic::RewardOperatorFormula, storm::logic::TimeOperatorFormula, storm::logic::TotalRewardFormula, storm::logic::UnaryBooleanPathFormula, storm::logic::UnaryBooleanStateFormula, and storm::logic::UntilFormula.
AtomicExpressionFormula & storm::logic::Formula::asAtomicExpressionFormula | ( | ) |
Definition at line 293 of file Formula.cpp.
AtomicExpressionFormula const & storm::logic::Formula::asAtomicExpressionFormula | ( | ) | const |
Definition at line 297 of file Formula.cpp.
AtomicLabelFormula & storm::logic::Formula::asAtomicLabelFormula | ( | ) |
Definition at line 301 of file Formula.cpp.
AtomicLabelFormula const & storm::logic::Formula::asAtomicLabelFormula | ( | ) | const |
Definition at line 305 of file Formula.cpp.
BinaryBooleanStateFormula & storm::logic::Formula::asBinaryBooleanStateFormula | ( | ) |
Definition at line 269 of file Formula.cpp.
BinaryBooleanStateFormula const & storm::logic::Formula::asBinaryBooleanStateFormula | ( | ) | const |
Definition at line 273 of file Formula.cpp.
BinaryPathFormula & storm::logic::Formula::asBinaryPathFormula | ( | ) |
Definition at line 381 of file Formula.cpp.
BinaryPathFormula const & storm::logic::Formula::asBinaryPathFormula | ( | ) | const |
Definition at line 385 of file Formula.cpp.
BinaryStateFormula & storm::logic::Formula::asBinaryStateFormula | ( | ) |
Definition at line 245 of file Formula.cpp.
BinaryStateFormula const & storm::logic::Formula::asBinaryStateFormula | ( | ) | const |
Definition at line 249 of file Formula.cpp.
BooleanLiteralFormula & storm::logic::Formula::asBooleanLiteralFormula | ( | ) |
Definition at line 285 of file Formula.cpp.
BooleanLiteralFormula const & storm::logic::Formula::asBooleanLiteralFormula | ( | ) | const |
Definition at line 289 of file Formula.cpp.
BoundedUntilFormula & storm::logic::Formula::asBoundedUntilFormula | ( | ) |
Definition at line 325 of file Formula.cpp.
BoundedUntilFormula const & storm::logic::Formula::asBoundedUntilFormula | ( | ) | const |
Definition at line 329 of file Formula.cpp.
ConditionalFormula & storm::logic::Formula::asConditionalFormula | ( | ) |
Definition at line 261 of file Formula.cpp.
ConditionalFormula const & storm::logic::Formula::asConditionalFormula | ( | ) | const |
Definition at line 265 of file Formula.cpp.
CumulativeRewardFormula & storm::logic::Formula::asCumulativeRewardFormula | ( | ) |
Definition at line 421 of file Formula.cpp.
CumulativeRewardFormula const & storm::logic::Formula::asCumulativeRewardFormula | ( | ) | const |
Definition at line 425 of file Formula.cpp.
EventuallyFormula & storm::logic::Formula::asEventuallyFormula | ( | ) |
Definition at line 333 of file Formula.cpp.
EventuallyFormula const & storm::logic::Formula::asEventuallyFormula | ( | ) | const |
Definition at line 337 of file Formula.cpp.
GameFormula & storm::logic::Formula::asGameFormula | ( | ) |
Definition at line 365 of file Formula.cpp.
GameFormula const & storm::logic::Formula::asGameFormula | ( | ) | const |
Definition at line 369 of file Formula.cpp.
GloballyFormula & storm::logic::Formula::asGloballyFormula | ( | ) |
Definition at line 373 of file Formula.cpp.
GloballyFormula const & storm::logic::Formula::asGloballyFormula | ( | ) | const |
Definition at line 377 of file Formula.cpp.
HOAPathFormula & storm::logic::Formula::asHOAPathFormula | ( | ) |
Definition at line 309 of file Formula.cpp.
HOAPathFormula const & storm::logic::Formula::asHOAPathFormula | ( | ) | const |
Definition at line 313 of file Formula.cpp.
InstantaneousRewardFormula & storm::logic::Formula::asInstantaneousRewardFormula | ( | ) |
Definition at line 437 of file Formula.cpp.
InstantaneousRewardFormula const & storm::logic::Formula::asInstantaneousRewardFormula | ( | ) | const |
Definition at line 441 of file Formula.cpp.
LongRunAverageOperatorFormula & storm::logic::Formula::asLongRunAverageOperatorFormula | ( | ) |
Definition at line 405 of file Formula.cpp.
LongRunAverageOperatorFormula const & storm::logic::Formula::asLongRunAverageOperatorFormula | ( | ) | const |
Definition at line 409 of file Formula.cpp.
LongRunAverageRewardFormula & storm::logic::Formula::asLongRunAverageRewardFormula | ( | ) |
Definition at line 445 of file Formula.cpp.
LongRunAverageRewardFormula const & storm::logic::Formula::asLongRunAverageRewardFormula | ( | ) | const |
Definition at line 449 of file Formula.cpp.
MultiObjectiveFormula & storm::logic::Formula::asMultiObjectiveFormula | ( | ) |
Definition at line 229 of file Formula.cpp.
MultiObjectiveFormula const & storm::logic::Formula::asMultiObjectiveFormula | ( | ) | const |
Definition at line 233 of file Formula.cpp.
NextFormula & storm::logic::Formula::asNextFormula | ( | ) |
Definition at line 397 of file Formula.cpp.
NextFormula const & storm::logic::Formula::asNextFormula | ( | ) | const |
Definition at line 401 of file Formula.cpp.
OperatorFormula & storm::logic::Formula::asOperatorFormula | ( | ) |
Definition at line 469 of file Formula.cpp.
OperatorFormula const & storm::logic::Formula::asOperatorFormula | ( | ) | const |
Definition at line 473 of file Formula.cpp.
PathFormula & storm::logic::Formula::asPathFormula | ( | ) |
Definition at line 213 of file Formula.cpp.
PathFormula const & storm::logic::Formula::asPathFormula | ( | ) | const |
Definition at line 217 of file Formula.cpp.
ProbabilityOperatorFormula & storm::logic::Formula::asProbabilityOperatorFormula | ( | ) |
Definition at line 453 of file Formula.cpp.
ProbabilityOperatorFormula const & storm::logic::Formula::asProbabilityOperatorFormula | ( | ) | const |
Definition at line 457 of file Formula.cpp.
QuantileFormula & storm::logic::Formula::asQuantileFormula | ( | ) |
Definition at line 237 of file Formula.cpp.
QuantileFormula const & storm::logic::Formula::asQuantileFormula | ( | ) | const |
Definition at line 241 of file Formula.cpp.
EventuallyFormula & storm::logic::Formula::asReachabilityProbabilityFormula | ( | ) |
Definition at line 349 of file Formula.cpp.
EventuallyFormula const & storm::logic::Formula::asReachabilityProbabilityFormula | ( | ) | const |
Definition at line 353 of file Formula.cpp.
EventuallyFormula & storm::logic::Formula::asReachabilityRewardFormula | ( | ) |
Definition at line 341 of file Formula.cpp.
EventuallyFormula const & storm::logic::Formula::asReachabilityRewardFormula | ( | ) | const |
Definition at line 345 of file Formula.cpp.
EventuallyFormula & storm::logic::Formula::asReachabilityTimeFormula | ( | ) |
Definition at line 357 of file Formula.cpp.
EventuallyFormula const & storm::logic::Formula::asReachabilityTimeFormula | ( | ) | const |
Definition at line 361 of file Formula.cpp.
RewardOperatorFormula & storm::logic::Formula::asRewardOperatorFormula | ( | ) |
Definition at line 461 of file Formula.cpp.
RewardOperatorFormula const & storm::logic::Formula::asRewardOperatorFormula | ( | ) | const |
Definition at line 465 of file Formula.cpp.
std::shared_ptr< Formula const > storm::logic::Formula::asSharedPointer | ( | ) |
Definition at line 548 of file Formula.cpp.
std::shared_ptr< Formula const > storm::logic::Formula::asSharedPointer | ( | ) | const |
Definition at line 552 of file Formula.cpp.
StateFormula & storm::logic::Formula::asStateFormula | ( | ) |
Definition at line 221 of file Formula.cpp.
StateFormula const & storm::logic::Formula::asStateFormula | ( | ) | const |
Definition at line 225 of file Formula.cpp.
TimeOperatorFormula & storm::logic::Formula::asTimeOperatorFormula | ( | ) |
Definition at line 413 of file Formula.cpp.
TimeOperatorFormula const & storm::logic::Formula::asTimeOperatorFormula | ( | ) | const |
Definition at line 417 of file Formula.cpp.
TotalRewardFormula & storm::logic::Formula::asTotalRewardFormula | ( | ) |
Definition at line 429 of file Formula.cpp.
TotalRewardFormula const & storm::logic::Formula::asTotalRewardFormula | ( | ) | const |
Definition at line 433 of file Formula.cpp.
UnaryBooleanStateFormula & storm::logic::Formula::asUnaryBooleanStateFormula | ( | ) |
Definition at line 277 of file Formula.cpp.
UnaryBooleanStateFormula const & storm::logic::Formula::asUnaryBooleanStateFormula | ( | ) | const |
Definition at line 281 of file Formula.cpp.
UnaryPathFormula & storm::logic::Formula::asUnaryPathFormula | ( | ) |
Definition at line 389 of file Formula.cpp.
UnaryPathFormula const & storm::logic::Formula::asUnaryPathFormula | ( | ) | const |
Definition at line 393 of file Formula.cpp.
UnaryStateFormula & storm::logic::Formula::asUnaryStateFormula | ( | ) |
Definition at line 253 of file Formula.cpp.
UnaryStateFormula const & storm::logic::Formula::asUnaryStateFormula | ( | ) | const |
Definition at line 257 of file Formula.cpp.
UntilFormula & storm::logic::Formula::asUntilFormula | ( | ) |
Definition at line 317 of file Formula.cpp.
UntilFormula const & storm::logic::Formula::asUntilFormula | ( | ) | const |
Definition at line 321 of file Formula.cpp.
std::shared_ptr< Formula > storm::logic::Formula::clone | ( | ) | const |
Definition at line 501 of file Formula.cpp.
|
virtual |
Reimplemented in storm::logic::AtomicExpressionFormula, storm::logic::BinaryPathFormula, storm::logic::BinaryStateFormula, storm::logic::BoundedUntilFormula, storm::logic::ConditionalFormula, storm::logic::HOAPathFormula, storm::logic::MultiObjectiveFormula, storm::logic::QuantileFormula, storm::logic::UnaryPathFormula, and storm::logic::UnaryStateFormula.
Definition at line 556 of file Formula.cpp.
|
virtual |
Reimplemented in storm::logic::AtomicLabelFormula, storm::logic::BinaryPathFormula, storm::logic::BinaryStateFormula, storm::logic::BoundedUntilFormula, storm::logic::ConditionalFormula, storm::logic::HOAPathFormula, storm::logic::MultiObjectiveFormula, storm::logic::QuantileFormula, storm::logic::UnaryPathFormula, and storm::logic::UnaryStateFormula.
Definition at line 560 of file Formula.cpp.
|
virtual |
Reimplemented in storm::logic::BinaryPathFormula, storm::logic::BinaryStateFormula, storm::logic::BoundedUntilFormula, storm::logic::ConditionalFormula, storm::logic::CumulativeRewardFormula, storm::logic::HOAPathFormula, storm::logic::MultiObjectiveFormula, storm::logic::QuantileFormula, storm::logic::RewardOperatorFormula, storm::logic::UnaryPathFormula, and storm::logic::UnaryStateFormula.
Definition at line 564 of file Formula.cpp.
|
virtual |
Reimplemented in storm::logic::AtomicExpressionFormula, storm::logic::BinaryPathFormula, storm::logic::BinaryStateFormula, storm::logic::BoundedUntilFormula, storm::logic::ConditionalFormula, storm::logic::CumulativeRewardFormula, storm::logic::InstantaneousRewardFormula, storm::logic::OperatorFormula, storm::logic::UnaryPathFormula, and storm::logic::UnaryStateFormula.
Definition at line 568 of file Formula.cpp.
std::vector< std::shared_ptr< AtomicExpressionFormula const > > storm::logic::Formula::getAtomicExpressionFormulas | ( | ) | const |
Definition at line 477 of file Formula.cpp.
std::vector< std::shared_ptr< AtomicLabelFormula const > > storm::logic::Formula::getAtomicLabelFormulas | ( | ) | const |
Definition at line 483 of file Formula.cpp.
std::set< std::string > storm::logic::Formula::getReferencedRewardModels | ( | ) | const |
Definition at line 495 of file Formula.cpp.
|
static |
Definition at line 205 of file Formula.cpp.
std::set< storm::expressions::Variable > storm::logic::Formula::getUsedVariables | ( | ) | const |
Definition at line 489 of file Formula.cpp.
|
virtual |
Reimplemented in storm::logic::BinaryPathFormula, storm::logic::BoundedUntilFormula, storm::logic::ConditionalFormula, storm::logic::GameFormula, storm::logic::HOAPathFormula, storm::logic::MultiObjectiveFormula, storm::logic::OperatorFormula, and storm::logic::UnaryPathFormula.
Definition at line 188 of file Formula.cpp.
|
virtual |
Reimplemented in storm::logic::BinaryPathFormula, storm::logic::BoundedUntilFormula, storm::logic::ConditionalFormula, storm::logic::GameFormula, storm::logic::HOAPathFormula, storm::logic::MultiObjectiveFormula, storm::logic::OperatorFormula, storm::logic::QuantileFormula, and storm::logic::UnaryPathFormula.
Definition at line 192 of file Formula.cpp.
FormulaInformation storm::logic::Formula::info | ( | bool | recurseIntoOperators = true | ) | const |
Definition at line 201 of file Formula.cpp.
|
virtual |
Reimplemented in storm::logic::AtomicExpressionFormula.
Definition at line 72 of file Formula.cpp.
|
virtual |
Reimplemented in storm::logic::AtomicLabelFormula.
Definition at line 76 of file Formula.cpp.
|
virtual |
Reimplemented in storm::logic::BinaryBooleanPathFormula.
Definition at line 52 of file Formula.cpp.
|
virtual |
Reimplemented in storm::logic::BinaryBooleanStateFormula.
Definition at line 44 of file Formula.cpp.
|
virtual |
Reimplemented in storm::logic::BinaryPathFormula.
Definition at line 104 of file Formula.cpp.
|
virtual |
Reimplemented in storm::logic::BinaryStateFormula.
Definition at line 36 of file Formula.cpp.
|
virtual |
Reimplemented in storm::logic::BooleanLiteralFormula.
Definition at line 60 of file Formula.cpp.
|
virtual |
Reimplemented in storm::logic::BoundedUntilFormula.
Definition at line 84 of file Formula.cpp.
|
virtual |
Reimplemented in storm::logic::ConditionalFormula.
Definition at line 112 of file Formula.cpp.
|
virtual |
Reimplemented in storm::logic::ConditionalFormula.
Definition at line 116 of file Formula.cpp.
|
virtual |
Reimplemented in storm::logic::CumulativeRewardFormula.
Definition at line 144 of file Formula.cpp.
|
virtual |
Reimplemented in storm::logic::EventuallyFormula.
Definition at line 88 of file Formula.cpp.
|
virtual |
Reimplemented in storm::logic::BooleanLiteralFormula.
Definition at line 68 of file Formula.cpp.
|
virtual |
Reimplemented in storm::logic::GameFormula.
Definition at line 168 of file Formula.cpp.
|
virtual |
Reimplemented in storm::logic::GloballyFormula.
Definition at line 96 of file Formula.cpp.
|
virtual |
Reimplemented in storm::logic::HOAPathFormula.
Definition at line 100 of file Formula.cpp.
bool storm::logic::Formula::isInFragment | ( | FragmentSpecification const & | fragment | ) | const |
Definition at line 196 of file Formula.cpp.
bool storm::logic::Formula::isInitialFormula | ( | ) | const |
Definition at line 209 of file Formula.cpp.
|
virtual |
Reimplemented in storm::logic::InstantaneousRewardFormula.
Definition at line 148 of file Formula.cpp.
|
virtual |
Reimplemented in storm::logic::LongRunAverageOperatorFormula.
Definition at line 136 of file Formula.cpp.
|
virtual |
Reimplemented in storm::logic::LongRunAverageRewardFormula.
Definition at line 156 of file Formula.cpp.
|
virtual |
Reimplemented in storm::logic::MultiObjectiveFormula.
Definition at line 28 of file Formula.cpp.
|
virtual |
Reimplemented in storm::logic::NextFormula.
Definition at line 132 of file Formula.cpp.
|
virtual |
Reimplemented in storm::logic::OperatorFormula.
Definition at line 180 of file Formula.cpp.
|
virtual |
Reimplemented in storm::logic::PathFormula.
Definition at line 20 of file Formula.cpp.
|
virtual |
Reimplemented in storm::logic::ProbabilityOperatorFormula.
Definition at line 172 of file Formula.cpp.
|
virtual |
Reimplemented in storm::logic::BinaryBooleanPathFormula, storm::logic::BoundedUntilFormula, storm::logic::EventuallyFormula, storm::logic::GloballyFormula, storm::logic::HOAPathFormula, storm::logic::NextFormula, storm::logic::StateFormula, storm::logic::UnaryBooleanPathFormula, and storm::logic::UntilFormula.
Definition at line 120 of file Formula.cpp.
|
virtual |
Reimplemented in storm::logic::QuantileFormula.
Definition at line 32 of file Formula.cpp.
|
virtual |
Reimplemented in storm::logic::EventuallyFormula.
Definition at line 92 of file Formula.cpp.
|
virtual |
Reimplemented in storm::logic::EventuallyFormula.
Definition at line 152 of file Formula.cpp.
|
virtual |
Reimplemented in storm::logic::EventuallyFormula.
Definition at line 164 of file Formula.cpp.
|
virtual |
Reimplemented in storm::logic::RewardOperatorFormula.
Definition at line 176 of file Formula.cpp.
|
virtual |
Reimplemented in storm::logic::CumulativeRewardFormula, storm::logic::EventuallyFormula, storm::logic::InstantaneousRewardFormula, storm::logic::LongRunAverageRewardFormula, and storm::logic::TotalRewardFormula.
Definition at line 124 of file Formula.cpp.
|
virtual |
Reimplemented in storm::logic::StateFormula.
Definition at line 24 of file Formula.cpp.
|
virtual |
Reimplemented in storm::logic::TimeOperatorFormula.
Definition at line 140 of file Formula.cpp.
|
virtual |
Reimplemented in storm::logic::EventuallyFormula.
Definition at line 128 of file Formula.cpp.
|
virtual |
Reimplemented in storm::logic::TotalRewardFormula.
Definition at line 160 of file Formula.cpp.
|
virtual |
Reimplemented in storm::logic::BooleanLiteralFormula.
Definition at line 64 of file Formula.cpp.
|
virtual |
Reimplemented in storm::logic::UnaryBooleanPathFormula.
Definition at line 56 of file Formula.cpp.
|
virtual |
Reimplemented in storm::logic::UnaryBooleanStateFormula.
Definition at line 48 of file Formula.cpp.
bool storm::logic::Formula::isUnaryFormula | ( | ) | const |
Definition at line 184 of file Formula.cpp.
|
virtual |
Reimplemented in storm::logic::UnaryPathFormula.
Definition at line 108 of file Formula.cpp.
|
virtual |
Reimplemented in storm::logic::UnaryStateFormula.
Definition at line 40 of file Formula.cpp.
|
virtual |
Reimplemented in storm::logic::UntilFormula.
Definition at line 80 of file Formula.cpp.
std::shared_ptr< Formula > storm::logic::Formula::substitute | ( | std::function< storm::expressions::Expression(storm::expressions::Expression const &)> const & | expressionSubstitution | ) | const |
Definition at line 511 of file Formula.cpp.
std::shared_ptr< Formula > storm::logic::Formula::substitute | ( | std::map< std::string, std::string > const & | labelSubstitution | ) | const |
Definition at line 522 of file Formula.cpp.
std::shared_ptr< Formula > storm::logic::Formula::substitute | ( | std::map< std::string, storm::expressions::Expression > const & | labelSubstitution | ) | const |
Definition at line 517 of file Formula.cpp.
std::shared_ptr< Formula > storm::logic::Formula::substitute | ( | std::map< storm::expressions::Variable, storm::expressions::Expression > const & | substitution | ) | const |
Definition at line 506 of file Formula.cpp.
std::shared_ptr< Formula > storm::logic::Formula::substituteRewardModelNames | ( | std::map< std::string, std::string > const & | rewardModelNameSubstitution | ) | const |
Definition at line 527 of file Formula.cpp.
std::shared_ptr< Formula > storm::logic::Formula::substituteTranscendentalNumbers | ( | ) | const |
Definition at line 532 of file Formula.cpp.
storm::expressions::Expression storm::logic::Formula::toExpression | ( | storm::expressions::ExpressionManager const & | manager, |
std::map< std::string, storm::expressions::Expression > const & | labelToExpressionMapping = {} |
||
) | const |
Takes the formula and converts it to an equivalent expression.
The formula may contain atomic labels, but then the given mapping must provide a corresponding expression. Other than that, only atomic expression formulas and boolean connectives may appear in the formula.
manager | The manager responsible for the expressions in the formula and the resulting expression. |
A | mapping from labels to the expressions that define them. |
Definition at line 538 of file Formula.cpp.
std::string storm::logic::Formula::toPrefixString | ( | ) | const |
Definition at line 582 of file Formula.cpp.
std::string storm::logic::Formula::toString | ( | ) | const |
Definition at line 572 of file Formula.cpp.
|
pure virtual |
Writes the forumla to the given output stream.
allowParenthesis | if true, the output is potentially surrounded by parentheses depending on whether parentheses are needed to avoid ambiguity when this formula appears as a subformula of some larger formula. |
Implemented in storm::logic::AtomicExpressionFormula, storm::logic::AtomicLabelFormula, storm::logic::BinaryBooleanPathFormula, storm::logic::BinaryBooleanStateFormula, storm::logic::BooleanLiteralFormula, storm::logic::BoundedUntilFormula, storm::logic::ConditionalFormula, storm::logic::CumulativeRewardFormula, storm::logic::EventuallyFormula, storm::logic::GameFormula, storm::logic::GloballyFormula, storm::logic::HOAPathFormula, storm::logic::InstantaneousRewardFormula, storm::logic::LongRunAverageOperatorFormula, storm::logic::LongRunAverageRewardFormula, storm::logic::MultiObjectiveFormula, storm::logic::NextFormula, storm::logic::OperatorFormula, storm::logic::ProbabilityOperatorFormula, storm::logic::QuantileFormula, storm::logic::RewardOperatorFormula, storm::logic::TimeOperatorFormula, storm::logic::TotalRewardFormula, storm::logic::UnaryBooleanPathFormula, storm::logic::UnaryBooleanStateFormula, and storm::logic::UntilFormula.
|
friend |
Definition at line 578 of file Formula.cpp.