Documentation

LeanCert.Engine.AD.Eval

Automatic Differentiation - Evaluators #

This file provides the evaluation functions for automatic differentiation, mapping expressions to dual intervals.

Main definitions #

Dual evaluation #

@[reducible, inline]

Environment for dual evaluation

Equations
Instances For
    noncomputable def LeanCert.Engine.evalDual (e : Core.Expr) (ρ : DualEnv) :

    Evaluate expression in dual interval mode.

    For supported expressions (const, var, add, mul, neg, sin, cos, exp), this computes correct dual interval bounds with a fully-verified proof.

    For unsupported expressions (inv, log), returns a default interval. Do not rely on results for expressions containing inv or log. Use evalDual? for partial functions like inv and log.

    Equations
    Instances For

      Partial dual evaluation (supports inv) #

      Partial dual evaluator that supports inv and log. Returns none if any domain error would occur:

      • inv of an interval containing zero
      • log of an interval not strictly positive When it returns some, the result is guaranteed to be correct.

      This is the Option-returning version that safely handles expressions with inv and log.

      Equations
      Instances For

        Single-variable version of evalDual?

        Equations
        Instances For

          Single variable differentiation #

          Create dual environment for differentiating with respect to variable idx

          Equations
          Instances For
            noncomputable def LeanCert.Engine.evalWithDeriv (e : Core.Expr) (ρ : IntervalEnv) (idx : ) :

            Evaluate and differentiate with respect to variable idx

            Equations
            Instances For

              Get just the derivative interval

              Equations
              Instances For

                Evaluate and differentiate a single-variable expression

                Equations
                Instances For