reserve a, b for Real,
  r for Real,
  rr for Real,
  i, j, n for Nat,
  M for non empty MetrSpace,
  p, q, s for Point of TOP-REAL 2,
  e for Point of Euclid 2,
  w for Point of Euclid n,
  z for Point of M,
  A, B for Subset of TOP-REAL n,
  P for Subset of TOP-REAL 2,
  D for non empty Subset of TOP-REAL 2;
reserve a, b for Real;
reserve a, b for Real;
reserve r for Real;

theorem Th68:
  for A, B being Subset of REAL, f being Function of [:R^1,R^1:],
  TOP-REAL 2 st for x, y being Real holds f. [x,y] = <*x,y*> holds f.:[:A,B:] =
  product ((1,2) --> (A,B))
proof
  let A, B be Subset of REAL, f be Function of [:R^1,R^1:], TOP-REAL 2 such
  that
A1: for x, y being Real holds f. [x,y] = <*x,y*>;
  set h = (1,2) --> (A,B);
A2: dom h = {1,2} by FUNCT_4:62;
  thus f.:[:A,B:] c= product h
  proof
    let x be object;
    assume x in f.:[:A,B:];
    then consider a being object such that
A3: a in the carrier of [:R^1,R^1:] and
A4: a in [:A,B:] and
A5: f.a = x by FUNCT_2:64;
    reconsider a as Point of [:R^1,R^1:] by A3;
    consider m, n being object such that
A6: m in A and
A7: n in B and
A8: a = [m,n] by A4,ZFMISC_1:def 2;
    f.a = x by A5;
    then reconsider g = x as Function of Seg 2, REAL by EUCLID:23;
    reconsider m, n as Real by A6,A7;
A9: for y being object st y in dom h holds g.y in h.y
    proof
      let y be object;
      assume y in dom h;
      then
A11:  y = 1 or y = 2 by TARSKI:def 2;
      f. [m,n] = |[m,n]| by A1;
      hence thesis by A5,A6,A7,A8,A11,FUNCT_4:63;
    end;
    dom g = dom h by A2,FINSEQ_1:2,FUNCT_2:def 1;
    hence thesis by A9,CARD_3:9;
  end;
A13: h.2 = B by FUNCT_4:63;
  let a be object;
  assume a in product h;
  then consider g being Function such that
A14: a = g and
A15: dom g = dom h and
A16: for x being object st x in dom h holds g.x in h.x by CARD_3:def 5;
  2 in dom h by A2,TARSKI:def 2;
  then
A17: g.2 in B by A13,A16;
A18: h.1 = A by FUNCT_4:63;
  1 in dom h by A2,TARSKI:def 2;
  then
A19: g.1 in A by A18,A16;
  then
A20: f. [g.1,g.2] = <*g.1,g.2*> by A1,A17;
A21: now
    let k be object;
    assume k in dom g;
    then k = 1 or k = 2 by A15,TARSKI:def 2;
    hence g.k = <*g.1,g.2*>.k;
  end;
A22: dom <*g.1,g.2*> = {1,2} by FINSEQ_1:2,89;
A23: [g.1,g.2] in [:A,B:] by A19,A17,ZFMISC_1:87;
  the carrier of [:R^1,R^1:] = [:the carrier of R^1,the carrier of R^1 :]
  by BORSUK_1:def 2;
  then [g.1,g.2] in the carrier of [:R^1,R^1:] by A19,A17,TOPMETR:17
,ZFMISC_1:87;
  hence thesis by A2,A14,A15,A23,A22,A21,A20,FUNCT_1:2,FUNCT_2:35;
end;
