public static Proposition findMatchingConceivedProposition(Proposition goal) {
    { Keyword testValue000 = goal.kind;

      if ((testValue000 == Logic.KWD_PREDICATE) ||
          ((testValue000 == Logic.KWD_FUNCTION) ||
           ((testValue000 == Logic.KWD_ISA) ||
            (testValue000 == Logic.KWD_EQUIVALENT)))) {
        { Stella_Object backlinkedargument = Proposition.selectArgumentWithBacklinks(goal, new Object[1]);

          if (backlinkedargument == null) {
            return (null);
          }
          { Proposition value000 = null;

            { Proposition p = null;
              Iterator iter000 = Logic.unfilteredDependentPropositions(backlinkedargument, ((Surrogate)(goal.operator))).allocateIterator();

              loop000 : while (iter000.nextP()) {
                p = ((Proposition)(iter000.value));
                if ((((Surrogate)(p.operator)) == goal.operator) &&
                    Proposition.argumentsMatchArgumentsP(p, goal)) {
                  value000 = p;
                  break loop000;
                }
              }
            }
            { Proposition value001 = value000;

              return (value001);
            }
          }
        }
      }
      else {
        return (goal);
      }
    }
  }