Verifying rich robustness properties for neural networks