A Rust verification tool
hax is a Rust verification tool built with OCaml that translates Rust code into formal verification backends. The tool works through a series of phases that sequentially transform Rust's internal typed representation into other representations, ultimately targeting backends like F*, Lean, and ProVerif. The project includes a web-based debugger for visualizing code transformations step-by-step, numerous internal utilities for code generation and phase management, and a collection of examples demonstrating extraction and formal verification of real-world algorithms like SHA-3, ChaCha20, and Barrett reduction.