27. Animating Proofs
Obviously visualizing the proof of an algorithm is different from visualizing the algorithm itself, as is done by various systems described in chapter II.2. Visualization of a proof is an algorithm animation that goes one step further: It can be composed of an algorithm animation extended by a proof-dialog that exhibits in a temporal fashion and with visual means the correctness of the algorithm. In this chapter we describe a framework that defines three primary components for a proof visualization system: (1) the definition of the abstract operations necessary for a proof of correctness visualization, (2) the design of operations for the proof process or dialog and (3) the correspondence between the proof visualization and the algorithm visualization. A detailed description of this system can be found in [Glo92a].
The correctness proofs we consider are at the level that such proofs are customarily done in a classroom and thus should not be confused with program verification. The latter usually refers to a formal proof that examines the actual code implementing some algorithm step-by-step and shows that the program actually achieves the goal. Our endeavor is to illustrate why the algorithm works; we introduce an interactive system that deals with the algorithm at a high level and with the fundamental ideas underlying the algorithm.