reserve
  X,x,y,z for set,
  k,n,m for Nat ,
  f for Function,
  p,q,r for FinSequence of NAT;
reserve p1,p2,p3 for FinSequence;

theorem
  {} is_a_proper_prefix_of p2 or {} <> p2 implies
  p1 is_a_proper_prefix_of p1^p2
proof
  assume
A1: {} is_a_proper_prefix_of p2 or {} <> p2;
  thus p1 is_a_prefix_of p1^p2 by Th1;
  assume p1 = p1^p2;
then  len p1 = len p1 + len p2 by FINSEQ_1:22;
then  p2 = {};
  hence contradiction by A1;
end;
