Proofs and Intuitions

A blog about mathematics, computing, formal verification, and the ideas behind them

  • Liveness Proofs in Veil, Part I: The First Step

    by Qiyuan Zhao and Ilya Sergey · June 24, 2026 · 21 min read

    Safety property means “nothing bad happens during the run of a program”; liveness property means “the program eventually does something good”. In this post, we walk through a simple proof of a liveness property in Veil, using a basic consensus protocol as an example.

  • On the Unreasonable Effectiveness of Property-Based Testing for Validating Formal Specifications

    by Yueyang Feng and Ilya Sergey · May 18, 2026 · 23 min read

    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

    by Ilya Sergey · March 18, 2026 · 32 min read

    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

    by Ilya Sergey · February 9, 2026 · 32 min read

    In this post, we discuss how to formalise, test, and prove the correctness of a classic distributed protocol by combining model checking, automated deductive verification, and AI-powered invariant inference in Veil, a new auto-active Lean-based verifier for distributed protocols.

  • Multi-Modal Program Verification in Velvet

    by Ilya Sergey · January 21, 2026 · 20 min read

    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.

Authors

Ilya Sergey (5) Qiyuan Zhao (1) Yueyang Feng (1)

Tags

ai (3) distributed systems (2) lean (5) liveness (1) model checking (1) move (1) programming (1) smt (2) specification (1) testing (1) types (1) veil (2) velvet (1) verification (4)

© 2026 VERSE Lab. Powered by Jekyll.