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

TL;DR
This paper explores three projects applying proof assistants to programming language theory and mathematics, including certified compilation for financial contracts, formal reasoning with complex module systems, and implementing two-level type theory.
Contribution
It introduces novel formal techniques and implementations in Coq and Lean for financial contracts, module systems, and two-level type theory, advancing proof assistant applications.
Findings
Certified compilation of financial contracts with formal correctness proofs
Formal reasoning techniques for nested and mutually inductive structures in Coq
Implementation of two-level type theory in Lean with applications to inverse diagrams
Abstract
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 accompanied with formal proofs of correctness carried out in Coq. The second project presents techniques that allow for formal reasoning with nested and mutually inductive structures built up from finite maps and sets. The techniques, which build on the theory of nominal sets combined with the ability to work with isomorphic representations of finite maps, make it possible to give a formal treatment, in…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, programming, and type systems · Computability, Logic, AI Algorithms · Economic theories and models
