Skip to main content

8 min read

In our project coq-of-rust we translate programs written in Rust to equivalent programs in the language of the proof system Coq馃悡, which will later allow us to formally verify them. Both Coq and Rust have many unique features, and there are many differences between them, so in the process of translation we need to treat the case of each language construction separately. In this post, we discuss how we translate the most complicated one: traits.

5 min read

We are diversifying ourselves to apply formal verification on 3锔忊儯 new languages with Solidity, Rust, and TypeScript. In this article we describe our approach. For these three languages, we translate the code to the proof system 馃悡Coq. We generate the cleanest馃Ъ possible output to simplify the formal verification馃搻 effort that comes after.

Formal verification is a way to ensure that a program follows its specification in馃挴% of cases thanks to the use of mathematical methods. It removes far more bugs and security issues than testing, and is necessary to deliver software of the highest quality馃拵.

2 min read

Here we recall some blog articles that we have written since this summer, on the formal verification of the protocol of Tezos. For this project, we are verifying a code base of around 100,000 lines of OCaml code. We automatically convert the OCaml code to the proof system Coq using the converter coq-of-ocaml. We then apply various proof techniques to make sure that the protocol of Tezos does not contain bugs.

4 min read


Our primary goal at FormalLand馃尣 is to make Tezos the first crypto-currency with a formally verified implementation. With formal verification, thanks to mathematical methods, we can check that a program behaves as expected for all possible inputs. Formal verification goes beyond what testing can do, as testing can only handle a finite amount of cases. That is critical as cryptocurrencies hold a large amount of money (around $3B for Tezos today). The current result of our verification project is available on Formal verification is also key to allowing Tezos to evolve constantly in a safe and backward compatible manner.

One min read

Recently, we added two new blog posts about the verification of the crypto-currency Tezos:

We also talked at the Lambda Lille Meetup (in French) to present our work on coq-of-ocaml for Tezos. A video on the Youtube channel of the Meetup should be available shortly. We thanks the organizers for hosting the talk.