SaaSHub helps you find the best software and product alternatives Learn more →
Top 23 Coq coq Projects
-
Project mention: Translation of the Rust's core and alloc crates to Coq for formal verification | news.ycombinator.com | 2024-05-15
You can write programs in Coq and extract them in OCaml with the `Extraction' command: https://coq.inria.fr/doc/v8.19/refman/addendum/extraction.ht...
This is used by compcert: https://compcert.org/
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
UniMath
This coq library aims to formalize a substantial body of mathematics using the univalent point of view.
-
magmide
A dependently-typed proof language intended to make provably correct bare metal code possible for working software engineers.
-
Verdi — a framework for implementing and formally verifying distributed systems (based on Coq).
-
-
coq-of-rust
Formal verification tool for Rust: check 100% of execution cases of your programs 🦀 to make applications with no bugs! ✈️ 🚀 ⚕️ 🏦
Project mention: Translation of the Rust's core and alloc crates to Coq for formal verification | news.ycombinator.com | 2024-05-15That's really impressive.
Automatic translation like this shifts the trust to the tool. coq-of-rust itself is written in Rust, not in Coq. The recursive nature is somewhat boggling, but I think a proof of its correctness could be done in much the same way as they do with the stdlib. To verify it, you'd use coq-of-rust to convert coq-of-rust to Coq. That translation is not trusted, because it was performed in Rust. You then undertake the process they describe in the article of proving equivalence between generated definitions and simpler hand-written definitions, which proofs are written in terms of. Once you prove that the generated Coq version of coq-of-coq translates Rust programs correctly, you use it to translate Rust coq-of-rust to Coq and compare the two. They should match. Since the current line count for coq-of-rust (specifically, lib/ [0]) is 6350 lines of Rust, this seems feasible.
It's a similar process to David A. Wheeler's “Countering Trusting Trust through Diverse Double-Compiling” (2009) [1], which circumvents Ken Thompson's Trusting Trusting attack by using a second compiler.
As an aside, it's nice to see industry funding for work like this. I'm often cynical of cryptocurrency, but its correctness constraints really push for improvements in areas I like (Rust, Coq, funding for masters students I know, etc.).
[0]: https://github.com/formal-land/coq-of-rust/tree/main/lib
-
-
-
-
-
verdi-raft
An implementation of the Raft distributed consensus protocol, verified in Coq using the Verdi framework
-
Project mention: Show HN: I made a puzzle game and it gently introduces my fav math mysteries | news.ycombinator.com | 2024-06-20
Hi, my two cents; you claim "Although mathematicians believe their proof is correct, it is too complex to verify without computer assistance", but I'm not sure "believe" is the correct verb since the proof has been formally verified (see for instance https://github.com/coq-community/fourcolor for a formal verification in Coq).
I understand that you want to emphasize the fact that no human can understand the proof with a full overview, but I wonder whether the current sentence will not make people think mathematicians are not perfectly sure of the proof.
-
kami
A Platform for High-Level Parametric Hardware Specification and its Modular Verification (by mit-plv)
Project mention: Kami: A Platform for Hardware Specification and Verification | news.ycombinator.com | 2023-12-28 -
-
-
-
-
-
coq-library-undecidability
A library of mechanised undecidability proofs in the Coq proof assistant.
-
disel
Distributed Separation Logic: a framework for compositional verification of distributed protocols and their implementations in Coq
Diesel — a framework for implementation and compositional machine-assisted verification of distributed systems and their clients (based on Coq);
-
-
-
Coq coq discussion
Coq coq related posts
-
Show HN: I made a puzzle game and it gently introduces my fav math mysteries
-
Translation of the Rust's core and alloc crates to Coq for formal verification
-
So you think you know C?
-
Kami: A Platform for Hardware Specification and Verification
-
Can the language of proof assistants be used for general purpose programming?
-
A Taste of Coq and Correct Code by Construction
-
Will Computers Redefine the Roots of Math?
-
A note from our sponsor - SaaSHub
www.saashub.com | 11 Oct 2024
Index
What are some of the best open-source coq projects in Coq? This list will help you:
Project | Stars | |
---|---|---|
1 | CompCert | 1,864 |
2 | UniMath | 955 |
3 | magmide | 811 |
4 | verdi | 582 |
5 | math-comp | 576 |
6 | coq-of-rust | 404 |
7 | proofs | 291 |
8 | jasmin | 262 |
9 | Coq-Equations | 223 |
10 | analysis | 200 |
11 | verdi-raft | 182 |
12 | fourcolor | 160 |
13 | kami | 141 |
14 | koika | 139 |
15 | coq-serapi | 128 |
16 | ConCert | 114 |
17 | toychain | 111 |
18 | corn | 108 |
19 | coq-library-undecidability | 105 |
20 | disel | 94 |
21 | vericert | 86 |
22 | hs-to-coq | 77 |
23 | rupicola | 49 |