Adding a New Verifier#
TODO. Sorry, this page is still in development. As an example, the implementation for the planet verifier can be seen here.
In general a verifier will subclass the Verifier
base class
and implement at least the methods
build_inputs(self, prop)
and parse_results(self, prop, results)
.
When verifying a property, the base verifier implementation simplifies the network,
and reduces the property to a set of properties with
hyper-rectangles in the input space
and a halfspace polytope in the output space.
Each property has methods to add a suffix to the network for reduction to robustness properties,
as well as a method to add a prefix that modifies the input domain
to be a unit hyper cube.