Formal verification for OCaml, with Rocq
rocq-of-ocaml is a formal verification tool that translates OCaml programs into Rocq code to enable proving properties about OCaml programs at scale. The project is built in OCaml and uses Merlin for understanding code dependencies, allowing developers to verify properties ranging from invariant preservation to backward compatibility. The tool is particularly notable for its use in formally verifying the core protocol of the cryptocurrency Tezos, which comprises 100,000 lines of OCaml with 80% of files having at least one formally verified property. While rocq-of-ocaml supports most of OCaml's core features including functions, pattern-matching, type definitions, monadic programs, and modules, it does not support side-effects outside of monads or object-oriented programming.