* @param world
   */
  public static void postForEvaluation(Proposition self, Context world) {
    if (world == null) {
      world = ((Context)(Stella.$CONTEXT$.get()));
    }
    if (!((Boolean)(Logic.$FILLINGCONSTRAINTPROPAGATIONQUEUESp$.get())).booleanValue()) {
      { Object old$Context$000 = Stella.$CONTEXT$.get();
        Object old$Module$000 = Stella.$MODULE$.get();

        try {
          Native.setSpecial(Stella.$CONTEXT$, world);
          Native.setSpecial(Stella.$MODULE$, ((Context)(Stella.$CONTEXT$.get())).baseModule);
          Proposition.evaluateProposition(self);
          return;

        } finally {
          Stella.$MODULE$.set(old$Module$000);
          Stella.$CONTEXT$.set(old$Context$000);
        }
      }
    }
    { PropagationEnvironment environment = Logic.getPropagationEnvironment(world);

      if (!(((Keyword)(environment.evaluationStates.lookup(self))) == Logic.KWD_POSTED)) {
        environment.evaluationQueue.insert(self);
        environment.evaluationStates.insertAt(self, Logic.KWD_POSTED);
      }
    }
  }