public static boolean equivalentHoldsPropositionP(Proposition self, Proposition other, KeyValueMap mapping) {
    { boolean testValue000 = false;

      testValue000 = Logic.equivalentFormulaeP((self.arguments.theArray)[0], other.operator, mapping);
      if (testValue000) {
        testValue000 = (self.arguments.length() - 1) == other.arguments.length();
        if (testValue000) {
          { boolean alwaysP000 = true;

            { int i1 = Stella.NULL_INTEGER;
              int iter000 = 1;
              Stella_Object arg2 = null;
              Vector vector000 = other.arguments;
              int index000 = 0;
              int length000 = vector000.length();

              loop000 : for (;index000 < length000; iter000 = iter000 + 1, index000 = index000 + 1) {
                i1 = iter000;
                arg2 = (vector000.theArray)[index000];
                if (!Logic.equivalentFormulaeP((self.arguments.theArray)[i1], arg2, mapping)) {
                  alwaysP000 = false;
                  break loop000;
                }
              }
            }
            testValue000 = alwaysP000;
          }
        }
      }
      { boolean value000 = testValue000;

        return (value000);
      }
    }
  }