public static TruthValue evaluateSelectionPattern(Cons pattern) {
    pattern = Logic.makeSelectionPattern(((Keyword)(pattern.value)), Cons.list$(Cons.cons(Logic.KWD_EVALUATEp, Cons.cons(Logic.SYM_STELLA_TRUE, Cons.cons(((Cons)(pattern.rest.value)).concatenate(Stella.NIL, Stella.NIL), Stella.NIL)))), pattern.rest.rest);
    { Proposition proposition = null;
      Iterator iter000 = Logic.selectPropositions(pattern).allocateIterator();

      while (iter000.nextP()) {
        proposition = ((Proposition)(iter000.value));
        if (TruthValue.knownTruthValueP(((TruthValue)(Stella_Object.accessInContext(proposition.truthValue, proposition.homeContext, false))))) {
          return (((TruthValue)(Stella_Object.accessInContext(proposition.truthValue, proposition.homeContext, false))));
        }
      }
    }
    return (Logic.UNKNOWN_TRUTH_VALUE);
  }