public static void memberOfEvaluator(Proposition self) {
    { Stella_Object member = Logic.valueOf((self.arguments.theArray)[0]);
      Stella_Object collection = Logic.valueOf((self.arguments.theArray)[1]);

      if (Proposition.trueP(self)) {
        if (Stella_Object.isaP(collection, Logic.SGT_LOGIC_DESCRIPTION) &&
            (Stella_Object.isaP(member, Logic.SGT_LOGIC_LOGIC_OBJECT) &&
             (!Description.namedDescriptionP(((Description)(collection)))))) {
          Logic.inheritUnnamedDescription(((LogicObject)(member)), ((Description)(collection)), Proposition.defaultTrueP(self));
        }
        if (Logic.logicalCollectionP(collection)) {
          { Object old$ReversepolarityP$000 = Logic.$REVERSEPOLARITYp$.get();

            try {
              Native.setBooleanSpecial(Logic.$REVERSEPOLARITYp$, true);
              if (Logic.memberOfCollectionP(member, collection) &&
                  (!Logic.skolemP(member))) {
                Proposition.signalTruthValueClash(self);
              }

            } finally {
              Logic.$REVERSEPOLARITYp$.set(old$ReversepolarityP$000);
            }
          }
        }
      }
    }
  }