In Section 4.2.4 we described a plan for opening a locked door without a key; it is depicted in Figure 12. The plan that produces for this situation is shown here. Even though no preconditions of the pick step depend on any effect of the kick step, the former cannot be performed if the lock is broken as a result of kicking the door. The decision-rules reflect this dependence.
Initial: (LOCK-INTACT) Step 1 (2): (KICK) Step 2 (4): (LOOK) (AND (KNOW-IF (LOCKED)) (KNOW-IF (LOCK-INTACT)) (KNOW-IF (FOOT-BROKEN))) Step 3 (3): (DECIDE KICK2S) (and ((LOCK-INTACT)) T ) => [KICK2S: F] (and (NOT (LOCKED)) T ) => [KICK2S: L] 2 -> (KNOW-IF (LOCKED)) Step 4 (6): (PICK) YES: [KICK2S: F] NO : [KICK2S: L] (NOT (LOCKED)) 0 -> (LOCK-INTACT) NO : [KICK2S: L] Step 5 (5): (OPEN-DOOR) YES: [KICK2S: F] NO : [KICK2S: L] (OPEN) 4 -> (NOT (LOCKED)) NO : [KICK2S: L] Step 6 (1): (OPEN-DOOR) YES: [KICK2S: L] NO : [KICK2S: F] (OPEN) 1 -> (NOT (LOCKED)) NO : [KICK2S: F] Goal: (OPEN) GOAL YES: [KICK2S: F] 5 -> (OPEN) NO : [KICK2S: L] GOAL YES: [KICK2S: L] 6 -> (OPEN) NO : [KICK2S: F] Complete!