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;

theorem
  for f being FinSequence of D st 1<=len f holds mid(f,len f,1)=Rev f
proof
  let f be FinSequence of D;
  assume
A1: 1<=len f;
A2: 1-'1=0 by XREAL_1:232;
  per cases;
  suppose
    len f<>1;
    then 1<len f by A1,XXREAL_0:1;
    then mid(f,len f,1)=Rev ((f/^(1-'1))|(len f-'1+1)) by Def3
      .=Rev ((f/^0)|len f) by A1,A2,XREAL_1:235
      .=Rev (f|len f)
      .=Rev f by FINSEQ_1:58;
    hence thesis;
  end;
  suppose
A3: len f=1;
    then
A4: f|1=f by FINSEQ_1:58;
    mid(f,len f,1)=(f/^(1-'1))|(1-'1+1) by A3,Def3
      .=f|1 by A2;
    hence thesis by A1,A4,Th110,FINSEQ_1:59;
  end;
end;
