So what?
I just spent about an hour showing you stuff that I said isn’t especially useful
- It’s tedious and error-prone
- If we can’t get our programs right, why should we believe we get our detailed proofs right?
- One answer: tools, such as proof assistants
- It’s hard with real programming languages and programs
But it does lay a foundation for
- Thinking about programs more precisely
- Applying techniques like these in limited, critical situations
- Development of some modern specification and analysis approaches that seem to have value in more situations