Slide 14
Slide 14 text
- Proof looks great, sophisticated and gorgeous
- Usually difficult (need a gut)
- Sometimes many ways to go ahead
- “loop invariant condition”, or more generally, “program invariant condition”
lemma
assumes "P (forM [] program)"
and "\forall i. P (forM (take i xs) program)
==> P (forM (take (i+1) xs) program)"
shows "P (forM xs program)"
Big-step Observation