Exact CROWN output-query checks #
Recompute affine bounds for dense/ReLU networks and prove strict or non-strict output inequalities over an input box. The arithmetic is rational; the conclusion uses TorchLean's existing real module semantics. Every transfer and final query check is proved here, with no external soundness premise.
Check all upper endpoints against zero, using strict inequalities when requested.
Instances For
Every accepted upper form is below zero throughout the real input box.
Affine bounds with their input and output dimensions checked by Lean.
- lo : MLTheory.CROWN.AffineVec ℚ n m
- hi : MLTheory.CROWN.AffineVec ℚ n m
Instances For
Instances For
The bounds enclose a value at a particular real input.
Instances For
Instances For
Bound each affine form over the original input box.
Instances For
Instances For
Instances For
Use the same linear and activation modules as ordinary TorchLean models.
Instances For
Replayed bounds enclose the whole network, not just individual certificate entries.
A conjunction of affine output inequalities, interpreted as weights * output + bias.
- network : Network n m
- input : MLTheory.CROWN.Box ℚ [n]
- numConstraints : ℕ
- inequalities : Spec.LinearSpec ℚ m self.numConstraints
- strict : Bool
Instances For
Reject reversed boxes and empty input, output, or query dimensions.
Instances For
An executable safety check; no externally supplied affine bounds are trusted.
Instances For
Every real input in the decoded box satisfies every decoded output inequality.