public static Cons generateDescriptionProposition(Description self, boolean invertP) {
    { Stella_Object prop = Proposition.generateProposition(self.proposition);
      Cons existentals = (self.internalVariables.nonEmptyP() ? Description.topLevelExistentialVariables(self) : Stella.NIL);

      { Stella_Object var = null;
        Cons iter000 = existentals;
        int i = Stella.NULL_INTEGER;
        int iter001 = 0;

        for (;!(iter000 == Stella.NIL); iter000 = iter000.rest, iter001 = iter001 + 1) {
          var = iter000.value;
          i = iter001;
          existentals.nthSetter(PatternVariable.generateOneVariable(((PatternVariable)(var)), true), i);
        }
      }
      if (!(existentals == Stella.NIL)) {
        prop = Cons.list$(Cons.cons(Logic.SYM_STELLA_EXISTS, Cons.cons(existentals, Cons.cons(Cons.cons(prop, Stella.NIL), Stella.NIL))));
      }
      if (invertP) {
        return (Cons.list$(Cons.cons(Logic.SYM_STELLA_NOT, Cons.cons(prop, Cons.cons(Stella.NIL, Stella.NIL)))));
      }
      else {
        return (((Cons)(prop)));
      }
    }
  }