reserve x,x0,x1,x2,y,y0,y1,y2,r,r1,s,p,p1 for Real;
reserve z,z0 for Element of REAL 2;
reserve n,m,k for Element of NAT;
reserve Z for Subset of REAL 2;
reserve s1 for Real_Sequence;
reserve f,f1,f2 for PartFunc of REAL 2,REAL;
reserve R,R1,R2 for RestFunc;
reserve L,L1,L2 for LinearFunc;

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