-
On the Unreasonable Effectiveness of Property-Based Testing for Validating Formal Specifications
In this post, we show that property-based testing (PBT) is surprisingly effective for validating LLM-synthesised specifications of Lean programs: it is a cheap alternative to symbolic proofs, which helped to detect underspecification in 10% of the specs in state-of-the-art benchmarks for verified code generation.
-
Verifying Move Borrow Checker in Lean: an Experiment in AI-Assisted PL Metatheory
I formalised and proved the correctness of Move’s new borrow checker in Lean: 39,000 lines of mechanised metatheory, produced in under a month with the help of an AI coding assistant. This post tells the story of how it went and what it means for the future of PL research.
-
Verifying Distributed Protocols in Veil
-
Multi-Modal Program Verification in Velvet
In this post, we will show how to specify and verify imperative programs in Lean 4 using Velvet—an embedded verifier, which relies on a combination of automated symbolic and AI-assisted theorem proving techniques.