vix.ing · top · new · best · stats

ConCert: A Smart Contract Certification Framework in Coq

2019/07/31 by Danil Annenkov, Jakob Botsch Nielsen, Bas Spitters · 1 citation
Computer Science · #cs.PL #cs.LO

paper · pdf · doi:10.1145/3372885.3373829

published as CPP 2020: Proceedings of the 9th ACM SIGPLAN International Conference on Certified Programs and Proofs, January 2020, Pages 215-228 · Extended the related work section. Significantly extended sections on translation and semantics. Added more examples and details about the formalisation. Commented of unquote and the trusted computing base. Commented on adequacy

arxiv created 2019/12/20 · arxiv updated 2020/02/05

Abstract

We present a new way of embedding functional languages into the Coq proof assistant by using meta-programming. This allows us to develop the meta-theory of the language using the deep embedding and provides a convenient way for reasoning about concrete programs using the shallow embedding. We connect the deep and the shallow embeddings by a soundness theorem. As an instance of our approach, we develop an embedding of a core smart contract language into Coq and verify several important properties of a crowdfunding contract based on a previous formalisation of smart contract execution in blockchains.

Cited by