Abstract
A rational agent has beliefs reflecting the state of its environment, and likes or dislikes Its situation. When it finds the world not entirely to Its liking, it tries to change that. We can, accordingly, evaluate a system of cognition in terms of its probable success in bringing about situations that are to the agent's liking. In doing this we are viewing practical reasoning from “the design stance.” It is argued that a considerable amount of the structure of rationality can be elicited as providing the only apporant solutions to various logical and feasibility problems that arise in the course of trying to design a rational agent that satisfies this design specification.