The general tool environment is identical to the single-state tool environment, except that actions can change the states of tools in addition to the states of materials. We can solve the general tool case using a solution to the single-state tool case by resetting tools whenever they are dirtied.
The proof is simple, but requires that we formalize the notion of being a tool. Let E be an environment with a state space of the form . Let a be an action of E and be a component of its state space. We will say
Proof: Let be a solution (policy) for D. By the definition of a tool, there must be a policy that will bring D' from any state (s, t) to without changing the S component. Let be the projection from D' to D given by
For each , we define the -implementation of a, by
and so D' is reducible to D. The general case of multiple tools follows from induction.