Fixed logic: checkIfThisGoalIsSatisfiedByTempStates:find the most closed backward state change, cuz the forward changes won't affect current step, since we are doing backward reasoing.