public static SequenceIndex selectPropositions(Cons pattern) {
    { Keyword kind = ((Keyword)(pattern.value));
      Cons arguments = pattern.rest.rest;

      if (kind == Logic.KWD_DEPENDENTS) {
        return (Logic.unfilteredDependentPropositions(arguments.value, null));
      }
      else if (kind == Logic.KWD_ISA) {
        return (Logic.selectIsaPropositions(pattern));
      }
      else if (kind == Logic.KWD_RELATION) {
        return (Logic.selectRelationPropositions(pattern));
      }
      else if (kind == Logic.KWD_RULES) {
        return (Logic.selectRulePropositions(pattern));
      }
      else {
        { OutputStringStream stream000 = OutputStringStream.newOutputStringStream();

          stream000.nativeStream.print("select-propositions: Can't yet handle pattern `" + pattern + "'");
          throw ((StellaException)(StellaException.newStellaException(stream000.theStringReader()).fillInStackTrace()));
        }
      }
    }
  }