Formal verification mathematically proves software meets its specification in every reachable state, unlike testing, which only samples inputs.
Tests sample.
You start with properties you want your code to keep.
Because the proofs cost more than the code.
That bottleneck is exactly the kind of work large language models have gotten good at.
Read the complete breakdown, fixes and what happens next.