Interval arithmetic lemmas (ℝ) #
This file provides foundational lemmas for interval arithmetic operations used in CROWN/LiRPA bound propagation soundness proofs.
It is primarily intended as a small toolbox for proof scripts and examples; it lives under
NN/MLTheory/CROWN/Extras/ to keep the main CROWN modules focused on the bound propagation API.
Basic Interval Membership #
A value is in an interval [lo, hi]
Instances For
Addition Interval Soundness #
If x ∈ [a,b] and y ∈ [c,d], then x + y ∈ [a+c, b+d]
Subtraction Interval Soundness #
If x ∈ [a,b] and y ∈ [c,d], then x - y ∈ [a-d, b-c]
Multiplication Interval Soundness #
Helper: minimum of four values
Instances For
Helper: maximum of four values
Instances For
For multiplication, the interval is [min(ac,ad,bc,bd), max(ac,ad,bc,bd)].
The proof requires 9-case analysis based on signs of interval endpoints:
- a >= 0, c >= 0: min=ac, max=bd
- a >= 0, c < 0 <= d: min=bc, max=bd
- a >= 0, d < 0: min=bc, max=ad
- a < 0 <= b, c >= 0: min=ad, max=bd
- a < 0 <= b, c < 0 <= d: min=min(ad,bc), max=max(ac,bd)
- a < 0 <= b, d < 0: min=bc, max=ac
- b < 0, c >= 0: min=ad, max=bc
- b < 0, c < 0 <= d: min=ad, max=ac
- b < 0, d < 0: min=bd, max=ac
The key insight is that extrema of the bilinear function x*y over a rectangle [a,b] x [c,d] occur at the corners.
ReLU Interval Soundness #
ReLU interval: if x ∈ [l, u], then relu(x) ∈ [max(0,l), max(0,u)]
Square Interval Soundness #
Square is non-negative
Minimum square in an interval
Instances For
Maximum square in an interval
Instances For
Square interval soundness: if x ∈ [l, u], then x² ∈ [minSq, maxSq]
Negation Interval #
Negation flips and swaps the interval: -[a,b] = [-b, -a]