(self, prop)
Property Directed Reachability approach without optimizations.
Property Directed Reachability approach without optimizations.
Property Directed Reachability approach without optimizations .
def check_property(self, prop):
        """Property Directed Reachability approach without optimizations."""
        print("Checking property %s..." % prop)

        while True:
            cube = self.get_bad_state(prop)
            if cube is not None:
                # Blocking phase of a bad state
                if self.recursive_block(cube):
                    print("--> Bug found at step %d" % (len(self.frames)))
                    break
                else:
                    print("   [PDR] Cube blocked '%s'" % str(cube))
            else:
                # Checking if the last two frames are equivalent i.e., are inductive
                if self.inductive():
                    print("--> The system is safe!")
                    break
                else:
                    print("   [PDR] Adding frame %d..." % (len(self.frames)))
                    self.frames.append(TRUE())
def check_property ( self , prop ) : print ( "Checking property %s..." % prop ) while True : cube = self . get_bad_state ( prop ) if cube is not None : # Blocking phase of a bad state if self . recursive_block ( cube ) : print ( "--> Bug found at step %d" % ( len ( self . frames ) ) ) break else : print ( "   [PDR] Cube blocked '%s'" % str ( cube ) ) else : # Checking if the last two frames are equivalent i.e., are inductive if self . inductive ( ) : print ( "--> The system is safe!" ) break else : print ( "   [PDR] Adding frame %d..." % ( len ( self . frames ) ) ) self . frames . append ( TRUE ( ) )