Automated Generation of Loop Invariants by Recurrence Solving in Theorema

Most of the properties established during program verification are either invariants or depend crucially on invariants. The effectiveness of automated verification of (imperative) programs is therefore sensitive to the ease with which invariants, even trivial ones, can be automatically deduced. We present a method for invariant generation that relies on combinatorial techniques, namely on recurrence solving and variable elimination. The effectiveness of the method is demonstrated on examples. AMS Subject Classification: 33F10, 65G20, 68N30, 68Q60, 68W30