reserve x,y for object,
  f for Function;

theorem Th39:
  for X being finite set holds proj1 X is finite & proj2 X is finite
proof
  deffunc F(object) = $1`1;
  let X be finite set;
  consider f being Function such that
A1: dom f = X & for x being object st x in X holds f.x = F(x) from FUNCT_1:
  sch 3;
A2: proj1 X c= rng f
  proof
    let x be object;
    assume x in proj1 X;
    then consider y being object such that
A3: [x,y] in X by XTUPLE_0:def 12;
    [x,y]`1 = x;
    then f.([x,y]) = x by A1,A3;
    hence thesis by A1,A3,FUNCT_1:def 3;
  end;
  rng f is finite by A1,FINSET_1:8;
  hence proj1 X is finite by A2;
  deffunc F(object) = $1`2;
  consider f being Function such that
A4: dom f = X & for x being object st x in X holds f.x = F(x) from FUNCT_1:
  sch 3;
A5: proj2 X c= rng f
  proof
    let x be object;
    assume x in proj2 X;
    then consider y being object such that
A6: [y,x] in X by XTUPLE_0:def 13;
    [y,x]`2 = x;
    then f.([y,x]) = x by A4,A6;
    hence thesis by A4,A6,FUNCT_1:def 3;
  end;
  rng f is finite by A4,FINSET_1:8;
  hence thesis by A5;
end;
