reserve k,m,n for Nat,
  a, b, c for object,
  x, y, X, Y, Z for set,
  D for non empty set;
reserve p, q, r, s, t, u, v for FinSequence;
reserve P, Q, R, P1, P2, Q1, Q2, R1, R2 for FinSequence-membered set;
reserve S, T for non empty FinSequence-membered set;

theorem Th1:
  for p,q,r,s st p^q = r^s ex t st p^t = r or p = r^t
proof
  let p, q, r, s;
  assume A1: p^q = r^s;
  per cases;
  suppose len p <= len r;
    then consider u such that A2: p^u = r by A1, FINSEQ_1:47;
    take u;
    thus thesis by A2;
  end;
  suppose len p > len r;
    then consider u such that A3: r^u = p by A1, FINSEQ_1:47;
    take u;
    thus thesis by A3;
  end;
end;
