reserve a,b,r,x,y for Real,
  i,j,k,n for Nat,
  x1 for set;

theorem
  for D be non empty set, f be FinSequence of D, k1,k2,k3 be Nat
    st 1<=k1 & k3<=len f & k1<=k2 & k2<k3
  holds mid(f,k1,k2)^mid(f,k2+1,k3)=mid(f,k1,k3)
proof
  let D be non empty set;
  let f be FinSequence of D;
  let k1,k2,k3 be Nat;
  assume that
A1: 1<=k1 and
A2: k3<=len f and
A3: k1<=k2 and
A4: k2<k3;
A5: k2 <= len f by A2,A4,XXREAL_0:2;
  then
A6: k1<=len f by A3,XXREAL_0:2;
  1<=k2 & k2<=len f by A1,A2,A3,A4,XXREAL_0:2;
  then
A7: len mid(f,k1,k2)=k2-'k1+1 by A1,A3,A6,FINSEQ_6:118
    .=k2-k1+1 by A3,XREAL_1:233;
A8: 1 <= k2 by A1,A3,XXREAL_0:2;
  then
A9: 1<=k3 by A4,XXREAL_0:2;
A10: k1<k3 by A3,A4,XXREAL_0:2;
A11: 1<=k2+1 by A8,NAT_1:13;
A12: k2+1<=k3 by A4,NAT_1:13;
  then k2+1<=len f by A2,XXREAL_0:2;
  then
A13: len mid(f,k2+1,k3)=k3-'(k2+1)+1 by A2,A9,A12,A11,FINSEQ_6:118
    .=k3-(k2+1)+1 by A12,XREAL_1:233
    .=k3-k2;
  then
A14: len(mid(f,k1,k2)^mid(f,k2+1,k3))=(k2-k1+1)+(k3-k2) by A7,FINSEQ_1:22
    .=k3-k1+1;
A15: 1<=k2+1 by A8,NAT_1:13;
A16: for k be Nat st 1<=k & k<=len(mid(f,k1,k2)^mid(f,k2+1,k3)) holds (mid(f
  ,k1,k2)^mid(f,k2+1,k3)).k = mid(f,k1,k3).k
  proof
    let k be Nat;
    assume
A17: 1<=k & k<=len(mid(f,k1,k2)^mid(f,k2+1,k3));
    then k in Seg len(mid(f,k1,k2)^mid(f,k2+1,k3)) by FINSEQ_1:1;
    then
A18: k in dom(mid(f,k1,k2)^mid(f,k2+1,k3)) by FINSEQ_1:def 3;
    now
      per cases by A18,FINSEQ_1:25;
      suppose
A19:    k in dom mid(f,k1,k2);
        then
A20:    k in Seg len mid(f,k1,k2) by FINSEQ_1:def 3;
        then
A21:    1 <= k by FINSEQ_1:1;
A22:    k <= k2-k1+1 by A7,A20,FINSEQ_1:1;
        k2-k1 <= k3-k1 by A4,XREAL_1:9;
        then k2-k1+1 <= k3-k1+1 by XREAL_1:6;
        then
A23:    k <= k3-k1+1 by A22,XXREAL_0:2;
        (mid(f,k1,k2)^mid(f,k2+1,k3)).k=mid(f,k1,k2).k by A19,FINSEQ_1:def 7
          .=f.(k-1+k1) by A1,A3,A5,A21,A22,FINSEQ_6:122;
        hence thesis by A1,A2,A10,A21,A23,FINSEQ_6:122;
      end;
      suppose
        ex n be Nat st n in dom mid(f,k2+1,k3)&k=len mid(f,k1,k2)+n;
        then consider n be Nat such that
A24:    n in dom mid(f,k2+1,k3) and
A25:    k=len mid(f,k1,k2)+n;
A26:    mid(f,k1,k3).k=f.(k2-(k1-1)+n+k1-1) by A1,A2,A10,A7,A14,A17,A25,
FINSEQ_6:122
          .=f.(n+k2);
        n in Seg len mid(f,k2+1,k3) by A24,FINSEQ_1:def 3;
        then
A27:    1 <= n & n <= k3-(k2+1)+1 by A13,FINSEQ_1:1;
        (mid(f,k1,k2)^mid(f,k2+1,k3)).k=mid(f,k2+1,k3).n by A24,A25,
FINSEQ_1:def 7
          .=f.(n+(k2+1)-1) by A2,A15,A12,A27,FINSEQ_6:122
          .=f.(n+k2+0);
        hence thesis by A26;
      end;
    end;
    hence thesis;
  end;
  len mid(f,k1,k3)=k3-'k1+1 by A1,A2,A6,A9,A10,FINSEQ_6:118
    .=k3-k1+1 by A3,A4,XREAL_1:233,XXREAL_0:2;
  hence thesis by A14,A16,FINSEQ_1:14;
end;
