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;

theorem Th20:
  for A, B being Subset of REAL holds product ((1,2) --> (A,B)) is
  Subset of TOP-REAL 2
proof
  let A, B be Subset of REAL;
  set f = (1,2) --> (A,B);
  product f c= the carrier of TOP-REAL 2
  proof
    let a be object;
A1: f.1 = A by FUNCT_4:63;
A2: f.2 = B by FUNCT_4:63;
    assume a in product f;
    then consider g being Function such that
A3: a = g and
A4: dom g = dom f and
A5: for x being object st x in dom f holds g.x in f.x by CARD_3:def 5;
A6: dom f = {1,2} by FUNCT_4:62;
    then 2 in dom f by TARSKI:def 2;
    then
A7: g.2 in B by A5,A2;
    1 in dom f by A6,TARSKI:def 2;
    then g.1 in A by A5,A1;
    then reconsider m = g.1, n = g.2 as Real by A7;
A8: now
      let k be object;
      assume k in dom g;
      then k = 1 or k = 2 by A4,TARSKI:def 2;
      hence g.k = <*g.1,g.2*>.k;
    end;
    dom <*g.1,g.2*> = {1,2} by FINSEQ_1:2,89;
    then a = |[m,n]| by A3,A4,A8,FUNCT_1:2,FUNCT_4:62;
    hence thesis;
  end;
  hence thesis;
end;
