Before you can construct proofs of correctness for software, you need to understand what a proof is and what it means for a proof to be valid. This is the role of formal systems. The purpose of formal systems is to let you reason about reasoning—to manipulate logical proofs in terms of their form, rather than their content. This level of abstraction makes formal systems powerful tools.
1. Formal Systems
Get Introduction to Dependent Types with Idris: Encoding Program Proofs in Types now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.