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;

theorem
  p2 <> p3 implies Rotate(<*p1,p2,p3*>,p3) = <*p3,p2,p3*>
proof
  assume
A1: p2 <> p3;
  per cases;
  suppose
    p1 = p3;
    hence thesis by Th97;
  end;
  suppose
A2: p1 <> p3;
    rng<*p1,p2,p3*> = {p1,p2,p3} by Lm2;
    then p3 in rng<*p1,p2,p3*> by ENUMSET1:def 1;
    hence Rotate(<*p1,p2,p3*>,p3) = (<*p1,p2,p3*>:-p3)^((<*p1,p2,p3*>-:p3)/^1)
    by Def2
      .= <*p3*>^((<*p1,p2,p3*>-:p3)/^1) by A1,A2,Th55
      .= <*p3*>^(<*p1,p2,p3*>/^1) by A1,A2,Th51
      .= <*p3*>^<*p2,p3*> by Th47
      .= <*p3,p2,p3*> by FINSEQ_1:43;
  end;
end;
