
theorem Th27:
for X1,X2,Y be non empty set, f be Function of [:X1,X2:],Y,
  x be Element of X1, y be Element of X2
  holds ProjPMap1(f,x) = ProjMap1(f,x) & ProjPMap2(f,y) = ProjMap2(f,y)
proof
   let X1,X2,Y be non empty set, f be Function of [:X1,X2:],Y,
   x be Element of X1, y be Element of X2;

   dom f = [:X1,X2:] by FUNCT_2:def 1; then
A1:dom f = [#][:X1,X2:] by SUBSET_1:def 3; then
   X-section(dom f,x) = X2 by MEASUR11:24; then
   dom ProjPMap1(f,x) = X2 by Def3; then
A2:dom ProjPMap1(f,x) = dom ProjMap1(f,x) by FUNCT_2:def 1;

   for y be Element of X2 st y in dom ProjPMap1(f,x) holds
    ProjPMap1(f,x).y = ProjMap1(f,x).y
   proof
    let y be Element of X2;
    assume y in dom ProjPMap1(f,x); then
    ProjPMap1(f,x).y = f.(x,y) by Th26;
    hence ProjPMap1(f,x).y = ProjMap1(f,x).y by MESFUNC9:def 6;
   end;
   hence ProjPMap1(f,x) = ProjMap1(f,x) by A2,PARTFUN1:5;

   Y-section(dom f,y) = X1 by A1,MEASUR11:24; then
   dom ProjPMap2(f,y) = X1 by Def4; then
A3:dom ProjPMap2(f,y) = dom ProjMap2(f,y) by FUNCT_2:def 1;

   for x be Element of X1 st x in dom ProjPMap2(f,y) holds
    ProjPMap2(f,y).x = ProjMap2(f,y).x
   proof
    let x be Element of X1;
    assume x in dom ProjPMap2(f,y); then
    ProjPMap2(f,y).x = f.(x,y) by Th26;
    hence ProjPMap2(f,y).x = ProjMap2(f,y).x by MESFUNC9:def 7;
   end;
   hence ProjPMap2(f,y) = ProjMap2(f,y) by A3,PARTFUN1:5;
end;
