A Language for Differentiable Functions

  • Pietro Di Gianantonio
  • Abbas Edalat
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7794)


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.


Lipschitz Function Operational Semantic Logical Relation Closure Property Reduction Rule 
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.


  1. 1.
    Bishop, E., Bridges, D.: Constructive Analysis. Springer (1985)Google Scholar
  2. 2.
    Clarke, F.H.: Optimization and Nonsmooth Analysis. Wiley (1983)Google Scholar
  3. 3.
    Coddington, E.A., Levinson, N.: Theory of Ordinary Differential Equations. McGraw Hill (1955)Google Scholar
  4. 4.
    Davis, T.A., Sigmon, K.: MATLAB Primer, 7th edn. CRC Press (2005)Google Scholar
  5. 5.
    Di Gianantonio, P.: An abstract data type for real numbers. Theoretical Computer Science 221, 295–326 (1999)MathSciNetzbMATHCrossRefGoogle Scholar
  6. 6.
    Edalat, A.: A continuous derivative for real-valued functions. In: New Computational Paradigms, Changing Conceptions of What is Computable, pp. 493–519. Springer (2008)Google Scholar
  7. 7.
    Edalat, A., Escardó, M.: Integration in real PCF. Information and Computation 160, 128–166 (2000)MathSciNetzbMATHCrossRefGoogle Scholar
  8. 8.
    Edalat, A., Lieutier, A.: Domain theory and differential calculus (functions of one variable). Mathematical Structures in Computer Science 14(6), 771–802 (2004)MathSciNetzbMATHCrossRefGoogle Scholar
  9. 9.
    Edalat, A., Lieutier, A., Pattinson, D.: A computational model for multi-variable differential calculus. Information and Computation 224, 22–45 (2013)MathSciNetCrossRefGoogle Scholar
  10. 10.
    Ehrhard, T., Regnier, L.: The differential lambda-calculus. Theoretical Computer Science 309 (2003)Google Scholar
  11. 11.
    Escardó, M.: PCF extended with real numbers. Theoretical Computer Science 162(1), 79–115 (1996)MathSciNetzbMATHCrossRefGoogle Scholar
  12. 12.
    Escardó, M., Simpson, A.: A universal characterization of the closed Euclidean interval. In: LICS, pp. 115–125. IEEE Computer Society (2001)Google Scholar
  13. 13.
    Di Gianantonio, P., Edalat, A.: A language for differentiable functions (extended version),
  14. 14.
    Griewank, A., Walther, A.: Evaluating Derivatives: Principles and Techniques of Algorithmic Differentiation, 2nd edn. SIAM (2008)Google Scholar
  15. 15.
  16. 16.
    Ko, K.: Complexity Theory of Real Numbers. Birkhäuser (1991)Google Scholar
  17. 17.
    Manzyuk, O.: A simply typed -calculus of forward automatic differentiation. Electr. Notes Theor. Comput. Sci. 286, 257–272 (2012)CrossRefGoogle Scholar
  18. 18.
    Mitchell, J.C.: Foundations of Programming Languages. MIT Press (1996)Google Scholar
  19. 19.
    Potts, P., Edalat, A., Escardó, M.: Semantics of exact real arithmetic. In: LICS, pp. 248–257 (1997)Google Scholar
  20. 20.
    Pour-El, M.B., Richards, J.I.: Computability in Analysis and Physics. Springer (1988)Google Scholar
  21. 21.
    Weihrauch, K.: Computable Analysis (An Introduction). Springer (2000)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Pietro Di Gianantonio
    • 1
  • Abbas Edalat
    • 2
  1. 1.Dip. di Matematica e InformaticaUniversità di UdineUdineItaly
  2. 2.Department of ComputingImperial College LondonUK

Personalised recommendations