Proof planning for strategy development
Proof planning extends the tactic-based theorem proving paradigm through the explicit representation of proof strategies. We see three key benefits to the proof planning approach to the development of proof strategies: flexibility. re-usability and synergy. Here we demonstrate these benefits in terms of reasoning about imperative programs where wt reuse strategies developed previously for proof by mathematical induction. In particular, we focus upon strategies for automating the discovery of loop invariants. Our approach tightly couples the discovery of invariants with the process of patching proof strategy failures.
proof planning strategy development proof patching invariant discovery