|  |  | @ -5,10 +5,10 @@ | 
			
		
	
		
			
				
					|  |  |  | #ifndef STORM_ASSUMPTIONMAKER_H | 
			
		
	
		
			
				
					|  |  |  | #define STORM_ASSUMPTIONMAKER_H | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | #include "Lattice.h" | 
			
		
	
		
			
				
					|  |  |  | #include "AssumptionChecker.h" | 
			
		
	
		
			
				
					|  |  |  | #include "storm/storage/expressions/BinaryRelationExpression.h" | 
			
		
	
		
			
				
					|  |  |  | #include "Lattice.h" | 
			
		
	
		
			
				
					|  |  |  | #include "LatticeExtender.h" | 
			
		
	
		
			
				
					|  |  |  | #include "storm/storage/expressions/BinaryRelationExpression.h" | 
			
		
	
		
			
				
					|  |  |  | #include "storm-pars/utility/ModelInstantiator.h" | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  | @ -18,9 +18,25 @@ namespace storm { | 
			
		
	
		
			
				
					|  |  |  |         template<typename ValueType> | 
			
		
	
		
			
				
					|  |  |  |         class AssumptionMaker { | 
			
		
	
		
			
				
					|  |  |  |         public: | 
			
		
	
		
			
				
					|  |  |  |             /*! | 
			
		
	
		
			
				
					|  |  |  |              * Constructs AssumptionMaker based on the lattice extender, the assumption checker and number of states of the model. | 
			
		
	
		
			
				
					|  |  |  |              * | 
			
		
	
		
			
				
					|  |  |  |              * @param latticeExtender The LatticeExtender which needs the assumptions made by the AssumptionMaker. | 
			
		
	
		
			
				
					|  |  |  |              * @param checker The AssumptionChecker which checks the assumptions at sample points. | 
			
		
	
		
			
				
					|  |  |  |              * @param numberOfStates The number of states of the model. | 
			
		
	
		
			
				
					|  |  |  |              */ | 
			
		
	
		
			
				
					|  |  |  |             AssumptionMaker(storm::analysis::LatticeExtender<ValueType>* latticeExtender, storm::analysis::AssumptionChecker<ValueType>* checker, uint_fast64_t numberOfStates); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |             std::map<storm::analysis::Lattice*, std::set<std::shared_ptr<storm::expressions::BinaryRelationExpression>>> startMakingAssumptions(storm::analysis::Lattice* lattice, uint_fast64_t critical1, uint_fast64_t critical2); | 
			
		
	
		
			
				
					|  |  |  |             /*! | 
			
		
	
		
			
				
					|  |  |  |              * Make the assumptions given a lattice and two states which could not be added to the lattice. Returns when no more assumptions can be made. | 
			
		
	
		
			
				
					|  |  |  |              * | 
			
		
	
		
			
				
					|  |  |  |              * @param lattice The lattice on which assumptions are needed to allow further extension. | 
			
		
	
		
			
				
					|  |  |  |              * @param critical1 State number | 
			
		
	
		
			
				
					|  |  |  |              * @param critical2 State number | 
			
		
	
		
			
				
					|  |  |  |              * @return A mapping from pointers to different lattices and assumptions made to create the specific lattice. | 
			
		
	
		
			
				
					|  |  |  |              */ | 
			
		
	
		
			
				
					|  |  |  |             std::map<storm::analysis::Lattice*, std::set<std::shared_ptr<storm::expressions::BinaryRelationExpression>>> makeAssumptions( | 
			
		
	
		
			
				
					|  |  |  |                     storm::analysis::Lattice *lattice, uint_fast64_t critical1, uint_fast64_t critical2); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |         private: | 
			
		
	
		
			
				
					|  |  |  |             std::map<storm::analysis::Lattice*, std::set<std::shared_ptr<storm::expressions::BinaryRelationExpression>>> runRecursive(storm::analysis::Lattice* lattice, std::set<std::shared_ptr<storm::expressions::BinaryRelationExpression>> assumptions); | 
			
		
	
	
		
			
				
					|  |  | 
 |