Storm 1.14.0.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
ConditionalFormula.h
Go to the documentation of this file.
1#pragma once
2
5
6namespace storm {
7namespace logic {
8class ConditionalFormula : public Formula {
9 public:
10 ConditionalFormula(std::shared_ptr<Formula const> const& subformula, std::shared_ptr<Formula const> const& conditionFormula,
12
14 // Intentionally left empty.
15 }
16
17 Formula const& getSubformula() const;
18 Formula const& getConditionFormula() const;
19 FormulaContext const& getContext() const;
20
21 virtual bool isConditionalProbabilityFormula() const override;
22 virtual bool isConditionalRewardFormula() const override;
23
24 virtual boost::any accept(FormulaVisitor const& visitor, boost::any const& data) const override;
25
26 virtual std::ostream& writeToStream(std::ostream& out, bool allowParentheses = false) const override;
27
28 virtual void gatherAtomicExpressionFormulas(std::vector<std::shared_ptr<AtomicExpressionFormula const>>& atomicExpressionFormulas) const override;
29 virtual void gatherAtomicLabelFormulas(std::vector<std::shared_ptr<AtomicLabelFormula const>>& atomicLabelFormulas) const override;
30 virtual void gatherReferencedRewardModels(std::set<std::string>& referencedRewardModels) const override;
31 virtual void gatherUsedVariables(std::set<storm::expressions::Variable>& usedVariables) const override;
32
33 virtual bool hasQualitativeResult() const override;
34 virtual bool hasQuantitativeResult() const override;
35
36 private:
37 std::shared_ptr<Formula const> subformula;
38 std::shared_ptr<Formula const> conditionFormula;
39 FormulaContext context;
40};
41} // namespace logic
42} // namespace storm
virtual bool hasQuantitativeResult() const override
virtual bool isConditionalRewardFormula() const override
Formula const & getConditionFormula() const
virtual std::ostream & writeToStream(std::ostream &out, bool allowParentheses=false) const override
Writes the forumla to the given output stream.
ConditionalFormula(std::shared_ptr< Formula const > const &subformula, std::shared_ptr< Formula const > const &conditionFormula, FormulaContext context=FormulaContext::Probability)
Formula const & getSubformula() const
virtual void gatherAtomicLabelFormulas(std::vector< std::shared_ptr< AtomicLabelFormula const > > &atomicLabelFormulas) const override
FormulaContext const & getContext() const
virtual void gatherReferencedRewardModels(std::set< std::string > &referencedRewardModels) const override
virtual boost::any accept(FormulaVisitor const &visitor, boost::any const &data) const override
virtual void gatherUsedVariables(std::set< storm::expressions::Variable > &usedVariables) const override
virtual bool isConditionalProbabilityFormula() const override
virtual void gatherAtomicExpressionFormulas(std::vector< std::shared_ptr< AtomicExpressionFormula const > > &atomicExpressionFormulas) const override
virtual bool hasQualitativeResult() const override