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.
Author supplied keywords
Cite
CITATION STYLE
Annenkov, D., Botsch Nielsen, J., & Spitters, B. (2020). ConCert: A smart contract certification framework in Coq. In CPP 2020 - Proceedings of the 9th ACM SIGPLAN International Conference on Certified Programs and Proofs, co-located with POPL 2020 (pp. 215–228). Association for Computing Machinery, Inc. https://doi.org/10.1145/3372885.3373829
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.