public static void initializeKernelKb() {
    { Stella_Object kernelinitfile = Stella.lookupConfigurationProperty("PLKernelKBInitFile", StringWrapper.wrapString("PL:sources;logic;pl-kernel-kb.plm"), null);
      Cons kernelkbdefinitions = ((Cons)(Stella_Object.copyConsTree(PlKernelKb.$PL_KERNEL_KB_DEFINITIONS$)));
      NamedDescription dummyconcept = null;

      kernelinitfile = kernelinitfile;
      { Object old$WarnifredefineP$000 = Stella.$WARNIFREDEFINEp$.get();

        try {
          Native.setBooleanSpecial(Stella.$WARNIFREDEFINEp$, false);
          { Object old$Module$000 = Stella.$MODULE$.get();
            Object old$Context$000 = Stella.$CONTEXT$.get();

            try {
              Native.setSpecial(Stella.$MODULE$, Stella.getStellaModule("PL-KERNEL-KB", true));
              Native.setSpecial(Stella.$CONTEXT$, ((Module)(Stella.$MODULE$.get())));
              { NamedDescription self000 = NamedDescription.newNamedDescription();

                self000.surrogateValueInverse = Logic.SGT_PL_KERNEL_KB_CONCEPT;
                self000.ioVariableTypes = List.list(Cons.cons(Logic.SGT_PL_KERNEL_KB_CONCEPT, Stella.NIL));
                dummyconcept = self000;
              }
              Logic.SGT_PL_KERNEL_KB_CONCEPT.surrogateValue = dummyconcept;
              NamedDescription.getDescriptionExtension(dummyconcept, true);
              Logic.updateIsaProposition(dummyconcept, Logic.SGT_PL_KERNEL_KB_CONCEPT, Logic.KWD_ASSERT_TRUE);
              Logic.SGT_PL_KERNEL_KB_CLASS.surrogateValue = dummyconcept;
              Stella_Object.evaluate(kernelkbdefinitions.value);
              Logic.SGT_PL_KERNEL_KB_CLASS.surrogateValue = Logic.SGT_PL_KERNEL_KB_CONCEPT.surrogateValue;
              { Stella_Object definition = null;
                Cons iter000 = kernelkbdefinitions.rest;

                for (;!(iter000 == Stella.NIL); iter000 = iter000.rest) {
                  definition = iter000.value;
                  Stella_Object.evaluate(definition);
                }
              }
              Logic.finalizeObjects();
              { Module mdl = null;
                Iterator iter001 = Stella.allModules();

                while (iter001.nextP()) {
                  mdl = ((Module)(iter001.value));
                  Logic.introduceModule(mdl);
                }
              }
              { NamedDescription thing = Logic.getDescription(Logic.SYM_STELLA_THING.getStellaClass(true));

                Stella.evaluateString("(ASSERT (DOCUMENTATION THING  \n           \"The class of all things.  `Thing' is the top-most concept\nin the concept hierarchy.\"))");
              }

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

        } finally {
          Stella.$WARNIFREDEFINEp$.set(old$WarnifredefineP$000);
        }
      }
    }
  }