@ -16,16 +16,34 @@ std::shared_ptr<PmcResult> parametricModelChecking(std::shared_ptr<storm::models 
			
		
	
		
			
				
					    result - > constraintsGraphPreserving  =  constraintCollector . getGraphPreservingConstraints ( ) ;  
			
		
	
		
			
				
					    return  result ;  
			
		
	
		
			
				
					}  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					// Thin wrapper for computing prob01 states
  
			
		
	
		
			
				
					std : : pair < storm : : storage : : BitVector ,  storm : : storage : : BitVector >  computeProb01 ( storm : : models : : sparse : : Dtmc < double >  model ,  storm : : storage : : BitVector  const &  phiStates ,  storm : : storage : : BitVector  const &  psiStates )  {  
			
		
	
		
			
				
					template < typename  ValueType >  
			
		
	
		
			
				
					std : : pair < storm : : storage : : BitVector ,  storm : : storage : : BitVector >  computeProb01 ( storm : : models : : sparse : : Dtmc < ValueType >  const &  model ,  storm : : storage : : BitVector  const &  phiStates ,  storm : : storage : : BitVector  const &  psiStates )  {  
			
		
	
		
			
				
					    return  storm : : utility : : graph : : performProb01 ( model ,  phiStates ,  psiStates ) ;  
			
		
	
		
			
				
					}  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					template < typename  ValueType >  
			
		
	
		
			
				
					std : : pair < storm : : storage : : BitVector ,  storm : : storage : : BitVector >  computeProb01min ( storm : : models : : sparse : : Mdp < ValueType >  const &  model ,  storm : : storage : : BitVector  const &  phiStates ,  storm : : storage : : BitVector  const &  psiStates )  {  
			
		
	
		
			
				
					    return  storm : : utility : : graph : : performProb01Min ( model ,  phiStates ,  psiStates ) ;  
			
		
	
		
			
				
					}  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					template < typename  ValueType >  
			
		
	
		
			
				
					std : : pair < storm : : storage : : BitVector ,  storm : : storage : : BitVector >  computeProb01max ( storm : : models : : sparse : : Mdp < ValueType >  const &  model ,  storm : : storage : : BitVector  const &  phiStates ,  storm : : storage : : BitVector  const &  psiStates )  {  
			
		
	
		
			
				
					    return  storm : : utility : : graph : : performProb01Max ( model ,  phiStates ,  psiStates ) ;  
			
		
	
		
			
				
					}  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					// Define python bindings
  
			
		
	
		
			
				
					void  define_modelchecking ( py : : module &  m )  {  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					    // Model checking
  
			
		
	
		
			
				
					    m . def ( " _model_checking " ,  & modelChecking ,  " Perform model checking " ,  py : : arg ( " model " ) ,  py : : arg ( " formula " ) ) ;  
			
		
	
		
			
				
					    m . def ( " _parametric_model_checking " ,  & parametricModelChecking ,  " Perform parametric model checking " ,  py : : arg ( " model " ) ,  py : : arg ( " formula " ) ) ;  
			
		
	
		
			
				
					    m . def ( " compute_prob01states " ,  & computeProb01 ,  " Compute prob-0-1 states " ,  py : : arg ( " model " ) ,  py : : arg ( " phi_states " ) ,  py : : arg ( " psi_states " ) ) ;  
			
		
	
		
			
				
					    m . def ( " _compute_prob01states_double " ,  & computeProb01 < double > ,  " Compute prob-0-1 states " ,  py : : arg ( " model " ) ,  py : : arg ( " phi_states " ) ,  py : : arg ( " psi_states " ) ) ;  
			
		
	
		
			
				
					    m . def ( " _compute_prob01states_rationalfunc " ,  & computeProb01 < storm : : RationalFunction > ,  " Compute prob-0-1 states " ,  py : : arg ( " model " ) ,  py : : arg ( " phi_states " ) ,  py : : arg ( " psi_states " ) ) ;  
			
		
	
		
			
				
					    m . def ( " _compute_prob01states_min_double " ,  & computeProb01min < double > ,  " Compute prob-0-1 states (min) " ,  py : : arg ( " model " ) ,  py : : arg ( " phi_states " ) ,  py : : arg ( " psi_states " ) ) ;  
			
		
	
		
			
				
					    m . def ( " _compute_prob01states_max_double " ,  & computeProb01max < double > ,  " Compute prob-0-1 states (max) " ,  py : : arg ( " model " ) ,  py : : arg ( " phi_states " ) ,  py : : arg ( " psi_states " ) ) ;  
			
		
	
		
			
				
					    m . def ( " _compute_prob01states_min_rationalfunc " ,  & computeProb01min < storm : : RationalFunction > ,  " Compute prob-0-1 states (min) " ,  py : : arg ( " model " ) ,  py : : arg ( " phi_states " ) ,  py : : arg ( " psi_states " ) ) ;  
			
		
	
		
			
				
					    m . def ( " _compute_prob01states_max_rationalfunc " ,  & computeProb01max < storm : : RationalFunction > ,  " Compute prob-0-1 states (max) " ,  py : : arg ( " model " ) ,  py : : arg ( " phi_states " ) ,  py : : arg ( " psi_states " ) ) ;  
			
		
	
		
			
				
					     
			
		
	
		
			
				
					}