#ifndef STORM_LOGIC_BINARYPATHFORMULA_H_ #define STORM_LOGIC_BINARYPATHFORMULA_H_ #include #include "src/logic/PathFormula.h" namespace storm { namespace logic { class BinaryPathFormula : public PathFormula { public: BinaryPathFormula(std::shared_ptr const& leftSubformula, std::shared_ptr const& rightSubformula); virtual ~BinaryPathFormula() { // Intentionally left empty. } virtual bool isBinaryPathFormula() const override; virtual bool isPctlPathFormula() const override; virtual bool isCslPathFormula() const override; virtual bool isLtlFormula() const override; virtual bool containsBoundedUntilFormula() const override; virtual bool containsNextFormula() const override; virtual bool containsProbabilityOperator() const override; virtual bool containsNestedProbabilityOperators() const override; virtual bool containsRewardOperator() const override; virtual bool containsNestedRewardOperators() const override; Formula const& getLeftSubformula() const; Formula const& getRightSubformula() const; virtual void gatherAtomicExpressionFormulas(std::vector>& atomicExpressionFormulas) const override; virtual void gatherAtomicLabelFormulas(std::vector>& atomicLabelFormulas) const override; private: std::shared_ptr leftSubformula; std::shared_ptr rightSubformula; }; } } #endif /* STORM_LOGIC_BINARYPATHFORMULA_H_ */