Creusot helps you prove your Rust code is correct
github.com
github.com
(Not specifically for Creusot)
Something like TLA+[1] and Quint[2] specifications can be verified for correctness using Apalache[3]. Then test the Rust code against the specifications using quint_connect.[4]
Verus encodes directly to SMT.
Creusot may gain some more automation perhaps from this approach.