let x, y, z be set ; :: thesis: for O being non empty connected Poset
for R being array of O st [x,y] in inversions R holds
( ( [z,y] in inversions R & z in x ) iff [z,x] in inversions (Swap (R,x,y)) )

let O be non empty connected Poset; :: thesis: for R being array of O st [x,y] in inversions R holds
( ( [z,y] in inversions R & z in x ) iff [z,x] in inversions (Swap (R,x,y)) )

let R be array of O; :: thesis: ( [x,y] in inversions R implies ( ( [z,y] in inversions R & z in x ) iff [z,x] in inversions (Swap (R,x,y)) ) )
set s = Swap (R,x,y);
assume [x,y] in inversions R ; :: thesis: ( ( [z,y] in inversions R & z in x ) iff [z,x] in inversions (Swap (R,x,y)) )
then A0: ( x in dom R & y in dom R & x in y & R /. x > R /. y ) by TW0;
then A1: ( (Swap (R,x,y)) /. x = R /. y & (Swap (R,x,y)) /. y = R /. x & dom (Swap (R,x,y)) = dom R ) by TSa2, TSb2, FUNCT_7:99;
hereby :: thesis: ( [z,x] in inversions (Swap (R,x,y)) implies ( [z,y] in inversions R & z in x ) )
assume Z1: ( [z,y] in inversions R & z in x ) ; :: thesis: [z,x] in inversions (Swap (R,x,y))
then A2: ( z in dom R & z in y & R /. z > R /. y ) by TW0;
then ( x <> z & y <> z ) by Z1;
then (Swap (R,x,y)) /. z = R /. z by A2, TSc2;
hence [z,x] in inversions (Swap (R,x,y)) by Z1, A0, A1, A2; :: thesis: verum
end;
assume [z,x] in inversions (Swap (R,x,y)) ; :: thesis: ( [z,y] in inversions R & z in x )
then A2: ( z in dom R & z in x & (Swap (R,x,y)) /. z > (Swap (R,x,y)) /. x ) by A1, TW0;
then A3: z in y by A0, ORDINAL1:10;
(Swap (R,x,y)) /. z = R /. z by A0, A2, TSc2;
hence ( [z,y] in inversions R & z in x ) by A0, A1, A2, A3; :: thesis: verum