Skip to content

Formal verification for Rust ๐Ÿฆ€ by translation to Coq ๐Ÿ“

License

Notifications You must be signed in to change notification settings

InfiniteEchoes/coq-of-rust

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

coq-of-rust

Formal verification for Rust ๐Ÿฆ€ by translation to Coq ๐Ÿ“

Still a work in progress!

The translation works at the level of the HIR intermediate representation of Rust.

From the root of this repository, run:

cargo install --path lib/

Then in any Rust project, to generate a Crate.v file with the Coq translation of the crate:

cargo coq-of-rust

To run the tests (regenerate the Coq files that are acting as a reference):

cargo run --bin coq-of-rust -- translate --path examples-from-rust-book

There is a bit of code taken from the Creusot project, to make the Cargo command coq-of-rust and run the translation in the same context as Cargo.

About

Formal verification for Rust ๐Ÿฆ€ by translation to Coq ๐Ÿ“

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Coq 54.5%
  • Rust 45.5%