reserve x,y,z for set;
reserve f,f1,f2,f3 for FinSequence,
  p,p1,p2,p3 for set,
  i,k for Nat;
reserve D for non empty set,
  p,p1,p2,p3 for Element of D,
  f,f1,f2 for FinSequence of D;
reserve D for non empty set;
reserve p, q for FinSequence,
  X, Y, x, y for set,
  D for non empty set,
  i, j, k, l, m, n, r for Nat;
reserve a, a1, a2 for TwoValued Alternating FinSequence;
reserve fs, fs1, fs2 for FinSequence of X,
  fss, fss2 for Subset of fs;
reserve F, F1 for FinSequence of INT,
  k, m, n, ma for Nat;
reserve i,j,k,m,n for Nat,
  D for non empty set,
  p for Element of D,
  f for FinSequence of D;
reserve D for non empty set,
  p for Element of D,
  f for FinSequence of D;
reserve f for circular FinSequence of D;
reserve i, i1, i2, j, k for Nat;
reserve D for non empty set,
  f1 for FinSequence of D;

theorem
  for f1,i1,i2,j st 1<=i1 & i1<=len f1 & 1<=i2 & i2<=len f1 holds
    mid(f1,i1,i2).(len mid(f1,i1,i2))=f1.i2
proof
  let f1,i1,i2,j;
  assume that
A1: 1<=i1 and
A2: i1<=len f1 and
A3: 1<=i2 and
A4: i2<=len f1;
  per cases;
  suppose
    i1<=i2;
    hence thesis by A1,A4,Th10;
  end;
  suppose
A5: i1>i2;
    0<=i2-1 by A3,XREAL_1:48;
    then i1-0>=i1-(i2-1) by XREAL_1:10;
    then i1>=i1-i2+1;
    then i1-'i2+1<=i1 by A5,XREAL_1:233;
    then
A6: i1-'(i1-'i2+1)+1=i1-(i1-'i2+1)+1 by XREAL_1:233
      .=i1-(i1-'i2)
      .=i1-(i1-i2) by A5,XREAL_1:233
      .=i2;
    len mid(f1,i1,i2)=i1-'i2+1 by A1,A2,A3,A4,A5,Th117;
    then 1<=len mid(f1,i1,i2) by NAT_1:11;
    then
    mid(f1,i1,i2).(len mid(f1,i1,i2)) =f1.(i1-'len mid(f1,i1,i2)+1) by A1,A2,A3
,A4,A5,Th117
      .=f1.(i1-'(i1-'i2+1)+1) by A1,A2,A3,A4,A5,Th117;
    hence thesis by A6;
  end;
end;
