Vehicle: Interfacing Neural Network Verifiers with Interactive Theorem Provers

02/10/2022
by   Matthew L. Daggitt, et al.
0

Verification of neural networks is currently a hot topic in automated theorem proving. Progress has been rapid and there are now a wide range of tools available that can verify properties of networks with hundreds of thousands of nodes. In theory this opens the door to the verification of larger control systems that make use of neural network components. However, although work has managed to incorporate the results of these verifiers to prove larger properties of individual systems, there is currently no general methodology for bridging the gap between verifiers and interactive theorem provers (ITPs). In this paper we present Vehicle, our solution to this problem. Vehicle is equipped with an expressive domain specific language for stating neural network specifications which can be compiled to both verifiers and ITPs. It overcomes previous issues with maintainability and scalability in similar ITP formalisations by using a standard ONNX file as the single canonical representation of the network. We demonstrate its utility by using it to connect the neural network verifier Marabou to Agda and then formally verifying that a car steered by a neural network never leaves the road, even in the face of an unpredictable cross wind and imperfect sensors. The network has over 20,000 nodes, and therefore this proof represents an improvement of 3 orders of magnitude over prior proofs about neural network enhanced systems in ITPs.

READ FULL TEXT
research
07/21/2022

CheckINN: Wide Range Neural Network Verification in Imandra (Extended)

Neural networks are increasingly relied upon as components of complex sa...
research
07/08/2019

APML: An Architecture Proof Modeling Language

To address the increasing size and complexity of modern software systems...
research
01/30/2023

Formalizing Piecewise Affine Activation Functions of Neural Networks in Coq

Verification of neural networks relies on activation functions being pie...
research
04/05/2023

Verifying Quantum Phase Estimation (QPE) using Prove-It

The general-purpose interactive theorem-proving assistant called Prove-I...
research
09/07/2023

NeuroCodeBench: a plain C neural network benchmark for software verification

Safety-critical systems with neural network components require strong gu...
research
10/16/2021

Voting Theory in the Lean Theorem Prover

There is a long tradition of fruitful interaction between logic and soci...
research
10/10/2018

Formalising Filesystems in the ACL2 Theorem Prover: an Application to FAT32

In this work, we present an approach towards constructing executable spe...

Please sign up or login with your details

Forgot password? Click here to reset