Are you an EPFL student looking for a semester project?
Work with us on data science and visualisation projects, and deploy your project as an app on top of Graph Search.
This lecture covers the process of converting imperative programs to formulas, focusing on verification-condition generation, formula construction, and expressing assignments and control flow structures as relations. It explains how to represent program correctness as a verification condition and implement it as an algorithm, using examples in Stainless. The lecture also discusses the translation of imperative statements, non-deterministic choices, and assumptions into formulas. Additionally, it explores the concepts of havoc, loop-free programs, and program paths, providing insights into constructing polynomial-sized formulas to describe program behaviors.