reserve m,j,p,q,n,l for Element of NAT;
reserve e1,e2 for ExtReal;
reserve i for Nat,
        k,k1,k2,j1 for Element of NAT,
        x,x1,x2,y for set;
reserve p1,p2 for FinSequence;
reserve q,q1,q2,q3,q4 for FinSubsequence,
        p1,p2 for FinSequence;
reserve l1 for Nat,
        j2 for Element of NAT;

theorem
for p1,p2 being FinSequence, q1,q2 being FinSubsequence st q1 c= p1 & q2 c= p2
  ex ss being FinSubsequence st
  ss = q1 \/ Shift(q2,len p1) & (Seq q1)^(Seq q2) = Seq ss
proof
  let p1,p2 be FinSequence, q1,q2 be FinSubsequence;
  assume that
A1: q1 c= p1 and
A2: q2 c= p2;
  consider ss being FinSubsequence such that
A3: ss = q1 \/ Shift(q2,len p1) and
A4: dom Seq ss = Seg (len Seq q1 + len Seq q2) and
A5: Seq ss = Seq q1 \/ Shift(Seq q2,len Seq q1) by A1,A2,Th62;
A6: for j1 be Nat st j1 in dom Seq q1 holds (Seq ss).j1 = (Seq q1).j1
  by A5,GRFUNC_1:15;
  for j2 be Nat st j2 in dom Seq q2 holds (Seq ss).(len Seq q1 + j2) =
  (Seq q2).j2
  proof
    let j2 be Nat;
    assume
A7: j2 in dom Seq q2;
    dom Shift(Seq q2,len Seq q1) =
      {k+len Seq q1 where k is Nat: k in dom Seq q2} by Def12;
    then len Seq q1 + j2 in dom Shift(Seq q2,len Seq q1) by A7;
    hence (Seq ss).(len Seq q1 + j2)
    = Shift(Seq q2,len Seq q1).(len Seq q1 + j2) by A5,GRFUNC_1:15
      .= (Seq q2).j2 by A7,Def12;
  end;
  then Seq ss = (Seq q1)^(Seq q2) by A4,A6,FINSEQ_1:def 7;
  hence thesis by A3;
end;
