Skip to content

Commit 2e5e5d0

Browse files
authored
Update README.md
1 parent 404cd2a commit 2e5e5d0

File tree

1 file changed

+16
-6
lines changed

1 file changed

+16
-6
lines changed

README.md

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,21 @@
22

33
Noir is a Domain Specific Language for SNARK proving systems. With `coq-of-noir`, we provide an **affordable way to formally verify smart contracts written in Noir**. We rely on the well-known proof assistant [Coq](https://coq.inria.fr/) for the verification work as well proof techniques developed for [coq-of-rust](https://github.com/formal-land/coq-of-rust) and [coq-of-solidity](https://github.com/formal-land/coq-of-solidity).
44

5-
## Status
5+
## 🏎️ Run
66

7-
This is still a work in progress. Contact us at [contact@formal.land](mailto:contact@formal.land) or by direct message on our [X account](https://x.com/FormalLand) if you are interested.
7+
Follow what we do in our CI file [coq.yml](.github/workflows/coq.yml). Sorry for not having the time to provide more explanations!
88

9-
## Goal and Vision
9+
## ✅ What Works
10+
11+
The following steps work:
12+
13+
- A generated translation of the `base64` library of Noir to Coq in a code that compiles; we should thus support a large part of the Noir language.
14+
- Semantics rules to reason on code like the above together with a proof strategy. This should already cover most of the Noir language.
15+
- A formally verified functional specification of one of the functions with a loop from the `base64` library, exercising mutations and array access. We consider this to be our main test to see that `coq-of-noir` can work on non-trivial examples.
16+
17+
Note that the proof process is still very verbose, and this tool is still a work in progress. Contact us at [contact@formal.land](mailto:contact@formal.land) or by direct message on our [X account](https://x.com/FormalLand) if you are interested.
18+
19+
## 🔭 Goal and Vision
1020

1121
The goal is to enable each team developing critical applications (meaning handling user money) to verify the correctness of their code with the higest degree of certainty thanks to **formal verification**.
1222

@@ -20,13 +30,13 @@ Our initial target is to verify a part of the [base64](https://github.com/noir-l
2030

2131
_If you have a Noir project that you want to formally verify, either start using `coq-of-noir` or contact us!_
2232

23-
## Blog posts
33+
## 📚 Blog posts
2434

2535
Here are some blog posts featuring this tool:
2636

2737
- [◼️ A formal verification tool for Noir – 1](https://formal.land/blog/2024/11/01/tool-for-noir-1)
2838
- [◼️ A formal verification tool for Noir – 2](https://formal.land/blog/2024/11/15/tool-for-noir-2)
2939

30-
## License
40+
## ⚖️ License
3141

32-
`coq-of-noir` is free and open source. It is distributed under a dual license. (MIT/APACHE) The translation phase is based on the code of the Noir compiler to maximize code reuse.
42+
`coq-of-noir` is free and **open source**. It is distributed under a dual license. (MIT/APACHE) The translation phase is based on the code of the Noir compiler to maximize code reuse.

0 commit comments

Comments
 (0)