Automatic Differentiation via Intervals #
This module provides forward-mode automatic differentiation using interval arithmetic. We compute both the value and derivative of an expression, with rigorous bounds on both.
Module Structure #
AD.Basic- Core types:DualInterval, basic operations (add,mul,neg)AD.Transcendental- Transcendental functions (sin,cos,exp, etc.)AD.Eval- Evaluators:evalDual,evalDual?,derivIntervalAD.Correctness- Correctness theorems for supported expressionsAD.PartialCorrectness- Correctness for partial functions (inv, log, sqrt)AD.Computable- Taylor-based computable evaluators
Main definitions #
DualInterval- A pair of intervals representing (value, derivative)evalDual- Evaluate expression to get value and derivative intervalsevalDual?- Partial evaluator supporting inv, log, sqrtevalDualCore- Computable evaluator for native_decide
Main theorems #
evalDual_val_correct- Value component is correct for supported expressionsevalDual_der_correct- Derivative component is correct for supported expressionsevalDual?_val_correct,evalDual?_der_correct- Correctness with domain checksevalDualCore_val_correct,evalDualCore_der_correct- Computable correctness
All theorems are FULLY PROVED with no sorry or axioms.