TorchLean API

NN.MLTheory.CROWN.Lyapunov.Verification

Consequences of valid Lyapunov bounds #

This module derives Lyapunov inequalities from a certificate whose bounds have already been proved valid for the stated functions.

Design:

The bottom portion specializes to so that strict inequalities like V_lo > 0 ⟹ V(x) > 0 can be discharged by simple order transitivity (0 < V_lo and V_lo ≤ V(x)).

theorem NN.MLTheory.CROWN.Lyapunov.v_bounded_below {α : Type} [Context α] {n : } (lyap : NeuralLyapunov α n) (cert : LyapunovCert α n) (hcert : cert.ValidFor lyap) (x : Spec.Tensor α (Spec.Shape.dim n Spec.Shape.scalar)) (hx : cert.region.contains x) :
lyap.value x cert.vLower

V is bounded below on the certified region.

theorem NN.MLTheory.CROWN.Lyapunov.v_bounded_above {α : Type} [Context α] {n : } (lyap : NeuralLyapunov α n) (cert : LyapunovCert α n) (hcert : cert.ValidFor lyap) (x : Spec.Tensor α (Spec.Shape.dim n Spec.Shape.scalar)) (hx : cert.region.contains x) :
lyap.value x cert.vUpper

V is bounded above on the certified region.

theorem NN.MLTheory.CROWN.Lyapunov.vdot_bounded_below {α : Type} [Context α] {n : } (lyap : NeuralLyapunov α n) (cert : LyapunovCert α n) (hcert : cert.ValidFor lyap) (x : Spec.Tensor α (Spec.Shape.dim n Spec.Shape.scalar)) (hx : cert.region.contains x) :

is bounded below on the certified region.

theorem NN.MLTheory.CROWN.Lyapunov.vdot_bounded_above {α : Type} [Context α] {n : } (lyap : NeuralLyapunov α n) (cert : LyapunovCert α n) (hcert : cert.ValidFor lyap) (x : Spec.Tensor α (Spec.Shape.dim n Spec.Shape.scalar)) (hx : cert.region.contains x) :

is bounded above on the certified region.

theorem NN.MLTheory.CROWN.Lyapunov.quantitative_bounds {α : Type} [Context α] {n : } (lyap : NeuralLyapunov α n) (cert : LyapunovCert α n) (hcert : cert.ValidFor lyap) :

Quantitative bounds on V and Vdot over the certified region.

Specialization to ℝ #

For proofs involving strict positivity and negativity, we specialize to , whose linear order supports the required transitivity arguments.

Concrete real-valued certificate format for JSON/importer-facing workflows.

  • vLower :

    Lower bound for the Lyapunov candidate V.

  • vUpper :

    Upper bound for the Lyapunov candidate V.

  • derivativeLower :

    Lower bound for the orbital derivative Vdot.

  • derivativeUpper :

    Upper bound for the orbital derivative Vdot.

  • regionLower : Fin n

    Lower endpoint of the certified input region, componentwise.

  • regionUpper : Fin n

    Upper endpoint of the certified input region, componentwise.

Instances For

    Convert the importer-friendly RealCert record into the canonical LyapunovCert.

    Instances For
      theorem NN.MLTheory.CROWN.Lyapunov.Real.v_positive {n : } (lyap : NeuralLyapunov n) (cert : LyapunovCert n) (hcert : cert.ValidFor lyap) (h_pos : cert.vLower > 0) (x : Spec.Tensor (Spec.Shape.dim n Spec.Shape.scalar)) (hx : cert.region.contains x) :
      lyap.value x > 0

      For : V is positive when the certified lower bound is positive.

      theorem NN.MLTheory.CROWN.Lyapunov.Real.vdot_negative {n : } (lyap : NeuralLyapunov n) (cert : LyapunovCert n) (hcert : cert.ValidFor lyap) (h_neg : cert.derivativeUpper < 0) (x : Spec.Tensor (Spec.Shape.dim n Spec.Shape.scalar)) (hx : cert.region.contains x) :

      For : is negative when its certified upper bound is negative.

      theorem NN.MLTheory.CROWN.Lyapunov.Real.lyapunov_conditions {n : } (lyap : NeuralLyapunov n) (cert : LyapunovCert n) (hcert : cert.ValidFor lyap) (h_V_pos : cert.vLower > 0) (h_Vdot_neg : cert.derivativeUpper < 0) :

      Positivity and decay follow from valid strict certificate margins.