2683	 The Synthesis of Loop Predicates	 Current methods for mechanical program verification require a complete predicate specification on each loop. Because this is tedious and error prone producing a program with complete correct predicates is reasonably difficult and would be facilitated by machine assistance. This paper discusses techniques for mechanically synthesizing loop predicates. Two classes of techniques are considered heuristic methods which derive loop predicates from boundary conditions and or partially specified inductive assertions extraction methods which use input predicates and appropriate weak interpretations to obtain certain classes of loop predicates by an evaluation on the weak interpretation. program verification loop predicates inductive assertions synthesis of loop predicates weak interpretations well-founded sets property extraction theorem proving
