A Language for Differentiable Functions

We introduce a typed lambda calculus in which real numbers, real functions, and in particular continuously differentiable and more generally Lipschitz functions can be defined. Given an expression representing a real-valued function of a real variable in this calculus, we are able to evaluate the expression on an argument but also evaluate the L-derivative of the expression on an argument. The language is an extension of PCF with a real number data-type but is equipped with primitives for min and weighted average to capture computable continuously differentiable or Lipschitz functions on real numbers. We present an operational semantics and a denotational semantics based on continuous Scott domains and several logical relations on these domains. We then prove an adequacy result for the two semantics. The denotational semantics also provides denotational semantics for Automatic Differentiation. We derive a definability result showing that for any computable Lipschitz function there is a closed term in the language whose evaluation on any real number coincides with the value of the function and whose derivative expression also evaluates on the argument to the value of the L-derivative of the function.

[1]  Timothy A. Davis,et al.  MATLAB Primer , 1994 .

[2]  Abbas Edalat,et al.  Domain theory and differential calculus (functions of one variable) , 2004, Math. Struct. Comput. Sci..

[3]  Marian Boykan Pour-El,et al.  Computability in analysis and physics , 1989, Perspectives in Mathematical Logic.

[4]  G. Lebourg,et al.  Generic differentiability of Lipschitzian functions , 1979 .

[5]  Abbas Edalat,et al.  A Computational Model for Multi-variable Differential Calculus , 2005, FoSSaCS.

[6]  John C. Mitchell,et al.  Foundations for programming languages , 1996, Foundation of computing series.

[7]  Andreas Griewank,et al.  Evaluating derivatives - principles and techniques of algorithmic differentiation, Second Edition , 2000, Frontiers in applied mathematics.

[8]  Laurent Regnier,et al.  The differential lambda-calculus , 2003, Theor. Comput. Sci..

[9]  Martín Hötzel Escardó,et al.  A universal characterization of the closed Euclidean interval , 2001, Proceedings 16th Annual IEEE Symposium on Logic in Computer Science.

[10]  Klaus Weihrauch,et al.  Computable Analysis: An Introduction , 2014, Texts in Theoretical Computer Science. An EATCS Series.

[11]  E. Coddington,et al.  Theory of Ordinary Differential Equations , 1955 .

[12]  Abbas Edalat A differential operator and weak topology for Lipschitz maps , 2010 .

[13]  Abbas Edalat A Continuous Derivative for Real-Valued Functions , 2007, CiE.

[14]  Oleksandr Manzyuk A Simply Typed λ-Calculus of Forward Automatic Differentiation , 2012, MFPS.

[15]  Abbas Edalat,et al.  Integration in Real PCF , 2000, Inf. Comput..

[16]  Andrea Sorbi,et al.  New Computational Paradigms: Changing Conceptions of What is Computable , 2007 .

[17]  Pietro Di Gianantonio An Abstract Data Type for Real Numbers , 1999, Theor. Comput. Sci..

[18]  F. Clarke Optimization And Nonsmooth Analysis , 1983 .

[19]  Abbas Edalat,et al.  Semantics of exact real arithmetic , 1997, Proceedings of Twelfth Annual IEEE Symposium on Logic in Computer Science.

[20]  Martín Hötzel Escardó,et al.  PCF Extended with Real Numbers , 1996, Theor. Comput. Sci..