| 
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -1017,13 +1017,6 @@ namespace storm { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            ModuleDecisionDiagram const& globalModule = system.globalModule; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            storm::dd::Add<Type> stateActionDd = system.stateActionDd; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					             | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            // Cut the transitions and rewards to the reachable fragment of the state space.
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            storm::dd::Bdd<Type> initialStates = createInitialStatesDecisionDiagram(generationInfo); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            storm::dd::Bdd<Type> transitionMatrixBdd = transitionMatrix.notZero(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            if (program.getModelType() == storm::prism::Program::ModelType::MDP) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                transitionMatrixBdd = transitionMatrixBdd.existsAbstract(generationInfo.allNondeterminismVariables); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					             | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            // If we were asked to treat some states as terminal states, we cut away their transitions now.
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            if (options.terminalStates) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                storm::expressions::Expression terminalExpression; | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -1033,7 +1026,16 @@ namespace storm { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    std::string const& labelName = boost::get<std::string>(options.terminalStates.get()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    terminalExpression = preparedProgram.getLabelExpression(labelName); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                // TODO
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                STORM_LOG_TRACE("Making the states satisfying " << terminalExpression << " terminal."); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                storm::dd::Add<Type> terminalStatesAdd = generationInfo.rowExpressionAdapter->translateExpression(terminalExpression); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                transitionMatrix *= !terminalStatesAdd; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					             | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            // Cut the transitions and rewards to the reachable fragment of the state space.
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            storm::dd::Bdd<Type> initialStates = createInitialStatesDecisionDiagram(generationInfo); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            storm::dd::Bdd<Type> transitionMatrixBdd = transitionMatrix.notZero(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            if (program.getModelType() == storm::prism::Program::ModelType::MDP) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                transitionMatrixBdd = transitionMatrixBdd.existsAbstract(generationInfo.allNondeterminismVariables); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					             | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            storm::dd::Bdd<Type> reachableStates = computeReachableStates(generationInfo, initialStates, transitionMatrixBdd); | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
				 | 
				
					
  |