Get your free personalized podcast brief

We scan new podcasts and send you the top 5 insights daily.

Instead of struggling to write an abstract mathematical specification, developers can write a simple, inefficient, but correct version of their program. This 'naive' implementation can then be used as a formal spec for an AI to generate an optimized version, along with a proof of its equivalence.

Related Insights

The primary barrier to adopting formal verification has been the immense cost (often 10x development time) of maintaining proofs as software changes. AI excels at this tedious and difficult task, rewriting and adapting proofs automatically, which is the key change making the practice scalable and mainstream.

The act of creating a formal proof for a piece of software forces a level of rigor that surpasses even implementing it from scratch. This newfound confidence and clarity allows engineers to pursue aggressive optimizations without the fear of introducing subtle bugs, which they would otherwise avoid due to uncertainty.

Verifying complex systems is bottlenecked by the human inability to specify all requirements. The future of software development is an interactive process where AI helps propose specifications (e.g., via test generation) and then uses a prover to formally verify them.

Current AI coding assistants still require engineers to verify correctness. The future involves moving from this 'vibe coding' to a system where developers specify requirements in natural language. An AI, likely an EBM, would then generate formally verified code that is guaranteed to be logically compatible with the existing codebase.

Traditional software engineering valued meticulous upfront planning to avoid costly coding and debugging cycles. Newman argues that with AI agents, the cost of building and iterating is so low that the old "measure twice, cut once" philosophy is obsolete. The superior modern approach is to build quickly, even incorrectly, and rapidly iterate.

Writing formally verified code, which can be mathematically proven to be secure, has been a niche practice due to its extreme difficulty for humans. Because AI agents don't get bored or frustrated, they could be tasked with writing code in these secure languages, making high-assurance programming practical for the first time.

A major hurdle for formal methods is the effort required to write proofs. Generative AI is becoming capable of producing proofs in formal languages like Lean, which can then be automatically verified by a machine. This could make verified software development scalable for the first time.

Formal verification, the process of mathematically proving software correctness, has been too complex for widespread use. New AI models can now automate this, allowing developers to build systems with mathematical guarantees against certain bugs—a huge step for creating trust in high-stakes financial software.

Instead of writing code and then tests, developers could define precise mathematical properties. AI would then synthesize both the program and a formal proof that the program meets those specifications, ensuring correctness by design and flipping the current code-first paradigm.

A powerful technique for creating robust software plans is to use AI as an adversarial partner. After drafting a specification, prompt an AI to "tear it apart" by identifying underspecified or inconsistent points. Iterate on this process until the AI's feedback becomes niche, indicating a solid spec.