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 Th1:
  dom proj(1,3) = REAL 3 & rng proj(1,3) = REAL &
  for x,y,z be Real holds proj(1,3).<*x,y,z*> = x
proof
    set f = proj(1,3);
A1: for x be object st x in REAL ex u be object st u in REAL 3 & x = f.u
    proof
      let x be object;
      assume x in REAL;
      then reconsider x1 = x as Element of REAL;
      set y = the Element of REAL;
      reconsider u = <*x1,y,y*> as Element of REAL 3 by FINSEQ_2:104;
      f.u = u.1 by PDIFF_1:def 1;
      then f.u = x;
      hence thesis;
    end;
    now let x,y,z;
      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(1,3).<*x,y,z*> = <*x,y,z*>.1 by PDIFF_1:def 1;
      hence proj(1,3).<*x,y,z*> = x;
    end;
    hence thesis by A1,FUNCT_2:10,def 1;
end;
