public static void startupCaseBased() {
    { Object old$Module$000 = Stella.$MODULE$.get();
      Object old$Context$000 = Stella.$CONTEXT$.get();

      try {
        Native.setSpecial(Stella.$MODULE$, Stella.getStellaModule("/LOGIC", Stella.$STARTUP_TIME_PHASE$ > 1));
        Native.setSpecial(Stella.$CONTEXT$, ((Module)(Stella.$MODULE$.get())));
        if (Stella.currentStartupTimePhaseP(2)) {
          _StartupCaseBased.helpStartupCaseBased1();
        }
        if (Stella.currentStartupTimePhaseP(4)) {
          _StartupCaseBased.helpStartupCaseBased2();
        }
        if (Stella.currentStartupTimePhaseP(6)) {
          Stella.finalizeClasses();
        }
        if (Stella.currentStartupTimePhaseP(7)) {
          _StartupCaseBased.helpStartupCaseBased3();
        }
        if (Stella.currentStartupTimePhaseP(8)) {
          Stella.finalizeSlots();
          Stella.cleanupUnfinalizedClasses();
        }
        if (Stella.currentStartupTimePhaseP(9)) {
          Stella_Object.inModule(((StringWrapper)(Stella_Object.copyConsTree(StringWrapper.wrapString("LOGIC")))));
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *LOG-MATCH-RULES* BOOLEAN FALSE)");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *LOG-ANTECEDENT-CONSTRUCTION* BOOLEAN FALSE)");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *NUM-NEIGHBORS* INTEGER 3)");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *CASE-SOLUTION-COMBINATION* KEYWORD :WEIGHTED-VOTE)");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *CASE-RULE-NAMES* (LIST OF SYMBOL) (NEW (LIST OF SYMBOL)))");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *NUM-CASES* INTEGER 0)");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *NUM-TRAINING-PER-CASE* INTEGER 12)");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *CASE-VARIABLE-COUNTER* INTEGER 0)");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *BASE-COUNTER* INTEGER 0)");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *VISITED-INSTANCES* (LIST OF SYMBOL) (NEW (LIST OF SYMBOL)))");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *ONLY-VARIABLIZE-VISITED-INSTANCES* BOOLEAN FALSE)");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *VISITED-PROPOSITIONS* (LIST OF PROPOSITION) (NEW (LIST OF PROPOSITION)))");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *SEEN-INSTANCES* (LIST OF SYMBOL) NULL)");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *DELETED-CASE-VARIABLES* (LIST OF SYMBOL) NULL)");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *SYMBOL-VARIABLE-HASH-TABLE* (HASH-TABLE OF SYMBOL SYMBOL) NULL)");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *CASE-ANTECEDENT-TABLE* (STRING-HASH-TABLE OF STRING (LIST OF CONS)) (NEW (STRING-HASH-TABLE OF STRING (LIST OF CONS))))");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *CASE-TYPES-TABLE* (STRING-HASH-TABLE OF STRING (LIST OF SYMBOL)) (NEW (STRING-HASH-TABLE OF STRING (LIST OF SYMBOL))))");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *CASE-NAME-TABLE* (HASH-TABLE OF SYMBOL (LIST OF SYMBOL)) (NEW (HASH-TABLE OF SYMBOL (LIST OF SYMBOL))))");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *PRINT-CASE-DISTANCES* BOOLEAN FALSE)");
        }

      } finally {
        Stella.$CONTEXT$.set(old$Context$000);
        Stella.$MODULE$.set(old$Module$000);
      }
    }
  }