Massachusetts: Massachusetts Institute of Technology, 1982. — 762 p.
We show how a computational system can be constructed to "reason", effectively
and consequentially, about its own inferential processes. Hie analysis proceeds in two
parts. First, we consider die general question of computational semantics, rejecting
traditional approaches, and arguing that the declarative and procedural aspects of
computational symbols (what they stand for, and what behaviour they engender) should be
analysed independently, in order that they may be coherently related. Second, we
investigate self-referential behaviour in computational processes, and show how to embed an
effective procedural model of a computational calculus within that calculus (a model not
unlike а ыeta-circular interpreter, but connected to the fundamental operations of the
machine in such a way as to provide, at any point in a computation, fully articulated
descriptions of the state of that computation, for inspection and possible modification). In
terms of the theories that result from these investigations, we present a general architecture
for procedurally reflective processes, able to shift smoothly between dealing with a given
subject domain, and dealing with their own reasoning processes over that domain.