Set.Icc Bridge Theorems and Subdivision #
This module provides bridge theorems between IntervalRat-based proofs and Set.Icc goals, as well as subdivision theorems for combining bounds from interval partitions.
Main definitions #
Set.Icc Bridge Theorems #
verify_upper_bound_Icc- Bridge for upper bounds (smart version)verify_lower_bound_Icc- Bridge for lower bounds (smart version)verify_upper_bound_Icc_core- Bridge for upper bounds (core version)verify_lower_bound_Icc_core- Bridge for lower bounds (core version)verify_strict_upper_bound_Icc_core- Bridge for strict upper boundsverify_strict_lower_bound_Icc_core- Bridge for strict lower bounds
Subdivision Theorems #
verify_upper_bound_split- Combine upper bounds from two halvesverify_lower_bound_split- Combine lower bounds from two halvesverify_strict_upper_bound_split- Combine strict upper boundsverify_strict_lower_bound_split- Combine strict lower bounds
General Split Theorems #
verify_upper_bound_general_split- Combine from arbitrary split pointsverify_lower_bound_general_split- Combine from arbitrary split points
Set.Icc Bridge Theorems #
These theorems bridge between IntervalRat-based proofs and Set.Icc goals, allowing tactics to work with the more natural Set.Icc syntax.
Bridge from IntervalRat proof to Set.Icc upper bound goal
Bridge from IntervalRat proof to Set.Icc lower bound goal
Bridge from IntervalRat proof to Set.Icc upper bound goal (Core version). This version uses ExprSupportedCore and the basic checkUpperBound (no monotonicity).
Bridge from IntervalRat proof to Set.Icc lower bound goal (Core version). This version uses ExprSupportedCore and the basic checkLowerBound (no monotonicity).
Bridge from IntervalRat proof to Set.Icc strict upper bound goal (Core version).
Bridge from IntervalRat proof to Set.Icc strict lower bound goal (Core version).
Subdivision Theorems #
These theorems allow combining bounds from interval subdivisions. When interval arithmetic gives overly wide bounds, subdividing the domain and proving bounds on each piece can help.
Combine upper bounds from two halves using splitMid. If f ≤ c on both halves, then f ≤ c on the whole interval.
Combine lower bounds from two halves using splitMid.
Combine strict upper bounds from two halves.
Combine strict lower bounds from two halves.
Bridge from subdivision to Set.Icc upper bound goal.
Bridge from subdivision to Set.Icc lower bound goal.
Bridge from subdivision to Set.Icc strict upper bound goal.
Bridge from subdivision to Set.Icc strict lower bound goal.
General Split Theorems #
These theorems work with arbitrary split points, not just midpoints. Useful for adaptive subdivision algorithms.
Combine already-certified upper bounds on adjacent intervals. Unlike the checker-specific theorem below, this supports recursive subdivision proofs.
Combine already-certified lower bounds on adjacent intervals.
Combine already-certified strict upper bounds on adjacent intervals.
Combine already-certified strict lower bounds on adjacent intervals.
Combine upper bounds from two arbitrary adjacent intervals. If f ≤ c on [lo, mid] and f ≤ c on [mid, hi], then f ≤ c on [lo, hi].
Combine lower bounds from two arbitrary adjacent intervals.
Combine strict upper bounds from two arbitrary adjacent intervals.
Combine strict lower bounds from two arbitrary adjacent intervals.