Part I — Foundations

These chapters explain what it means to prove facts about programs: how specifications are written, how code is connected to logical claims, and how solvers help discharge proof obligations.