| 
					
					
						
							
						
					
					
				 | 
				@ -28,30 +28,15 @@ namespace storm { | 
			
		
		
	
		
			
				 | 
				 | 
				            if (critical1 == numberOfStates || critical2 == numberOfStates) { | 
				 | 
				 | 
				            if (critical1 == numberOfStates || critical2 == numberOfStates) { | 
			
		
		
	
		
			
				 | 
				 | 
				                result.insert(std::pair<storm::analysis::Lattice*, std::set<std::shared_ptr<storm::expressions::BinaryRelationExpression>>>(lattice, emptySet)); | 
				 | 
				 | 
				                result.insert(std::pair<storm::analysis::Lattice*, std::set<std::shared_ptr<storm::expressions::BinaryRelationExpression>>>(lattice, emptySet)); | 
			
		
		
	
		
			
				 | 
				 | 
				            } else { | 
				 | 
				 | 
				            } else { | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                //TODO: opruimen
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                storm::expressions::Variable var1 = expressionManager->getVariable(std::to_string(critical1)); | 
				 | 
				 | 
				                storm::expressions::Variable var1 = expressionManager->getVariable(std::to_string(critical1)); | 
			
		
		
	
		
			
				 | 
				 | 
				                storm::expressions::Variable var2 = expressionManager->getVariable(std::to_string(critical2)); | 
				 | 
				 | 
				                storm::expressions::Variable var2 = expressionManager->getVariable(std::to_string(critical2)); | 
			
		
		
	
		
			
				 | 
				 | 
				                std::set<std::shared_ptr<storm::expressions::BinaryRelationExpression>> assumptions1; | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                std::shared_ptr<storm::expressions::BinaryRelationExpression> assumption1 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                    = std::make_shared<storm::expressions::BinaryRelationExpression>(storm::expressions::BinaryRelationExpression(*expressionManager, var1.getType(), | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                        var1.getExpression().getBaseExpressionPointer(), var2.getExpression().getBaseExpressionPointer(), | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                        storm::expressions::BinaryRelationExpression::RelationType::Greater)); | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                assumptions1.insert(assumption1); | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                auto lattice1 = new Lattice(lattice); | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                auto myMap = (runRecursive(lattice1, assumptions1)); | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                result.insert(myMap.begin(), myMap.end()); | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                std::set<std::shared_ptr<storm::expressions::BinaryRelationExpression>> assumptions; | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				
 | 
			
		
		
	
		
			
				 | 
				 | 
				                std::set<std::shared_ptr<storm::expressions::BinaryRelationExpression>> assumptions2; | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                std::shared_ptr<storm::expressions::BinaryRelationExpression> assumption2 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                    = std::make_shared<storm::expressions::BinaryRelationExpression>(storm::expressions::BinaryRelationExpression(*expressionManager, var2.getType(), | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                        var2.getExpression().getBaseExpressionPointer(), var1.getExpression().getBaseExpressionPointer(), | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                        storm::expressions::BinaryRelationExpression::RelationType::Greater)); | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                assumptions2.insert(assumption2); | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                auto myMap = createAssumptions(var1, var2, lattice, assumptions); | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                result.insert(myMap.begin(), myMap.end()); | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				
 | 
			
		
		
	
		
			
				 | 
				 | 
				                auto lattice2 = new Lattice(lattice); | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                auto myMap2 = (runRecursive(lattice2, assumptions2)); | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                result.insert(myMap2.begin(), myMap2.end()); | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                myMap = createAssumptions(var2, var1, lattice, assumptions); | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                result.insert(myMap.begin(), myMap.end()); | 
			
		
		
	
		
			
				 | 
				 | 
				            } | 
				 | 
				 | 
				            } | 
			
		
		
	
		
			
				 | 
				 | 
				            return result; | 
				 | 
				 | 
				            return result; | 
			
		
		
	
		
			
				 | 
				 | 
				        } | 
				 | 
				 | 
				        } | 
			
		
		
	
	
		
			
				| 
					
					
					
						
							
						
					
				 | 
				@ -67,29 +52,26 @@ namespace storm { | 
			
		
		
	
		
			
				 | 
				 | 
				                storm::expressions::Variable var1 = expressionManager->getVariable(std::to_string(std::get<1>(criticalPair))); | 
				 | 
				 | 
				                storm::expressions::Variable var1 = expressionManager->getVariable(std::to_string(std::get<1>(criticalPair))); | 
			
		
		
	
		
			
				 | 
				 | 
				                storm::expressions::Variable var2 = expressionManager->getVariable(std::to_string(std::get<2>(criticalPair))); | 
				 | 
				 | 
				                storm::expressions::Variable var2 = expressionManager->getVariable(std::to_string(std::get<2>(criticalPair))); | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				
 | 
			
		
		
	
		
			
				 | 
				 | 
				                std::set<std::shared_ptr<storm::expressions::BinaryRelationExpression>> assumptions1 = std::set<std::shared_ptr<storm::expressions::BinaryRelationExpression>>(assumptions); | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                std::shared_ptr<storm::expressions::BinaryRelationExpression> assumption1 = std::make_shared<storm::expressions::BinaryRelationExpression>(storm::expressions::BinaryRelationExpression(*expressionManager, var1.getType(), | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                                                                                    var1.getExpression().getBaseExpressionPointer(), var2.getExpression().getBaseExpressionPointer(), | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                                                                                    storm::expressions::BinaryRelationExpression::RelationType::Greater)); | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                assumptions1.insert(assumption1); | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                auto lattice1 = new Lattice(lattice); | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                auto myMap = (runRecursive(lattice1, assumptions1)); | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                auto myMap = createAssumptions(var1, var2, lattice, assumptions); | 
			
		
		
	
		
			
				 | 
				 | 
				                result.insert(myMap.begin(), myMap.end()); | 
				 | 
				 | 
				                result.insert(myMap.begin(), myMap.end()); | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                std::set<std::shared_ptr<storm::expressions::BinaryRelationExpression>>  assumptions2 = assumptions; | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                std::shared_ptr<storm::expressions::BinaryRelationExpression> assumption2 = std::make_shared<storm::expressions::BinaryRelationExpression>(storm::expressions::BinaryRelationExpression(*expressionManager, var1.getType(), | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                                                                                    var2.getExpression().getBaseExpressionPointer(), var1.getExpression().getBaseExpressionPointer(), | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                                                                                    storm::expressions::BinaryRelationExpression::RelationType::Greater))   ; | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                assumptions2.insert(assumption2); | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                auto lattice2 = new Lattice(lattice); | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                myMap = (runRecursive(lattice2, assumptions2)); | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                myMap = createAssumptions(var2, var1, lattice, assumptions); | 
			
		
		
	
		
			
				 | 
				 | 
				                result.insert(myMap.begin(), myMap.end()); | 
				 | 
				 | 
				                result.insert(myMap.begin(), myMap.end()); | 
			
		
		
	
		
			
				 | 
				 | 
				            } | 
				 | 
				 | 
				            } | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				
 | 
			
		
		
	
		
			
				 | 
				 | 
				            return result; | 
				 | 
				 | 
				            return result; | 
			
		
		
	
		
			
				 | 
				 | 
				        } | 
				 | 
				 | 
				        } | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        template <typename ValueType> | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        std::map<storm::analysis::Lattice*, std::set<std::shared_ptr<storm::expressions::BinaryRelationExpression>>> AssumptionMaker<ValueType>::createAssumptions(storm::expressions::Variable var1, storm::expressions::Variable var2, storm::analysis::Lattice* lattice, std::set<std::shared_ptr<storm::expressions::BinaryRelationExpression>> assumptions) { | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            std::set<std::shared_ptr<storm::expressions::BinaryRelationExpression>> assumptions1 = std::set<std::shared_ptr<storm::expressions::BinaryRelationExpression>>(assumptions); | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            std::shared_ptr<storm::expressions::BinaryRelationExpression> assumption1 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                = std::make_shared<storm::expressions::BinaryRelationExpression>(storm::expressions::BinaryRelationExpression(*expressionManager, var1.getType(), | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                        var1.getExpression().getBaseExpressionPointer(), var2.getExpression().getBaseExpressionPointer(), | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                        storm::expressions::BinaryRelationExpression::RelationType::Greater)); | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            assumptions1.insert(assumption1); | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            auto lattice1 = new Lattice(lattice); | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            return (runRecursive(lattice1, assumptions1)); | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        } | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				
 | 
			
		
		
	
		
			
				 | 
				 | 
				        template class AssumptionMaker<storm::RationalFunction>; | 
				 | 
				 | 
				        template class AssumptionMaker<storm::RationalFunction>; | 
			
		
		
	
		
			
				 | 
				 | 
				    } | 
				 | 
				 | 
				    } | 
			
		
		
	
	
		
			
				| 
					
						
							
						
					
					
					
				 | 
				
  |