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<=i2 & i2<=i1 & i1<=len f1 & 1<=j & j<=i1-'i2+1 holds
    mid(f1,i1,i2).j=f1.(i1-'j+1)
proof
  let f1,i1,i2,j;
  assume that
A1: 1<= i2 and
A2: i2<=i1 and
A3: i1<= len f1 and
A4: 1<=j and
A5: j<=i1-'i2+1;
A6: j<=len mid(f1,i1,i2) by A1,A2,A3,A5,Th9;
  per cases by A2,XXREAL_0:1;
  suppose
A7: i1=i2;
    then
A8: i1-'i2+1=0+1 by XREAL_1:232
      .=1;
    then j+i1-'1=1+i1-'1 by A4,A5,XXREAL_0:1
      .=1+i1-1 by NAT_D:37
      .=i1-1+1
      .=i1-'1+1 by A1,A7,XREAL_1:233
      .=i1-'j+1 by A4,A5,A8,XXREAL_0:1;
    hence thesis by A1,A3,A4,A6,A7,Th117;
  end;
  suppose
A9: i2<i1;
A10: i2<=len f1 by A2,A3,XXREAL_0:2;
    1<=i1 by A1,A2,XXREAL_0:2;
    hence thesis by A1,A3,A4,A6,A9,A10,Th117;
  end;
end;
