This paper was inspired by a challenge problem proposed in [McCarthy1997]. The formalization of STRIPS in the situation calculus and its application to reason about action in the blocks world are fully developed in [McCarthy1985]. In addition to this, I'm particularly indebted to John McCarthy for encouraging, supporting, and enriching the writing of this work with many interesting ideas, some of which I have not been able to develop yet. Luc Steels introduced me to most of the problems discussed in section three, provided valuable ideas, and encouraged me all the way through. Vladimir Lifschitz helped me to understand the incompleteness of my original formalization, and taught me how to make it simpler and stronger. Mike Genesereth, Eyal Amir, Tom Costello, Winton Davies and Sasa Buvac read previous versions of the paper and contributed with useful comments. This work was supported partly by the Navy Grant N00014-94-1-0775, and partly by the Air Force Grant F49620-97-1-0207.