
Differential Logical Relations, Part I: The SimplyTyped Case (Long Version)
We introduce a new form of logical relation which, in the spirit of metr...
read it

Higher Order Automatic Differentiation of Higher Order Functions
We present semantic correctness proofs of automatic differentiation (AD)...
read it

A syntactic approach to continuity of Tdefinable functionals
We give a new proof of the wellknown fact that all functions (N→N) →N w...
read it

Frege's theory of types
There is a widespread assumption in type theory that the discipline begi...
read it

A unifying framework for continuity and complexity in higher types
We set up a parametrised monadic translation for a class of callbyvalu...
read it

Logical Relations as Types: ProofRelevant Parametricity for Program Modules
The theory of program modules is of interest to language designers not o...
read it

Denotational recurrence extraction for amortized analysis
A typical way of analyzing the time complexity of functional programs is...
read it
On the Versatility of Open Logical Relations: Continuity, Automatic Differentiation, and a Containment Theorem
Logical relations are one of the most powerful techniques in the theory of programming languages, and have been used extensively for proving properties of a variety of higherorder calculi. However, there are properties that cannot be immediately proved by means of logical relations, for instance program continuity and differentiability in higherorder languages extended with realvalued functions. Informally, the problem stems from the fact that these properties are naturally expressed on terms of nonground type (or, equivalently, on open terms of base type), and there is no apparent good definition for a base case (i.e. for closed terms of ground types). To overcome this issue, we study a generalization of the concept of a logical relation, called open logical relation, and prove that it can be fruitfully applied in several contexts in which the property of interest is about expressions of firstorder type. Our setting is a simplytyped λcalculus enriched with real numbers and realvalued firstorder functions from a given set, such as the one of continuous or differentiable functions. We first prove a containment theorem stating that for any such a collection of functions including projection functions and closed under function composition, any welltyped term of firstorder type denotes a function belonging to that collection. Then, we show by way of open logical relations the correctness of the core of a recently published algorithm for forward automatic differentiation. Finally, we define a refinementbased type system for local continuity in an extension of our calculus with conditionals, and prove the soundness of the type system using open logical relations.
READ FULL TEXT
Comments
There are no comments yet.