Having decided to represent actions as above, how do we chain them together so as to achieve a specified goal? The simplest method is blind search; this is like playing a game of chess by considering all possible moves from your current board state, then all possible moves from each of the resulting states, then all possible moves from those resulting states, and so on. Essentially, we draw a tree of possibilities, form all the branches, and pick the one which leads to the desired goal. I won't draw such a tree here: see page 138 of Cognitive Science projects in Prolog by Scott and Nicolson (LEA 1991: PSY KH:S 528; RSL M92.C00948) which shows such a tree for the blocks world.
This approach rapidly becomes unfeasible. The number of possibilities increases so fast with level in the tree, that we run out of processor time, no matter how fast our computer. This explosion of possibilities is called the combinatorial explosion. In the Foreword to Computers and Thought, Sloman calls AI the ``science of productive laziness'' - can we be lazy and avoid an exhaustive search?