Most of Assignment 4 seems very easy. Only question 3, the planner seems to have a hugely long runtime. So far more than 8 CPU hours on a fast processor and counting. I'm going to go back and check for mistakes.
I'm impressed you managed to write the state space out. I couldn't do this. I just guessed what the planner would do given how the text book described the planner. I'm stuck with question 3 at this point:
% STATE 3
After I reach this state I'm not sure what the protected goal will be:
It must be one of the following:
Protected Goal: [clear(a)]
Protected Goal: [on(a,b)]
Protected Goal: [clear(a),on(a,b)]
According to the textbook, the "protected goals" are the ones that have already been achieved *by actions in the plan*. So, looking at figure 17.4, there are a set of Goals, actions are chosen such that the action produces (at least one) Goal (Goal being a member of the set Goals). Actions, however, consume facts as well as producing them - so the thing about "protected goals" is that they are goals (i.e. facts) produced by an action.
So to answer your question - which of the facts in your example have been produced by an action (when that action has, itself, been chosen because it satisfies a goal)? Initially, no goals (facts) are on the "protected" list - however, as a goal is generated (and an action chosen), that goal enters the "protected" list until that list eventually is identical to the Goals list.