  Neural network controllers (NNCs) have shown great promise in autonomous and
cyber-physical systems. Despite the various verification approaches for neural
networks, the safety analysis of NNCs remains an open problem. Existing
verification approaches for neural network control systems (NNCSs) either can
only work on a limited type of activation functions, or result in non-trivial
over-approximation errors with time evolving. This paper proposes a
verification framework for NNCS based on Lipschitzian optimisation, called
DeepNNC. We first prove the Lipschitz continuity of closed-loop NNCSs by
unrolling and eliminating the loops. We then reveal the working principles of
applying Lipschitzian optimisation on NNCS verification and illustrate it by
verifying an adaptive cruise control model. Compared to state-of-the-art
verification approaches, DeepNNC shows superior performance in terms of
efficiency and accuracy over a wide range of NNCs. We also provide a case study
to demonstrate the capability of DeepNNC to handle a real-world, practical, and
complex system. Our tool \textbf{DeepNNC} is available at
\url{https://github.com/TrustAI/DeepNNC}.
