
theorem Th46:
for X be non empty set, f be sequence of X, i,j be Nat
 ex g be sequence of X st
   (for n be Nat st n <> i & n <> j holds f.n = g.n)
 & f.i = g.j & f.j = g.i
proof
    let X be non empty set, f be sequence of X, i,j be Nat;
    defpred P[object,object] means
     ($1 <> i & $1 <> j implies $2 = f.$1)
   & ($1 = i implies $2 = f.j)
   & ($1 = j implies $2 = f.i);

A1: for n be Element of NAT
     ex x be Element of X st P[n,x]
    proof
     let n be Element of NAT;
     per cases;
     suppose A2: n <> i & n <> j;
      reconsider x = f.n as Element of X;
      take x;
      thus P[n,x] by A2;
     end;
     suppose A3: n = i;
      reconsider x = f.j as Element of X;
      take x;
      thus P[n,x] by A3;
     end;
     suppose A4: n = j;
      reconsider x = f.i as Element of X;
      take x;
      thus P[n,x] by A4;
     end;
    end;

    consider g be Function of NAT,X such that
A5:  for n be Element of NAT holds P[n,g.n] from FUNCT_2:sch 3(A1);
    take g;
A6: i is Element of NAT & j is Element of NAT by ORDINAL1:def 12;
    hereby let n be Nat;
     assume A7: n <> i & n <> j;
     n is Element of NAT by ORDINAL1:def 12;
     hence f.n = g.n by A5,A7;
    end;
    thus f.i = g.j & f.j = g.i by A5,A6;
end;
