public static ControlFrame createSubgoalFrame(ControlFrame upframe, Proposition goal, Keyword strategy) {
    { ControlFrame downframe = ControlFrame.createDownFrame(upframe, goal);

      if (strategy != null) {
        if ((goal != null) &&
            (!(goal == upframe.proposition))) {
          downframe.state = Logic.KWD_ATOMIC_GOAL;
        }
        else {
          downframe.state = Logic.KWD_STRATEGY;
        }
        downframe.currentStrategy = strategy;
      }
      downframe.reversePolarityP = upframe.reversePolarityP;
      return (downframe);
    }
  }