You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
1.1 KiB
28 lines
1.1 KiB
#include "src/logic/UntilFormula.h"
|
|
|
|
namespace storm {
|
|
namespace logic {
|
|
UntilFormula::UntilFormula(std::shared_ptr<Formula const> const& leftSubformula, std::shared_ptr<Formula const> const& rightSubformula) : BinaryPathFormula(leftSubformula, rightSubformula) {
|
|
// Intentionally left empty.
|
|
}
|
|
|
|
bool UntilFormula::isUntilFormula() const {
|
|
return true;
|
|
}
|
|
|
|
bool UntilFormula::isValidProbabilityPathFormula() const {
|
|
return true;
|
|
}
|
|
|
|
std::shared_ptr<Formula> UntilFormula::substitute(std::map<storm::expressions::Variable, storm::expressions::Expression> const& substitution) const {
|
|
return std::make_shared<UntilFormula>(this->getLeftSubformula().substitute(substitution), this->getRightSubformula().substitute(substitution));
|
|
}
|
|
|
|
std::ostream& UntilFormula::writeToStream(std::ostream& out) const {
|
|
this->getLeftSubformula().writeToStream(out);
|
|
out << " U ";
|
|
this->getRightSubformula().writeToStream(out);
|
|
return out;
|
|
}
|
|
}
|
|
}
|