Observed arrival · 2026-09-21
Velvet Turns Imperative Programs into Lean Proofs
Velvet is a Lean 4 library that lets programmers write imperative algorithms with contracts, run them, and verify their correctness.
- For
- Lean 4 users verifying imperative algorithms
- Worth noticing
- Insertion sort combines SMT and grind automation with named loop invariants and an ordinary Lean proof goal.
Field notes
Velvet expresses imperative methods directly inside Lean 4, including mutable arrays, loops, contracts, ghost state, and angelic or demonic nondeterminism. Its verification-condition generator can hand routine obligations to SMT solvers or Lean automation, while unfinished cases appear as ordinary goals annotated with invariant names. The homepage supplies a complete insertion-sort specimen and points to a Git-based dependency, documentation, research papers, and a Zulip community.
Observed signals
Read the marks
Editorial observations of this landing page, not a rating.
One card from the complete issue