public static boolean metaPropositionP(Proposition proposition) {
    if (proposition == null) {
      return (false);
    }
    { boolean pointstometaobjectP = false;

      { Stella_Object arg = null;
        Vector vector000 = proposition.arguments;
        int index000 = 0;
        int length000 = vector000.length();

        for (;index000 < length000; index000 = index000 + 1) {
          arg = (vector000.theArray)[index000];
          { Surrogate testValue000 = Stella_Object.safePrimaryType(arg);

            if (Surrogate.subtypeOfP(testValue000, Logic.SGT_LOGIC_DESCRIPTION)) {
              { Description arg000 = ((Description)(arg));

                pointstometaobjectP = true;
              }
            }
            else if (Surrogate.subtypeOfP(testValue000, Logic.SGT_STELLA_LITERAL_WRAPPER)) {
              { LiteralWrapper arg000 = ((LiteralWrapper)(arg));

              }
            }
            else {
              return (false);
            }
          }
        }
      }
      return (pointstometaobjectP);
    }
  }