Proof by induction plays a central role in showing that recursive programs satisfy their specification. Sometimes a key step is to generalise a lemma so that its inductive proof is easier. Existing heuristics forgeneralisation for inductionare examined. The applicability of heuristics for generalisation is also examined, and it is shown that the kind of examples on which some of the heuristics work best form a well defined class of problems. A class of generalisation problems is identified for which none of the methods work, and directions for future research are provided.
展开▼