Hoare's logic and Dijkstra's predicate transformer calculus have proved adequate for reducing the correctness problem for programs to the validity problem for logical formulas. However, the size of the logical formulas to be validated grows faster than the size of the program , and, even in the propositional case, the validation problem is NP-complete and becomes practically intractable for lar...