public static boolean holdsOperatorP(Stella_Object operator) {
    { Surrogate testValue000 = Stella_Object.safePrimaryType(operator);

      if (Surrogate.subtypeOfSymbolP(testValue000)) {
        { Symbol operator000 = ((Symbol)(operator));

          return ((operator000 == Logic.SYM_PL_KERNEL_KB_HOLDS) ||
              (Logic.lookupLogicVariableBinding(operator000) != null));
        }
      }
      else if (testValue000 == Logic.SGT_STELLA_CONS) {
        { Cons operator000 = ((Cons)(operator));

          return (true);
        }
      }
      else {
        { OutputStringStream stream000 = OutputStringStream.newOutputStringStream();

          stream000.nativeStream.print("`" + testValue000 + "' is not a valid case option");
          throw ((StellaException)(StellaException.newStellaException(stream000.theStringReader()).fillInStackTrace()));
        }
      }
    }
  }