Storm 1.14.0.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
AbstractionInformation.h
Go to the documentation of this file.
1#pragma once
2
3#include <cstdint>
4#include <memory>
5#include <set>
6#include <vector>
7
9
11
13
15
16namespace storm {
17namespace expressions {
19class Expression;
20class Variable;
21} // namespace expressions
22
23class Environment;
24
25namespace dd {
26template<storm::dd::DdType DdType>
27class DdManager;
28}
29} // namespace storm
30
31namespace storm::gbar {
32namespace abstraction {
33
36
37 AbstractionInformationOptions(std::vector<storm::expressions::Expression> const& constraints) : constraints(constraints) {
38 // Intentionally left empty.
39 }
40
41 std::vector<storm::expressions::Expression> constraints;
42};
43
44template<storm::dd::DdType DdType>
46 public:
57 std::set<storm::expressions::Variable> const& abstractedVariables, std::unique_ptr<storm::solver::SmtSolver>&& smtSolver,
59
66
74
80 void addConstraint(storm::expressions::Expression const& constraint);
81
87 std::vector<storm::expressions::Expression> const& getConstraints() const;
88
96 uint_fast64_t getOrAddPredicate(storm::expressions::Expression const& predicate);
97
104 std::vector<uint_fast64_t> addPredicates(std::vector<storm::expressions::Expression> const& predicates);
105
112
119
126
133
139 std::shared_ptr<storm::dd::DdManager<DdType>> getDdManagerAsSharedPointer();
140
146 std::shared_ptr<storm::dd::DdManager<DdType> const> getDdManagerAsSharedPointer() const;
147
153 std::vector<storm::expressions::Expression> const& getPredicates() const;
154
158 std::vector<storm::expressions::Expression> getPredicates(storm::storage::BitVector const& predicateValuation) const;
159
164 std::vector<storm::expressions::Expression> getPredicatesExcludingBottom(storm::storage::BitVector const& predicateValuation) const;
165
171 storm::expressions::Expression const& getPredicateByIndex(uint_fast64_t index) const;
172
180
186 bool hasPredicate(storm::expressions::Expression const& predicate) const;
187
193 std::size_t getNumberOfPredicates() const;
194
200 std::set<storm::expressions::Variable> const& getAbstractedVariables() const;
201
209 void createEncodingVariables(uint64_t player1VariableCount, uint64_t player2VariableCount, uint64_t auxVariableCount);
210
218 storm::dd::Bdd<DdType> encodePlayer1Choice(uint_fast64_t index, uint_fast64_t end) const;
219
227 uint_fast64_t decodePlayer1Choice(storm::expressions::Valuation const& valuation, uint_fast64_t end) const;
228
237 storm::dd::Bdd<DdType> encodePlayer2Choice(uint_fast64_t index, uint_fast64_t start, uint_fast64_t end) const;
238
246 uint_fast64_t decodePlayer2Choice(storm::expressions::Valuation const& valuation, uint_fast64_t end) const;
247
256 storm::dd::Bdd<DdType> encodeAux(uint_fast64_t index, uint_fast64_t start, uint_fast64_t end) const;
257
266 uint_fast64_t decodeAux(storm::expressions::Valuation const& valuation, uint_fast64_t start, uint_fast64_t end) const;
267
273 std::vector<storm::expressions::Variable> const& getPlayer1Variables() const;
274
281 std::set<storm::expressions::Variable> getPlayer1VariableSet(uint_fast64_t count) const;
282
288 std::size_t getPlayer1VariableCount() const;
289
295 std::vector<storm::expressions::Variable> const& getPlayer2Variables() const;
296
302 std::size_t getPlayer2VariableCount() const;
303
310 std::set<storm::expressions::Variable> getPlayer2VariableSet(uint_fast64_t count) const;
311
317 std::vector<storm::expressions::Variable> const& getAuxVariables() const;
318
325 storm::expressions::Variable const& getAuxVariable(uint_fast64_t index) const;
326
334 std::set<storm::expressions::Variable> getAuxVariableSet(uint_fast64_t start, uint_fast64_t end) const;
335
341 std::size_t getAuxVariableCount() const;
342
348 std::set<storm::expressions::Variable> const& getSourceVariables() const;
349
355 std::set<storm::expressions::Variable> const& getSuccessorVariables() const;
356
362 std::set<storm::expressions::Variable> const& getSourcePredicateVariables() const;
363
369 std::set<storm::expressions::Variable> const& getSuccessorPredicateVariables() const;
370
377
384
390 std::map<storm::expressions::Expression, storm::dd::Bdd<DdType>> const& getPredicateToBddMap() const;
391
397 std::vector<std::pair<storm::expressions::Variable, storm::expressions::Variable>> const& getSourceSuccessorVariablePairs() const;
398
404 std::vector<std::pair<storm::expressions::Variable, storm::expressions::Variable>> const& getExtendedSourceSuccessorVariablePairs() const;
405
413
421 storm::dd::Bdd<DdType> getBottomStateBdd(bool source, bool negated) const;
422
429 storm::dd::Bdd<DdType> const& encodePredicateAsSource(uint_fast64_t predicateIndex) const;
430
437 storm::dd::Bdd<DdType> const& encodePredicateAsSuccessor(uint_fast64_t predicateIndex) const;
438
445 storm::dd::Bdd<DdType> const& getPredicateIdentity(uint_fast64_t predicateIndex) const;
446
453 storm::expressions::Expression const& getPredicateForDdVariableIndex(uint_fast64_t ddVariableIndex) const;
454
462 std::vector<std::pair<storm::expressions::Variable, uint_fast64_t>> declareNewVariables(
463 std::vector<std::pair<storm::expressions::Variable, uint_fast64_t>> const& oldPredicates, std::set<uint_fast64_t> const& newPredicates) const;
464
470
474 template<typename ValueType>
475 std::map<uint_fast64_t, std::pair<storm::storage::BitVector, ValueType>> decodeChoiceToUpdateSuccessorMapping(storm::dd::Bdd<DdType> const& choice) const;
476
481 template<typename ValueType>
482 std::vector<std::map<uint_fast64_t, std::pair<storm::storage::BitVector, ValueType>>> decodeChoicesToUpdateSuccessorMapping(
483 std::set<storm::expressions::Variable> const& player2Variables, storm::dd::Bdd<DdType> const& choices) const;
484
489 std::tuple<storm::storage::BitVector, uint64_t, uint64_t> decodeStatePlayer1ChoiceAndUpdate(storm::dd::Bdd<DdType> const& stateChoiceAndUpdate) const;
490
494 std::pair<std::pair<storm::expressions::Variable, storm::expressions::Variable>, uint64_t> addLocationVariables(
495 storm::expressions::Variable const& locationExpressionVariable, uint64_t highestLocationIndex);
496
500 storm::expressions::Variable getLocationVariable(uint64_t locationVariableIndex, bool source) const;
501
505 std::set<storm::expressions::Variable> const& getSourceLocationVariables() const;
506
510 std::set<storm::expressions::Variable> const& getSuccessorLocationVariables() const;
511
515 storm::expressions::Variable const& getDdLocationMetaVariable(storm::expressions::Variable const& locationExpressionVariable, bool source);
516
521
525 std::set<storm::expressions::Variable> const& getLocationExpressionVariables() const;
526
530 storm::dd::Bdd<DdType> encodeLocation(storm::expressions::Variable const& locationVariable, uint64_t locationIndex) const;
531
532 protected:
538 std::vector<storm::expressions::Variable> const& getOrderedSourcePredicateVariables() const;
539
545 std::vector<storm::expressions::Variable> const& getOrderedSuccessorPredicateVariables() const;
546
556 storm::dd::Bdd<DdType> encodeChoice(uint_fast64_t index, uint_fast64_t start, uint_fast64_t end,
557 std::vector<storm::dd::Bdd<DdType>> const& variables) const;
558
568 uint_fast64_t decodeChoice(storm::expressions::Valuation const& valuation, uint_fast64_t start, uint_fast64_t end,
569 std::vector<storm::expressions::Variable> const& variables) const;
570
571 // The expression related data.
572
574 std::reference_wrapper<storm::expressions::ExpressionManager> expressionManager;
575
577 std::unordered_map<storm::expressions::Expression, uint64_t> predicateToIndexMap;
578
581
583 std::vector<storm::expressions::Expression> predicates;
584
586 std::set<storm::expressions::Variable> abstractedVariables;
587
589 std::vector<storm::expressions::Expression> constraints;
590
591 // The DD-related data.
592
594 std::shared_ptr<storm::dd::DdManager<DdType>> ddManager;
595
597 std::vector<std::pair<storm::expressions::Variable, storm::expressions::Variable>> predicateDdVariables;
598
600 std::vector<std::pair<storm::expressions::Variable, storm::expressions::Variable>> extendedPredicateDdVariables;
601
603 std::set<storm::expressions::Variable> sourceVariables;
604
606 std::set<storm::expressions::Variable> successorVariables;
607
609 std::set<storm::expressions::Variable> sourcePredicateVariables;
610
612 std::set<storm::expressions::Variable> successorPredicateVariables;
613
615 std::vector<storm::expressions::Variable> orderedSourcePredicateVariables;
616
618 std::vector<storm::expressions::Variable> orderedSuccessorPredicateVariables;
619
621 std::vector<std::pair<storm::dd::Bdd<DdType>, storm::dd::Bdd<DdType>>> predicateBdds;
622
624 std::vector<storm::dd::Bdd<DdType>> predicateIdentities;
625
628
631
633 std::pair<storm::expressions::Variable, storm::expressions::Variable> bottomStateVariables;
634
636 std::pair<storm::dd::Bdd<DdType>, storm::dd::Bdd<DdType>> bottomStateBdds;
637
639 std::unordered_map<uint_fast64_t, uint_fast64_t> ddVariableIndexToPredicateIndexMap;
640
642 std::vector<storm::expressions::Variable> player1Variables;
643
645 std::vector<storm::dd::Bdd<DdType>> player1VariableBdds;
646
648 std::vector<storm::expressions::Variable> player2Variables;
649
651 std::vector<storm::dd::Bdd<DdType>> player2VariableBdds;
652
654 std::vector<storm::expressions::Variable> auxVariables;
655
657 std::vector<storm::dd::Bdd<DdType>> auxVariableBdds;
658
660 std::map<storm::expressions::Expression, storm::dd::Bdd<DdType>> expressionToBddMap;
661
663 std::vector<std::pair<storm::expressions::Variable, storm::expressions::Variable>> locationVariablePairs;
664
666 std::map<storm::expressions::Variable, std::pair<storm::expressions::Variable, storm::expressions::Variable>> locationExpressionToDdVariableMap;
667
669 std::set<storm::expressions::Variable> locationExpressionVariables;
670
671 // All source location variables.
672 std::set<storm::expressions::Variable> allSourceLocationVariables;
673
674 // All successor location variables.
675 std::set<storm::expressions::Variable> allSuccessorLocationVariables;
676};
677
678} // namespace abstraction
679} // namespace storm::gbar
This class is responsible for managing a set of typed variables and all expressions using these varia...
The base class of all valuations of variables.
Definition Valuation.h:15
std::vector< std::pair< storm::expressions::Variable, storm::expressions::Variable > > predicateDdVariables
The DD variables corresponding to the predicates.
std::vector< storm::expressions::Variable > orderedSourcePredicateVariables
An ordered collection of the source variables.
std::vector< std::pair< storm::dd::Bdd< DdType >, storm::dd::Bdd< DdType > > > predicateBdds
The BDDs corresponding to the predicates.
std::set< storm::expressions::Variable > const & getSourceLocationVariables() const
Retrieves the source location variables.
storm::dd::Bdd< DdType > allPredicateIdentities
A BDD that represents the identity of all predicate variables.
storm::dd::Bdd< DdType > getPredicateSourceVariable(storm::expressions::Expression const &predicate) const
Retrieves the source variable associated with the given predicate.
storm::dd::Bdd< DdType > encodePlayer1Choice(uint_fast64_t index, uint_fast64_t end) const
Encodes the given index using the indicated player 1 variables.
std::size_t getPlayer2VariableCount() const
Retrieves the number of player 2 variables.
std::map< storm::expressions::Expression, storm::dd::Bdd< DdType > > const & getPredicateToBddMap() const
Retrieves a mapping of the known predicates to the BDDs that represent the corresponding states.
std::set< storm::expressions::Variable > getPlayer1VariableSet(uint_fast64_t count) const
Retrieves the set of player 1 variables.
storm::dd::Bdd< DdType > const & encodePredicateAsSource(uint_fast64_t predicateIndex) const
Retrieves the BDD for the predicate with the given index over the source variables.
std::vector< storm::expressions::Variable > const & getPlayer2Variables() const
Retrieves the meta variables associated with the player 2 choices.
storm::expressions::Variable const & getDdLocationMetaVariable(storm::expressions::Variable const &locationExpressionVariable, bool source)
Retrieves the DD variable for the given location expression variable.
uint_fast64_t decodeChoice(storm::expressions::Valuation const &valuation, uint_fast64_t start, uint_fast64_t end, std::vector< storm::expressions::Variable > const &variables) const
Decodes the index encoded in the valuation using the given variables.
std::vector< storm::expressions::Expression > const & getConstraints() const
Retrieves a list of expressions that constrain the valid variable values.
std::set< storm::expressions::Variable > abstractedVariables
The set of all abstracted variables.
void addExpressionVariable(storm::expressions::Variable const &variable)
Adds the given variable.
std::vector< storm::expressions::Variable > auxVariables
Variables that can be used to encode auxiliary information.
std::vector< std::map< uint_fast64_t, std::pair< storm::storage::BitVector, ValueType > > > decodeChoicesToUpdateSuccessorMapping(std::set< storm::expressions::Variable > const &player2Variables, storm::dd::Bdd< DdType > const &choices) const
Decodes the choices in the form of BDD over the destination variables where the choices are distingui...
std::set< storm::expressions::Variable > successorPredicateVariables
The set of all successor predicate variables.
storm::dd::Bdd< DdType > encodeChoice(uint_fast64_t index, uint_fast64_t start, uint_fast64_t end, std::vector< storm::dd::Bdd< DdType > > const &variables) const
Encodes the given index with the given number of variables from the given variables.
std::set< storm::expressions::Variable > successorVariables
The set of all successor variables.
std::set< storm::expressions::Variable > allSuccessorLocationVariables
std::vector< storm::expressions::Variable > const & getAuxVariables() const
Retrieves the meta variables associated with auxiliary information.
bool hasPredicate(storm::expressions::Expression const &predicate) const
Determines whether the given predicate is in the set of known predicates.
storm::expressions::ExpressionManager & getExpressionManager()
Retrieves the expression manager.
std::vector< std::pair< storm::expressions::Variable, storm::expressions::Variable > > extendedPredicateDdVariables
The DD variables corresponding to the predicates together with the DD variables marking the bottom st...
std::vector< std::pair< storm::expressions::Variable, storm::expressions::Variable > > const & getSourceSuccessorVariablePairs() const
Retrieves the meta variables pairs for all predicates.
storm::dd::Bdd< DdType > encodeLocation(storm::expressions::Variable const &locationVariable, uint64_t locationIndex) const
Encodes the given location index as either source or successor.
AbstractionInformation(storm::Environment const &env, storm::expressions::ExpressionManager &expressionManager, std::set< storm::expressions::Variable > const &abstractedVariables, std::unique_ptr< storm::solver::SmtSolver > &&smtSolver, AbstractionInformationOptions const &options=AbstractionInformationOptions())
Creates a new abstraction information object.
std::vector< std::pair< storm::expressions::Variable, storm::expressions::Variable > > const & getExtendedSourceSuccessorVariablePairs() const
Retrieves the meta variables pairs for all predicates together with the meta variables marking the bo...
std::set< storm::expressions::Variable > allSourceLocationVariables
std::set< storm::expressions::Variable > sourceVariables
The set of all source variables.
std::vector< storm::expressions::Variable > player1Variables
Variables that encode the choices of player 1.
storm::dd::Bdd< DdType > const & getPredicateIdentity(uint_fast64_t predicateIndex) const
Retrieves a BDD representing the identity for the predicate with the given index.
std::size_t getAuxVariableCount() const
Retrieves the number of auxiliary variables.
std::size_t getPlayer1VariableCount() const
Retrieves the number of player 1 variables.
storm::expressions::EquivalenceChecker equivalenceChecker
An object that can detect equivalence of predicates.
storm::dd::Bdd< DdType > const & getAllPredicateIdentities() const
Retrieves a BDD representing the identities of all predicates.
std::set< storm::expressions::Variable > getAuxVariableSet(uint_fast64_t start, uint_fast64_t end) const
Retrieves the requested set of auxiliary variables.
std::vector< storm::dd::Bdd< DdType > > auxVariableBdds
The BDDs associated with the meta variables encoding auxiliary information.
std::vector< storm::expressions::Variable > const & getPlayer1Variables() const
Retrieves the meta variables associated with the player 1 choices.
storm::storage::BitVector decodeState(storm::dd::Bdd< DdType > const &state) const
Decodes the given state (given as a BDD over the source variables) into a a bit vector indicating the...
storm::dd::Bdd< DdType > allLocationIdentities
A BDD that represents the identity of all location variables.
std::pair< storm::dd::Bdd< DdType >, storm::dd::Bdd< DdType > > bottomStateBdds
The BDDs associated with the bottom state variable pair.
std::set< storm::expressions::Variable > const & getSuccessorLocationVariables() const
Retrieves the source location variables.
std::pair< storm::expressions::Variable, storm::expressions::Variable > bottomStateVariables
A meta variable pair that marks bottom states.
uint64_t getNumberOfDdSourceLocationVariables() const
Retrieves the number of DD variables associated with the source location variables.
std::shared_ptr< storm::dd::DdManager< DdType > > ddManager
The manager responsible for the DDs.
std::vector< storm::dd::Bdd< DdType > > predicateIdentities
The BDDs representing the predicate identities (i.e. source and successor variable have the same trut...
std::vector< storm::expressions::Expression > getPredicatesExcludingBottom(storm::storage::BitVector const &predicateValuation) const
Retrieves a list of expression that corresponds to the given predicate valuation that mentions all of...
std::map< storm::expressions::Expression, storm::dd::Bdd< DdType > > expressionToBddMap
A mapping from expressions to the corresponding BDDs.
std::vector< storm::expressions::Expression > predicates
The current set of predicates used in the abstraction.
std::unordered_map< uint_fast64_t, uint_fast64_t > ddVariableIndexToPredicateIndexMap
A mapping from DD variable indices to the predicate index they represent.
std::vector< storm::expressions::Variable > player2Variables
Variables that encode the choices of player 2.
void addConstraint(storm::expressions::Expression const &constraint)
Adds an expression that constrains the legal variable values.
std::vector< storm::expressions::Variable > orderedSuccessorPredicateVariables
An ordered collection of the successor variables.
std::vector< storm::expressions::Expression > const & getPredicates() const
Retrieves all currently known predicates.
std::vector< storm::expressions::Expression > constraints
The expressions characterizing legal variable values.
std::vector< std::pair< storm::expressions::Variable, uint_fast64_t > > declareNewVariables(std::vector< std::pair< storm::expressions::Variable, uint_fast64_t > > const &oldPredicates, std::set< uint_fast64_t > const &newPredicates) const
Declares new variables for the missing predicates.
std::vector< std::pair< storm::expressions::Variable, storm::expressions::Variable > > locationVariablePairs
The location variable pairs (source/successor).
storm::expressions::Variable getLocationVariable(uint64_t locationVariableIndex, bool source) const
Retrieves the location variable with the given index as either source or successor.
std::set< storm::expressions::Variable > const & getSuccessorPredicateVariables() const
Retrieves the set of successor predicate meta variables.
std::set< storm::expressions::Variable > const & getSourceVariables() const
Retrieves the set of source meta variables.
uint_fast64_t decodePlayer2Choice(storm::expressions::Valuation const &valuation, uint_fast64_t end) const
Decodes the player 2 choice in the given valuation.
storm::expressions::Variable const & getAuxVariable(uint_fast64_t index) const
Retrieves the auxiliary variable with the given index.
uint_fast64_t decodePlayer1Choice(storm::expressions::Valuation const &valuation, uint_fast64_t end) const
Decodes the player 1 choice in the given valuation.
std::set< storm::expressions::Variable > sourcePredicateVariables
The set of all source predicate variables.
uint_fast64_t decodeAux(storm::expressions::Valuation const &valuation, uint_fast64_t start, uint_fast64_t end) const
Decodes the auxiliary index in the given valuation.
void createEncodingVariables(uint64_t player1VariableCount, uint64_t player2VariableCount, uint64_t auxVariableCount)
Creates the given number of variables used to encode the choices of player 1/2 and auxiliary informat...
std::size_t getNumberOfPredicates() const
Retrieves the number of predicates.
std::pair< std::pair< storm::expressions::Variable, storm::expressions::Variable >, uint64_t > addLocationVariables(storm::expressions::Variable const &locationExpressionVariable, uint64_t highestLocationIndex)
Adds a location variable of appropriate range and returns the pair of meta variables.
std::tuple< storm::storage::BitVector, uint64_t, uint64_t > decodeStatePlayer1ChoiceAndUpdate(storm::dd::Bdd< DdType > const &stateChoiceAndUpdate) const
Decodes the given BDD (over source, player 1 and aux variables) into a bit vector indicating the trut...
std::vector< storm::expressions::Variable > const & getOrderedSourcePredicateVariables() const
Retrieves the ordered collection of source predicate meta variables.
std::vector< storm::expressions::Variable > const & getOrderedSuccessorPredicateVariables() const
Retrieves the ordered collection of successor predicate meta variables.
storm::expressions::Variable const & getBottomStateVariable(bool source) const
Retrieves the meta variable marking the bottom states.
std::set< storm::expressions::Variable > getPlayer2VariableSet(uint_fast64_t count) const
Retrieves the set of player 2 variables.
storm::dd::Bdd< DdType > encodeAux(uint_fast64_t index, uint_fast64_t start, uint_fast64_t end) const
Encodes the given index using the indicated auxiliary variables.
storm::expressions::Expression const & getPredicateForDdVariableIndex(uint_fast64_t ddVariableIndex) const
Retrieves the predicate associated with the given DD variable index.
storm::dd::Bdd< DdType > const & encodePredicateAsSuccessor(uint_fast64_t predicateIndex) const
Retrieves the BDD for the predicate with the given index over the successor variables.
std::reference_wrapper< storm::expressions::ExpressionManager > expressionManager
The manager responsible for the expressions of the program and the SMT solvers.
std::vector< storm::dd::Bdd< DdType > > player2VariableBdds
The BDDs associated with the meta variables of player 2.
std::set< storm::expressions::Variable > const & getSuccessorVariables() const
Retrieves the set of successor meta variables.
std::vector< storm::dd::Bdd< DdType > > player1VariableBdds
The BDDs associated with the meta variables of player 1.
storm::dd::DdManager< DdType > & getDdManager()
Retrieves the DD manager.
std::set< storm::expressions::Variable > const & getSourcePredicateVariables() const
Retrieves the set of source predicate meta variables.
std::set< storm::expressions::Variable > const & getLocationExpressionVariables() const
Retrieves the source location variables.
storm::expressions::Expression const & getPredicateByIndex(uint_fast64_t index) const
Retrieves the predicate with the given index.
uint_fast64_t getOrAddPredicate(storm::expressions::Expression const &predicate)
Gets the index of a predicate that is equivalent to the provided one.
std::shared_ptr< storm::dd::DdManager< DdType > > getDdManagerAsSharedPointer()
Retrieves the shared pointer to the DD manager.
storm::dd::Bdd< DdType > getBottomStateBdd(bool source, bool negated) const
Retrieves the BDD that can be used to mark the bottom states.
std::unordered_map< storm::expressions::Expression, uint64_t > predicateToIndexMap
A mapping from predicates to their indices in the predicate list.
std::vector< uint_fast64_t > addPredicates(std::vector< storm::expressions::Expression > const &predicates)
Adds the given predicates.
std::map< storm::expressions::Variable, std::pair< storm::expressions::Variable, storm::expressions::Variable > > locationExpressionToDdVariableMap
A mapping from location expression variables to their source/successor counterparts.
storm::dd::Bdd< DdType > const & getAllLocationIdentities() const
Retrieves a BDD representing the identities of all location variables.
std::set< storm::expressions::Variable > const & getAbstractedVariables() const
Retrieves all currently known variables.
std::map< uint_fast64_t, std::pair< storm::storage::BitVector, ValueType > > decodeChoiceToUpdateSuccessorMapping(storm::dd::Bdd< DdType > const &choice) const
Decodes the choice in the form of a BDD over the destination variables.
std::set< storm::expressions::Variable > locationExpressionVariables
The set of all location expression variables.
storm::dd::Bdd< DdType > encodePlayer2Choice(uint_fast64_t index, uint_fast64_t start, uint_fast64_t end) const
Encodes the given index using the indicated player 2 variables.
A bit vector that is internally represented as a vector of 64-bit values.
Definition BitVector.h:16
std::vector< storm::expressions::Expression > constraints
AbstractionInformationOptions(std::vector< storm::expressions::Expression > const &constraints)