public static void startupClassify() {
    { 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)) {
          _StartupClassify.helpStartupClassify1();
        }
        if (Stella.currentStartupTimePhaseP(4)) {
          Logic.$FINDSUPERSANDSUBSDESCRIPTION$.setDefaultValue(null);
          Logic.$CLASSIFICATIONSESSION$.setDefaultValue(null);
          Logic.$CLASSIFY_FROM_NON_INFERABLE_PARENTS_ONLYp$.setDefaultValue(new Boolean(true));
        }
        if (Stella.currentStartupTimePhaseP(5)) {
          { Stella_Class renamed_Class = Stella.defineClassFromStringifiedSource("MARKER-TABLE", "(DEFCLASS MARKER-TABLE (STANDARD-OBJECT) :DOCUMENTATION \"Used to record (mark) a set of objects.\nCan be optimized for testing only, or also for recall.\" :SLOTS ((TEST-TABLE :TYPE HASH-TABLE) (RECALL-TABLE :TYPE LIST) (SUPPORTS-RECALL? :TYPE BOOLEAN)))");

            renamed_Class.classConstructorCode = Native.find_java_method("edu.isi.powerloom.logic.MarkerTable", "newMarkerTable", new java.lang.Class [] {});
            renamed_Class.classSlotAccessorCode = Native.find_java_method("edu.isi.powerloom.logic.MarkerTable", "accessMarkerTableSlotValue", new java.lang.Class [] {Native.find_java_class("edu.isi.powerloom.logic.MarkerTable"), Native.find_java_class("edu.isi.stella.Symbol"), Native.find_java_class("edu.isi.stella.Stella_Object"), java.lang.Boolean.TYPE});
          }
          { Stella_Class renamed_Class = Stella.defineClassFromStringifiedSource("CLASSIFICATION-CACHE", "(DEFCLASS CLASSIFICATION-CACHE (STANDARD-OBJECT) :DOCUMENTATION \"Records various kinds of data about a description\nduring a classification session.\" :SLOTS ((INFERABLE-DIRECT-SUBDESCRIPTIONS :TYPE (LIST OF DESCRIPTION)) (CACHE-UPCLASSIFICATION-TIMESTAMP :TYPE INTEGER :INITIALLY -1) (CACHE-DOWNCLASSIFICATION-TIMESTAMP :TYPE INTEGER :INITIALLY -1) (INTRODUCTION-TIMESTAMP :TYPE INTEGER :INITIALLY 0)))");

            renamed_Class.classConstructorCode = Native.find_java_method("edu.isi.powerloom.logic.ClassificationCache", "newClassificationCache", new java.lang.Class [] {});
            renamed_Class.classSlotAccessorCode = Native.find_java_method("edu.isi.powerloom.logic.ClassificationCache", "accessClassificationCacheSlotValue", new java.lang.Class [] {Native.find_java_class("edu.isi.powerloom.logic.ClassificationCache"), Native.find_java_class("edu.isi.stella.Symbol"), Native.find_java_class("edu.isi.stella.Stella_Object"), java.lang.Boolean.TYPE});
          }
          { Stella_Class renamed_Class = Stella.defineClassFromStringifiedSource("CLASSIFICATION-SESSION", "(DEFCLASS CLASSIFICATION-SESSION (STANDARD-OBJECT) :SLOTS ((CLASSIFICATION-WORLD :TYPE WORLD) (CLASSIFICATION-CACHE-TABLE :TYPE (HASH-TABLE OF OBJECT CLASSIFICATION-CACHE) :ALLOCATION :EMBEDDED) (CLASSIFICATION-TIMECLOCK :TYPE INTEGER :INITIALLY 0) (INTRODUCTION-TIMESTAMP-STACK :TYPE (LIST OF INTEGER-WRAPPER) :INITIALLY (LIST 0)) (EVERYTHING-CLASSIFIED? :TYPE BOOLEAN) (LAST-CACHE-TABLE-KEY :TYPE LOGIC-OBJECT) (LAST-CACHE-TABLE-VALUE :TYPE CLASSIFICATION-CACHE)))");

            renamed_Class.classConstructorCode = Native.find_java_method("edu.isi.powerloom.logic.ClassificationSession", "newClassificationSession", new java.lang.Class [] {});
            renamed_Class.classSlotAccessorCode = Native.find_java_method("edu.isi.powerloom.logic.ClassificationSession", "accessClassificationSessionSlotValue", new java.lang.Class [] {Native.find_java_class("edu.isi.powerloom.logic.ClassificationSession"), Native.find_java_class("edu.isi.stella.Symbol"), Native.find_java_class("edu.isi.stella.Stella_Object"), java.lang.Boolean.TYPE});
          }
        }
        if (Stella.currentStartupTimePhaseP(6)) {
          Stella.finalizeClasses();
        }
        if (Stella.currentStartupTimePhaseP(7)) {
          _StartupClassify.helpStartupClassify2();
          Stella.defineFunctionObject("LIST-UNCLASSIFIED-RELATIONS", "(DEFUN (LIST-UNCLASSIFIED-RELATIONS (CONS OF NAMED-DESCRIPTION)) (|&REST| (OPTIONS OBJECT)) :DOCUMENTATION \"Collect all named description in the module defined by the :module option (which defaults\nto the current module) that were not (or will not be) classified due to their lack of\nnon-inferable/primitive ancestor relations.  If :module was explicitly specified as NULL,\nlook in all currently defined modules.  If `:local?' is specified as TRUE only look\nin the specified module but not any modules it inherits.  For backwards compatibility,\nthis command also supports the old <module> <local?> arguments specified without keywords.\" :PUBLIC? TRUE :COMMAND? TRUE :EVALUATE-ARGUMENTS? FALSE)", Native.find_java_method("edu.isi.powerloom.logic.Logic", "listUnclassifiedRelations", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Cons")}), Native.find_java_method("edu.isi.powerloom.logic.Logic", "listUnclassifiedRelationsEvaluatorWrapper", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Cons")}));
          Stella.defineFunctionObject("UPCLASSIFY-INSTANCES", "(DEFUN UPCLASSIFY-INSTANCES ((MODULE MODULE) (LOCAL? BOOLEAN)) :DOCUMENTATION \"Classify instances local to 'module' and inherited\nby 'module'.  If 'local?', don't classify inherited descriptions.  If\n'module' is NULL, classify descriptions in all modules.\")", Native.find_java_method("edu.isi.powerloom.logic.Logic", "upclassifyInstances", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Module"), java.lang.Boolean.TYPE}), null);
          Stella.defineFunctionObject("CLASSIFY-INSTANCES", "(DEFUN CLASSIFY-INSTANCES (|&REST| (OPTIONS OBJECT)) :DOCUMENTATION \"Classify instances visible in the module defined by the :module option (which\ndefaults to the current module).  If :module was explicitly specified as NULL,\nclassify instances in all modules.  If `:local?' is specified as TRUE only classify\ninstances that belong to the specified module but not any modules it inherits.  For\nbackwards compatibility, this command also supports the old <module> <local?>\narguments specified without keywords.\n\nConceptually, the classifier operates by comparing each instance with all\nconcepts in the hierarchy, searching for a proof for each pairing indicating\nthat the instance belongs to the concept.  Whenever a new `is-a' relation is\ndiscovered, the classifier adds an `is-a' link between the instance and the\nconcept, thereby recording an additional fact about the instance.  The\nimplemented classification algorithm is relatively efficient -- it works hard at\nlimiting the number of concepts or relations that need to be checked for\npossible is-a relationships.\n\" :PUBLIC? TRUE :COMMAND? TRUE :EVALUATE-ARGUMENTS? FALSE)", Native.find_java_method("edu.isi.powerloom.logic.Logic", "classifyInstances", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Cons")}), Native.find_java_method("edu.isi.powerloom.logic.Logic", "classifyInstancesEvaluatorWrapper", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Cons")}));
          Stella.defineFunctionObject("LIST-UNCLASSIFIED-INSTANCES", "(DEFUN (LIST-UNCLASSIFIED-INSTANCES (CONS OF LOGIC-OBJECT)) (|&REST| (OPTIONS OBJECT)) :DOCUMENTATION \"Collect all instances in the module defined by the :module option (which defaults\nto the current module) that were not (or will not be) classified due to their lack of\nnon-inferable/primitive type assertions.  If :module was explicitly specified as NULL,\nlook in all currently defined modules.  If `:local?' is specified as TRUE only look\nin the specified module but not any modules it inherits.  For backwards compatibility,\nthis command also supports the old <module> <local?> arguments specified without keywords.\" :PUBLIC? TRUE :COMMAND? TRUE :EVALUATE-ARGUMENTS? FALSE)", Native.find_java_method("edu.isi.powerloom.logic.Logic", "listUnclassifiedInstances", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Cons")}), Native.find_java_method("edu.isi.powerloom.logic.Logic", "listUnclassifiedInstancesEvaluatorWrapper", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Cons")}));
          Stella.defineFunctionObject("UPCLASSIFY-ALL-DESCRIPTIONS", "(DEFUN UPCLASSIFY-ALL-DESCRIPTIONS () :DOCUMENTATION \"Classify all named descriptions.\")", Native.find_java_method("edu.isi.powerloom.logic.Logic", "upclassifyAllDescriptions", new java.lang.Class [] {}), null);
          Stella.defineFunctionObject("UPCLASSIFY-ALL-INSTANCES", "(DEFUN UPCLASSIFY-ALL-INSTANCES () :DOCUMENTATION \"Classify all named instances.\")", Native.find_java_method("edu.isi.powerloom.logic.Logic", "upclassifyAllInstances", new java.lang.Class [] {}), null);
          Stella.defineFunctionObject("ALL-EQUIVALENT-COLLECTIONS", "(DEFUN (ALL-EQUIVALENT-COLLECTIONS (CONS OF LOGIC-OBJECT)) ((SELF LOGIC-OBJECT) (REFLEXIVE? BOOLEAN)) :PUBLIC? TRUE)", Native.find_java_method("edu.isi.powerloom.logic.LogicObject", "allEquivalentCollections", new java.lang.Class [] {Native.find_java_class("edu.isi.powerloom.logic.LogicObject"), java.lang.Boolean.TYPE}), null);
          Stella.defineFunctionObject("ALL-CYCLES", "(DEFUN (ALL-CYCLES (CONS OF CONS)) ((MODULE MODULE) (LOCAL? BOOLEAN)) :PUBLIC? TRUE :DOCUMENTATION \"Return a list of lists of descriptions that are\nprovably co-extensional.\")", Native.find_java_method("edu.isi.powerloom.logic.Logic", "allCycles", new java.lang.Class [] {Native.find_java_class("edu.isi.stella.Module"), java.lang.Boolean.TYPE}), null);
          Stella.defineFunctionObject("STARTUP-CLASSIFY", "(DEFUN STARTUP-CLASSIFY () :PUBLIC? TRUE)", Native.find_java_method("edu.isi.powerloom.logic._StartupClassify", "startupClassify", new java.lang.Class [] {}), null);
          { MethodSlot function = Symbol.lookupFunction(Logic.SYM_LOGIC_STARTUP_CLASSIFY);

            KeyValueList.setDynamicSlotValue(function.dynamicSlots, Logic.SYM_STELLA_METHOD_STARTUP_CLASSNAME, StringWrapper.wrapString("_StartupClassify"), Stella.NULL_STRING_WRAPPER);
          }
        }
        if (Stella.currentStartupTimePhaseP(8)) {
          Stella.finalizeSlots();
          Stella.cleanupUnfinalizedClasses();
        }
        if (Stella.currentStartupTimePhaseP(9)) {
          Stella_Object.inModule(((StringWrapper)(Stella_Object.copyConsTree(StringWrapper.wrapString("LOGIC")))));
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFSPECIAL *SPECIALMARKERTABLE* MARKER-TABLE :DOCUMENTATION \"Special variable that points to the marker table \nreferenced by the function 'test-special-marker-table?'.\")");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFSPECIAL *FINDSUPERSANDSUBSDESCRIPTION* DESCRIPTION NULL :DOCUMENTATION \"Points to a possibly unnamed description being\ntemporarily classified.\")");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFSPECIAL *CLASSIFICATIONSESSION* CLASSIFICATION-SESSION NULL :PUBLIC? TRUE :DOCUMENTATION \"Points to state of on-going classification session.\")");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFGLOBAL *CACHE-INFERABLE-SUBCOLLECTIONS?* BOOLEAN TRUE :DOCUMENTATION \"If TRUE, prevents caching of computations of\nall inferable subcollections of a collection.\")");
          Stella.defineStellaGlobalVariableFromStringifiedSource("(DEFSPECIAL *CLASSIFY-FROM-NON-INFERABLE-PARENTS-ONLY?* BOOLEAN TRUE :DOCUMENTATION \"If true (the default) only consider those relations (or instances) for\nclassification that have at least one non-inferable parent (or type).  This\ncan greatly reduce the classification effort.  To find entities that were\nleft unclassified due to this optimization use `list-unclassified-relations'\nor `list-unclassified-instances'.\" :PUBLIC? TRUE)");
        }

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