Abstract
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.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Bishop, E., Bridges, D.: Constructive Analysis. Springer (1985)
Clarke, F.H.: Optimization and Nonsmooth Analysis. Wiley (1983)
Coddington, E.A., Levinson, N.: Theory of Ordinary Differential Equations. McGraw Hill (1955)
Davis, T.A., Sigmon, K.: MATLAB Primer, 7th edn. CRC Press (2005)
Di Gianantonio, P.: An abstract data type for real numbers. Theoretical Computer Science 221, 295–326 (1999)
Edalat, A.: A continuous derivative for real-valued functions. In: New Computational Paradigms, Changing Conceptions of What is Computable, pp. 493–519. Springer (2008)
Edalat, A., Escardó, M.: Integration in real PCF. Information and Computation 160, 128–166 (2000)
Edalat, A., Lieutier, A.: Domain theory and differential calculus (functions of one variable). Mathematical Structures in Computer Science 14(6), 771–802 (2004)
Edalat, A., Lieutier, A., Pattinson, D.: A computational model for multi-variable differential calculus. Information and Computation 224, 22–45 (2013)
Ehrhard, T., Regnier, L.: The differential lambda-calculus. Theoretical Computer Science 309 (2003)
Escardó, M.: PCF extended with real numbers. Theoretical Computer Science 162(1), 79–115 (1996)
Escardó, M., Simpson, A.: A universal characterization of the closed Euclidean interval. In: LICS, pp. 115–125. IEEE Computer Society (2001)
Di Gianantonio, P., Edalat, A.: A language for differentiable functions (extended version), http://www.dimi.uniud.it/pietro/papers/pcdf.pdf
Griewank, A., Walther, A.: Evaluating Derivatives: Principles and Techniques of Algorithmic Differentiation, 2nd edn. SIAM (2008)
Ko, K.: Complexity Theory of Real Numbers. Birkhäuser (1991)
Manzyuk, O.: A simply typed -calculus of forward automatic differentiation. Electr. Notes Theor. Comput. Sci. 286, 257–272 (2012)
Mitchell, J.C.: Foundations of Programming Languages. MIT Press (1996)
Potts, P., Edalat, A., Escardó, M.: Semantics of exact real arithmetic. In: LICS, pp. 248–257 (1997)
Pour-El, M.B., Richards, J.I.: Computability in Analysis and Physics. Springer (1988)
Weihrauch, K.: Computable Analysis (An Introduction). Springer (2000)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Di Gianantonio, P., Edalat, A. (2013). A Language for Differentiable Functions. In: Pfenning, F. (eds) Foundations of Software Science and Computation Structures. FoSSaCS 2013. Lecture Notes in Computer Science, vol 7794. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-37075-5_22
Download citation
DOI: https://doi.org/10.1007/978-3-642-37075-5_22
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-37074-8
Online ISBN: 978-3-642-37075-5
eBook Packages: Computer ScienceComputer Science (R0)