reserve D for set;
reserve x,x0,x1,x2,y,y0,y1,y2,z,z0,z1,z2,r,s,t for Real;
reserve p,a,u,u0 for Element of REAL 3;
reserve n,m,k for Element of NAT;
reserve f,f1,f2,f3,g for PartFunc of REAL 3,REAL;
reserve R,R1,R2 for RestFunc;
reserve L,L1,L2 for LinearFunc;

theorem Th3:
  dom proj(3,3) = REAL 3 & rng proj(3,3) = REAL &
  for x,y,z be Real holds proj(3,3).<*x,y,z*> = z
proof
    set f = proj(3,3);
A1: for z be object st z in REAL ex u be object st u in REAL 3 & z = f.u
    proof
      let z be object;
      assume z in REAL;
      then reconsider z1 = z as Element of REAL;
      set x = the Element of REAL;
      reconsider u = <*x,x,z1*> as Element of REAL 3 by FINSEQ_2:104;
      f.u = u.3 by PDIFF_1:def 1;
      then f.u = z;
      hence thesis;
    end;
    now let x,y,z be Real;
      reconsider xx=x, yy=y, zz=z as Element of REAL by XREAL_0:def 1;
      <*xx,yy,zz*> is Element of 3-tuples_on REAL by FINSEQ_2:104;
      then proj(3,3).<*x,y,z*> = <*x,y,z*>.3 by PDIFF_1:def 1;
      hence proj(3,3).<*x,y,z*> = z;
    end;
    hence thesis by A1,FUNCT_2:10,def 1;
end;
