• Corpus ID: 53808749

Adventures in Formalisation: Financial Contracts, Modules, and Two-Level Type Theory

  title={Adventures in Formalisation: Financial Contracts, Modules, and Two-Level Type Theory},
  author={D. Annenkov},
  • D. Annenkov
  • Published 28 November 2018
  • Computer Science
  • ArXiv
We present three projects concerned with applications of proof assistants in the area of programming language theory and mathematics. The first project is about a certified compilation technique for a domain-specific programming language for financial contracts (the CL language). The code in CL is translated into a simple expression language well-suited for integration with software components implementing Monte Carlo simulation techniques (pricing engines). The compilation procedure is… 
1 Citations
High-Performance Defunctionalisation in Futhark
This paper presents a defunctionalisation transformation that relies on type-based restrictions on the use of expressions of functional type, such that it can completely eliminate higher-order functions in all cases, without introducing any branching.


Certified symbolic management of financial multi-party contracts
This paper presents a multi-party contract language that rigorously relegates any artefacts of simulation and computation from its core, which leads to favourable algebraic properties, and therefore allows for formalising domain-specific analyses and transformations using a proof assistant.
Certified Programming with Dependent Types - A Pragmatic Introduction to the Coq Proof Assistant
This book provides an introduction to the Coq software for writing and checking mathematical proofs, with a practical engineering focus throughout, emphasizing techniques that will help users to build, understand, and maintain large Coq developments and minimize the cost of code change over time.
Algebraic specification of a language for describing financial products
The use of fonnal methods and supporting tools during the development of a language applied in a banking environment, called RISLA, which is used to define the nature of the interest products offered by a bank is reported on.
Compositional specification of commercial contracts
A declarative language for compositional specification of contracts governing the exchange of resources that supports definition of user-defined contracts, automatic monitoring under execution and user-definable analysis of their state before, during and after execution.
A type-theoretic interpretation of standard ML
Robin Milner's work on ML culminated in his ambitious proposal for Standard ML that sought to extend ML to a full-scale programming language supporting functional and imperative programming and an expressive module system and provided a precise de nition of the static and dynamic semantics in a uniform relational framework.
Towards a practical programming language based on dependent type theory
Dependent type theories have a long history of being used for theorem proving. One aspect of type theory which makes it very powerful as a proof language is that it mixes deduction with computation.
Constructive Representation of Nominal Sets in Agda
The theory of nominal sets provide a mathematical analysis of names that is based upon symmetry. It formalizes the informal reasoning we employ while working with languages involving name binding
System Description: Twelf - A Meta-Logical Framework for Deductive Systems
Twelf is a meta-logical framework for the specification, implementation, and meta-theory of deductive systems from the theory of programming languages and logics and is a significant extension and complete reimplementation of the Elf system.
Nominal Reasoning Techniques in Coq: (Extended Abstract)
An axiomatized nominal approach to variable binding in Coq, using an untyped lambda-calculus as a test case and developing a method of generating axioms and their proof of soundness from a grammar describing the syntax of terms and binding.
Composing contracts: an adventure in financial engineering (functional pearl)
A combinator library that allows us to describe financial and insurance contracts precisely, and a compositional denotational semantics that says what such contracts are worth.