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

    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 #

      Partial dual evaluator that supports domain-checked functions. 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.

      The total and computable dual evaluators support tanh, but this Option-returning evaluator deliberately keeps tanh disabled until the evalDual?-specific value/differentiability/derivative correctness path is wired for that constructor.

      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