let D be non empty set ; :: thesis: for p1, p2 being Element of D holds Rotate (<*p1,p2*>,p2) = <*p2,p2*>

let p1, p2 be Element of D; :: thesis: Rotate (<*p1,p2*>,p2) = <*p2,p2*>

let p1, p2 be Element of D; :: thesis: Rotate (<*p1,p2*>,p2) = <*p2,p2*>

per cases
( p1 = p2 or p1 <> p2 )
;

end;

suppose A1:
p1 <> p2
; :: thesis: Rotate (<*p1,p2*>,p2) = <*p2,p2*>

rng <*p1,p2*> = {p1,p2}
by Lm1;

then p2 in rng <*p1,p2*> by TARSKI:def 2;

hence Rotate (<*p1,p2*>,p2) = (<*p1,p2*> :- p2) ^ ((<*p1,p2*> -: p2) /^ 1) by Def2

.= <*p2*> ^ ((<*p1,p2*> -: p2) /^ 1) by A1, Th53

.= <*p2*> ^ (<*p1,p2*> /^ 1) by A1, Th49

.= <*p2,p2*> by Th46 ;

:: thesis: verum

end;then p2 in rng <*p1,p2*> by TARSKI:def 2;

hence Rotate (<*p1,p2*>,p2) = (<*p1,p2*> :- p2) ^ ((<*p1,p2*> -: p2) /^ 1) by Def2

.= <*p2*> ^ ((<*p1,p2*> -: p2) /^ 1) by A1, Th53

.= <*p2*> ^ (<*p1,p2*> /^ 1) by A1, Th49

.= <*p2,p2*> by Th46 ;

:: thesis: verum