reserve
  a for natural Number,
  k,l,m,n,k1,b,c,i for Nat,
  x,y,z,y1,y2 for object,
  X,Y for set,
  f,g for Function;
reserve p,q,r,s,t for FinSequence;
reserve D for set;

theorem Th25:
  for k being Nat st k in dom (p^q) holds
  (k in dom p or ex n st n in dom q & k=len p + n )
proof
  let k be Nat;
  assume k in dom(p^q);
  then
A1: k in Seg len (p^q) by Def3;
  then
A2: k in Seg(len p + len q) by Th22;
A3: k in NAT & 1 <= k by A1,Th1;
A4: now
    assume not len p+1 <= k;
    then k <= len p by NAT_1:8;
    then k in Seg len p by A3;
    hence thesis by Def3;
  end;
  now
    assume len p + 1 <= k;
    then consider n be Nat such that
A5: k=len p + 1 + n by NAT_1:10;
    len p + (1 + n) <= len p + len q by A2,A5,Th1;
    then
A6: 1+n <= len q by XREAL_1:6;
    1 <= 1+n by NAT_1:11;
    then 1+n in Seg len q by A6;
    then
A7: 1+n in dom q by Def3;
    k=len p + (1+n) by A5;
    hence thesis by A7;
  end;
  hence thesis by A4;
end;
