public static void helpPrintKifProposition(Proposition self) {
    { OutputStream stream = ((OutputStream)(Logic.$PRINTLOGICALFORMSTREAM$.get()));
      String operator = null;
      boolean separatelinesP = false;

      { Keyword testValue000 = self.kind;

        if ((testValue000 == Logic.KWD_AND) ||
            (testValue000 == Logic.KWD_OR)) {
          if (self.kind == Logic.KWD_AND) {
            operator = Logic.stringifiedSurrogate(Logic.SGT_PL_KERNEL_KB_AND);
          }
          else {
            operator = Logic.stringifiedSurrogate(Logic.SGT_PL_KERNEL_KB_OR);
          }
          separatelinesP = true;
          if (Logic.visibleArgumentsCount(self.arguments) == 1) {
            if ((((Keyword)(Logic.$PRINTMODE$.get())) == Logic.KWD_REALISTIC) ||
                (((Keyword)(Logic.$PRINTMODE$.get())) == Logic.KWD_ORIGINAL)) {
              Logic.printKifArguments(self.arguments, false, false);
              return;
            }
            else {
            }
          }
        }
        else if (testValue000 == Logic.KWD_NOT) {
          operator = Logic.stringifiedSurrogate(Logic.SGT_PL_KERNEL_KB_NOT);
        }
        else if (testValue000 == Logic.KWD_EQUIVALENT) {
          operator = "=";
        }
        else if ((testValue000 == Logic.KWD_ISA) ||
            (testValue000 == Logic.KWD_PREDICATE)) {
          operator = Proposition.stringifiedKifOperator(self);
          if (self.operator == Logic.SGT_PL_KERNEL_KB_FORK) {
            separatelinesP = true;
          }
        }
        else if (testValue000 == Logic.KWD_FUNCTION) {
          Proposition.printKifFunctionProposition(self);
          return;
        }
        else if (testValue000 == Logic.KWD_IMPLIES) {
          Proposition.printKifImpliesProposition(self);
          return;
        }
        else if ((testValue000 == Logic.KWD_FORALL) ||
            (testValue000 == Logic.KWD_EXISTS)) {
          Proposition.printKifQuantification(self);
          return;
        }
        else if (testValue000 == Logic.KWD_CONSTANT) {
          stream.nativeStream.print(((Surrogate)(self.operator)).symbolName);
          return;
        }
        else if (testValue000 == Logic.KWD_CONTAINED_BY) {
          operator = ":CONTAINED-BY";
        }
        else if (testValue000 == Logic.KWD_DELETED) {
          operator = ":DELETED";
        }
        else {
          operator = self.kind.symbolName;
        }
      }
      Logic.printKifOperatorWithArguments(operator, self.arguments, separatelinesP, false);
    }
  }