News for hackers. Stuff that matters.
Re:AlphaProof Code by sim04ful on Tuesday November 10, 2026 @08:12AM (#50439832)
Curious question, in this case for verification they ported the software into a formal mathematical model. Why can't software development start from the other end instead ? Start with a formal model with the properties you want, then translate it into software.
Re:AlphaProof Code by viraptor on Tuesday November 10, 2026 @08:25AM (#50439972)
You can. It ends up really slow normally which is why we don't do it. For example for a proven Deflate, it took an hour to process a 1MB file https://ar5iv.labs.arxiv.org/html/1609.01220
Re:AlphaProof Code by creata on Tuesday November 10, 2026 @08:32AM (#50440060)
There was recently a decently fast implementation of DEFLATE in Lean: https://kim-em.github.io/blog/2026-7-24-why-lean-is-faster-t...
Re:AlphaProof Code by tylerhou on Tuesday November 10, 2026 @09:20AM (#50440783)
That’s not a great source to support your claim. From the paper

> The resolution (decompression) of such backreferences in an imperative context is trivial, but uses lots of invariants that make it hard to prove correct. In a purely functional context, it is non-trivial to find data structures that are fast enough. We decided to stick with purely functional algorithms, as they can be verified directly using Coq, and optimization of purely functional programs is interesting for its own sake. In our current verified implementation, this is the slowest part. The benchmarks in Appendix 0.A support this claim. We already have figured out an algorithm with better performance, but we are not yet done proving it formally correct; we will not get deeper into this algorithm in this paper.

There are many ways verify programs; the authors of your linked paper just chose a method that resulted in a slow binary. Alternatively, one can build a model of an imperative language (C) and prove that an imperative programs meets some specification.

Re:AlphaProof Code by viraptor on Tuesday November 10, 2026 @04:24PM (#50446513)
They chose a method that's easier to prove. Imperative implementations are much harder to verify than functional. It's not that we can't do it, it's just really hard to do in practice so even people who verified the first compression bailed on the idea.
Re:AlphaProof Code by nylonstrung on Tuesday November 10, 2026 @06:43PM (#50447914)
I'm glad you said this because it's exactly the problem I've been obsessed with

I think it's absolutely viable and arguably should become the standard approach in time

I think it's overwhelmingly due to very very few people developing new greenfield software who are comfortable working with formal models

The talent pool for ATP devs is very small and specialized and they've only been financially justifiable when working on an established mission-critical system, like Lean's creator working at MSFT to catch Windows 7 bugs with SMT solving

Ironically I think these cases where formal models are clumsiest: using FP langs to retroactively model to C/C++ legacy programs

The benefits of formal verification are 10x easier to achieve if they are the foundation vs shoehorned in after IMO

Re:AlphaProof Code by cmrx64 on Wednesday November 11, 2026 @01:23AM (#50450274)
Refinement logics and rewriting logics take this approach directly, and it can go straight down to mixed-signal circuits or all the way up to distributed epistemic logic.