We propose a representation scheme for the declarative formalization of heuristics based on the situation calculus and circumscription. The formalism is applied to represent a number of strategies for solving problems in the blocks world. It is demonstrated that circumscription allows us to derive useful conclusions about their computability, correctness, redundancy, inconsistency, and the quality of their solutions. Finally, an advice taking scenario is presented to illustrate how a program capable of reasoning non-monotonically about declarative formalizations of strategies can have interesting reflective behavior.
展开▼