Creusot 0.14.0

2026-10-13 · 5min

We are pleased to announce the release of version 0.14.0 of Creusot, our formal verification tool for Rust.

In this post, we highlight a small selection of new features. See the full changelog for the rest.

What's new in Creusot?

Partial orders

Previously, Creusot restricted its specification of PartialOrd to total orders. Since version 0.13.0, we have relaxed it to allow partial orders. (We skipped a devlog entry for 0.13.0 so let's talk about this here.)

Our previous definition of total order (OrdLogic) relied on the comparison function cmp_log (the logic counterpart to cmp), which returns an Ordering.

// Old definition of total order
pub trait OrdLogic {
    #[logic]
    fn cmp_log(self, other: Self) -> Ordering;

    // ... (laws and other comparison operators)
}