21namespace abstraction {
22template<storm::dd::DdType DdType>
23class AbstractionInformation;
25template<storm::dd::DdType DdType>
26struct BottomStateResult;
29template<storm::dd::DdType DdType,
typename ValueType>
41 std::shared_ptr<storm::utility::solver::SmtSolverFactory>
const& smtSolverFactory,
bool useDecomposition,
42 bool addPredicatesForValidBlocks,
bool debug);
54 void refine(std::vector<uint_fast64_t>
const& predicates);
73 std::map<storm::expressions::Variable, storm::expressions::Expression>
getVariableUpdates(uint64_t player1Choice, uint64_t auxiliaryChoice)
const;
78 std::set<storm::expressions::Variable>
const&
getAssignedVariables(uint64_t player1Choice)
const;
113 std::vector<EdgeAbstractor<DdType, ValueType>>
const&
getEdges()
const;
120 std::vector<EdgeAbstractor<DdType, ValueType>>&
getEdges();
140 std::shared_ptr<storm::utility::solver::SmtSolverFactory> smtSolverFactory;
143 std::reference_wrapper<AbstractionInformation<DdType>
const> abstractionInformation;
146 std::vector<EdgeAbstractor<DdType, ValueType>> edges;
149 std::reference_wrapper<storm::jani::Automaton const> automaton;
152 boost::optional<std::pair<storm::expressions::Variable, storm::expressions::Variable>> locationVariables;
std::set< storm::expressions::Variable > const & getAssignedVariables(uint64_t player1Choice) const
Retrieves the variables assigned by the given player 1 choice.
AutomatonAbstractor(AutomatonAbstractor &&)=default
AutomatonAbstractor & operator=(AutomatonAbstractor &&)=default
std::size_t getNumberOfEdges() const
Retrieves the number of abstract edges of this abstract automaton.
AutomatonAbstractor(AutomatonAbstractor const &)=default
void notifyGuardsArePredicates()
BottomStateResult< DdType > getBottomStateTransitions(storm::dd::Bdd< DdType > const &reachableStates, uint_fast64_t numberOfPlayer2Variables)
Retrieves the transitions to bottom states of this automaton.
uint64_t getNumberOfUpdates(uint64_t player1Choice) const
Retrieves the number of updates of the specified player 1 choice.
GameBddResult< DdType > abstract()
Computes the abstraction of the module wrt.
storm::expressions::Expression const & getGuard(uint64_t player1Choice) const
Retrieves the guard of the given player 1 choice.
AutomatonAbstractor & operator=(AutomatonAbstractor const &)=default
storm::dd::Add< DdType, ValueType > getEdgeDecoratorAdd() const
Retrieves an ADD that maps the encodings of edges, source/target locations and their updates to their...
std::vector< EdgeAbstractor< DdType, ValueType > > const & getEdges() const
Retrieves the abstract edges of this abstract automton.
void refine(std::vector< uint_fast64_t > const &predicates)
Refines the abstract automaton with the given predicates.
storm::dd::Bdd< DdType > getInitialLocationsBdd() const
Retrieves a BDD that encodes all initial locations of this abstract automaton.
std::map< storm::expressions::Variable, storm::expressions::Expression > getVariableUpdates(uint64_t player1Choice, uint64_t auxiliaryChoice) const
Retrieves a mapping from variables to expressions that define their updates wrt.