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
  p1 <> p2 implies Rotate(<*p1,p2,p3*>,p2) = <*p2,p3,p2*>
proof
  assume
A1: p1 <> p2;
  rng<*p1,p2,p3*> = {p1,p2,p3} by Lm2;
  then p2 in rng<*p1,p2,p3*> by ENUMSET1:def 1;
  hence
  Rotate(<*p1,p2,p3*>,p2) = (<*p1,p2,p3*>:-p2)^((<*p1,p2,p3*>-:p2)/^1) by Def2
    .= <*p2,p3*>^((<*p1,p2,p3*>-:p2)/^1) by A1,Th54
    .= <*p2,p3*>^(<*p1,p2*>/^1) by A1,Th50
    .= <*p2,p3,p2*> by Th46;
end;
