Documentation

LeanCert.Validity.Bounds.Checked

Checked Bounds for Partial Operations #

This module provides checkers and theorems for expressions that may contain inverse-like operations (inv, log, atan, arsinh, atanh) using evalInterval? which handles domain validation.

Main definitions #

Boolean Checkers #

Golden Theorems #

Bridge Theorems #

Boolean Checkers for arbitrary expressions #

NOTE: These are noncomputable because evalInterval? uses Real Taylor approximations. They cannot be used with native_decide. Use the verification theorems directly in term proofs or with explicit computation.

Check upper bound for arbitrary expressions. Returns true iff evalInterval?1 succeeds and the upper bound is ≤ c. NOTE: Noncomputable - cannot be used with native_decide.

Equations
Instances For

    Check lower bound for arbitrary expressions. Returns true iff evalInterval?1 succeeds and the lower bound is ≥ c. NOTE: Noncomputable - cannot be used with native_decide.

    Equations
    Instances For

      Check strict upper bound for arbitrary expressions. NOTE: Noncomputable - cannot be used with native_decide.

      Equations
      Instances For

        Check strict lower bound for arbitrary expressions. NOTE: Noncomputable - cannot be used with native_decide.

        Equations
        Instances For

          Golden Theorems for arbitrary expressions #

          theorem LeanCert.Validity.verify_upper_bound_checked (e : Core.Expr) (I : Core.IntervalRat) (c : ℚ) (h_cert : checkUpperBoundChecked e I c = true) (x : ℝ) :
          x ∈ I → Core.Expr.eval (fun (x_1 : ℕ) => x) e ≤ ↑c

          Verification theorem for upper bounds with arbitrary expressions.

          theorem LeanCert.Validity.verify_lower_bound_checked (e : Core.Expr) (I : Core.IntervalRat) (c : ℚ) (h_cert : checkLowerBoundChecked e I c = true) (x : ℝ) :
          x ∈ I → ↑c ≤ Core.Expr.eval (fun (x_1 : ℕ) => x) e

          Verification theorem for lower bounds with arbitrary expressions.

          theorem LeanCert.Validity.verify_strict_upper_bound_checked (e : Core.Expr) (I : Core.IntervalRat) (c : ℚ) (h_cert : checkStrictUpperBoundChecked e I c = true) (x : ℝ) :
          x ∈ I → Core.Expr.eval (fun (x_1 : ℕ) => x) e < ↑c

          Verification theorem for strict upper bounds with arbitrary expressions.

          theorem LeanCert.Validity.verify_strict_lower_bound_checked (e : Core.Expr) (I : Core.IntervalRat) (c : ℚ) (h_cert : checkStrictLowerBoundChecked e I c = true) (x : ℝ) :
          x ∈ I → ↑c < Core.Expr.eval (fun (x_1 : ℕ) => x) e

          Verification theorem for strict lower bounds with arbitrary expressions.

          Set.Icc Bridge Theorems for arbitrary expressions #

          theorem LeanCert.Validity.verify_upper_bound_Icc_checked (e : Core.Expr) (lo hi : ℚ) (hle : lo ≤ hi) (c : ℚ) (h_cert : checkUpperBoundChecked e { lo := lo, hi := hi, le := hle } c = true) (x : ℝ) :
          x ∈ Set.Icc ↑lo ↑hi → Core.Expr.eval (fun (x_1 : ℕ) => x) e ≤ ↑c

          Bridge theorem for Set.Icc upper bounds with arbitrary expressions.

          theorem LeanCert.Validity.verify_lower_bound_Icc_checked (e : Core.Expr) (lo hi : ℚ) (hle : lo ≤ hi) (c : ℚ) (h_cert : checkLowerBoundChecked e { lo := lo, hi := hi, le := hle } c = true) (x : ℝ) :
          x ∈ Set.Icc ↑lo ↑hi → ↑c ≤ Core.Expr.eval (fun (x_1 : ℕ) => x) e

          Bridge theorem for Set.Icc lower bounds with arbitrary expressions.

          theorem LeanCert.Validity.verify_strict_upper_bound_Icc_checked (e : Core.Expr) (lo hi : ℚ) (hle : lo ≤ hi) (c : ℚ) (h_cert : checkStrictUpperBoundChecked e { lo := lo, hi := hi, le := hle } c = true) (x : ℝ) :
          x ∈ Set.Icc ↑lo ↑hi → Core.Expr.eval (fun (x_1 : ℕ) => x) e < ↑c

          Bridge theorem for Set.Icc strict upper bounds with arbitrary expressions.

          theorem LeanCert.Validity.verify_strict_lower_bound_Icc_checked (e : Core.Expr) (lo hi : ℚ) (hle : lo ≤ hi) (c : ℚ) (h_cert : checkStrictLowerBoundChecked e { lo := lo, hi := hi, le := hle } c = true) (x : ℝ) :
          x ∈ Set.Icc ↑lo ↑hi → ↑c < Core.Expr.eval (fun (x_1 : ℕ) => x) e

          Bridge theorem for Set.Icc strict lower bounds with arbitrary expressions.