An Example of Hierarchical Design and Proof Hierarchical programming is being increasingly recognized as helpful in the construction of large programs. Users of hierarchical techniques claim or predict substantial increases in productivity and in the reliability of the programs produced. In this paper we describe a formal method for hierarchical program specification, implementation, and proof. We apply this method to a significant list processing problem and also discuss a number of extensions to current programming languages that ease hierarchical program design and proof. CACM December, 1978 Spitzen, J. Levitt, K. Robinson, L. Program verification, specification, data abstraction, software modules, hierarchical structures 4.0 4.6 5.21 5.24 CA781209 DH January 16, 19794:43 PM 2480 4 3030 2704 4 3030 2723 4 3030 2738 4 3030 2738 4 3030 2866 4 3030 2867 4 3030 2869 4 3030 2941 4 3030 2941 4 3030 2956 4 3030 2958 4 3030 2981 4 3030 3004 4 3030 3004 4 3030 3030 4 3030 3030 4 3030 3030 4 3030 3030 4 3030 3030 4 3030 3030 4 3030 3031 4 3030 3049 4 3030 3077 4 3030 3104 4 3030 3155 4 3030 2247 5 3030 2356 5 3030 2457 5 3030 2651 5 3030 2958 5 3030 2972 5 3030 3030 5 3030 3030 5 3030 3030 5 3030