VNNLIB-style output specifications #
This module contains the benchmark-independent part of the VNN-COMP artifact boundary:
- an input box plus a disjunction-of-conjunctions output spec,
- a JSON loader for the compact
vnnlib_suite_v0_1export format, - the interval-box refutation check used by VNN-COMP style safety certificates.
Model-specific checkers, such as MNIST-FC, build a graph and output bounds. The arithmetic for interpreting the VNNLIB rows lives here.
One conjunction term mat * y <= rhs in a VNNLIB disjunction.
Instances For
A VNNLIB-style unsafe-region spec: a disjunction of conjunction terms.
Instances For
One exported VNN-COMP instance.
spec is a disjunction-of-conjunctions: each term is a conjunction mat * y <= rhs over the
network output vector y.
- id : Nat
Instance id copied from the exported suite JSON.
Lower bound for the input box.
Upper bound for the input box.
- spec : Spec
Unsafe output-region specification.
Instances For
Lower-bound one linear row, returning 0 when the row and interval dimensions do not match.
Use rowLowerBoundOnBox? at checker boundaries when mismatch must be reported explicitly.
Instances For
Check whether an unsafe VNNLIB spec is refuted by an output interval box.
The spec is a disjunction of conjunctions. To prove the unsafe region is empty, every disjunct must be refuted. For a conjunction, it is enough for one row lower bound to exceed its right-hand side.