reserve a,b,c,k,m,n for Nat;
reserve i,j,x,y for Integer;
reserve p,q for Prime;
reserve r,s for Real;

theorem
  for m,n being positive Nat ex a,b,c being Integer st
  { [x,y] where x,y is Nat: a*x + b*y = c } = { [m,n] }
  proof
    let m,n be positive Nat;
    consider a being Prime such that
A1: a > m+n by NEWTON:72;
    consider b being Prime such that
A2: b > a by NEWTON:72;
    take a, b, c = a*m+b*n;
    set A = { [x,y] where x,y is Nat: a*x + b*y = c };
    set B = { [m,n] };
A3: b > m+n by A1,A2,XXREAL_0:2;
    thus A c= B
    proof
      let z be object;
      assume z in A;
      then consider x,y being Nat such that
A4:   z = [x,y] and
A5:   a*x+b*y = c;
      per cases by XXREAL_0:1;
      suppose m = x & n = y;
        hence thesis by A4,TARSKI:def 1;
      end;
      suppose x > m & y >= n or x >= m & y > n;
        then a*x > a*m & b*y >= b*n or a*x >= a*m & b*y > b*n by XREAL_1:64,68;
        hence thesis by A5,XREAL_1:8;
      end;
      suppose x < m;
        then
A6:     m-x > x-x by XREAL_1:8;
        then
A7:     m-x in NAT by INT_1:3;
        b divides b*n & b divides b*y;
        then b divides a*(m-x)+b*n-b*n by A5,INT_5:1;
        then b divides a or b divides m-x by INT_5:7;
        then b <= m-x by A2,A6,A7,NAT_D:7;
        then m+n < m-x by A3,XXREAL_0:2;
        hence thesis by XREAL_1:6;
      end;
      suppose y < n;
        then
A8:     n-y > y-y by XREAL_1:8;
        then
A9:     n-y in NAT by INT_1:3;
A10:    a > 1 by INT_2:def 4;
        a divides a*m & a divides a*x;
        then a divides b*(n-y)+a*m-a*m by A5,INT_5:1;
        then a divides b or a divides n-y by INT_5:7;
        then a <= n-y by A2,A8,A9,A10,NAT_D:7,INT_2:def 4;
        then m+n < n-y by A1,XXREAL_0:2;
        hence thesis by XREAL_1:6;
      end;
    end;
    let z be object;
    assume z in B;
    then z = [m,n] by TARSKI:def 1;
    hence thesis;
  end;
