 
Summary: HOOTS'00 to appear
Efficient Substitution in Hoare Logic
Expressions
Andrew W. Appel Kedar N. Swadi
Roberto Virga
Department of Computer Science
Princeton University
Princeton, NJ, U.S.A.
Email: {appel,kswadi,rvirga}@cs.princeton.edu
Abstract
Substitution plays an important role in Hoare Logic, as it is used in interpreting
assignments. When writing a computerbased realization of Hoare Logic, it is there
fore important to choose a good implementation for it. In this paper we compare
different definitions and implementations of substitution in a logical framework, in
an effort to maximize efficiency.
We start by defining substitution as a logical formula. In a conventional ap
proach, this is done by specifying the syntactic changes substitution performs on
expressions. We choose instead a semantic definition that describes the behavioral
relation between the original expression and its substituted counterpart.
Next, we use this semantic definition as an abstract specification, and compare
