reserve M for non empty MetrSpace,
        F,G for open Subset-Family of TopSpaceMetr M;
reserve L for Lebesgue_number of F;
reserve n,k for Nat,
        r for Real,
        X for set,
        M for Reflexive non empty MetrStruct,
        A for Subset of M,
        K for SimplicialComplexStr;
reserve V for RealLinearSpace,
        Kv for non void SimplicialComplex of V;
reserve A for Subset of TOP-REAL n;

theorem Th20:
  for i,j be Element of NAT
  for f be Function of [:TOP-REAL i,TOP-REAL j:],TOP-REAL(i+j) st
       for fi be Element of TOP-REAL i,fj be Element of TOP-REAL j
         holds f.(fi,fj) = fi^fj
  for r for fi be Point of Euclid i,fj be Point of Euclid j,
            fij be Point of Euclid(i+j) st fij = fi^fj
    holds f.:[:OpenHypercube(fi,r),OpenHypercube(fj,r):] = OpenHypercube(fij,r)
  proof
  let i,j be Element of NAT;
  let f be Function of[:TOP-REAL i,TOP-REAL j:],TOP-REAL(i+j) such that
   A1: for fi be Element of TOP-REAL i,fj be Element of TOP-REAL j holds f.(fi,
fj)=fi^fj;
  let r be Real,fi be Point of Euclid i,fj be Point of Euclid j,fij be
Point of Euclid(i+j) such that
   A2: fij=fi^fj;
  set Ii=Intervals(fi,r),Ij=Intervals(fj,r),Iij=Intervals(fij,r);
  A3: OpenHypercube(fi,r)=product Ii by EUCLID_9:def 4;
  A4: [#]TOP-REAL i=[#]TopSpaceMetr Euclid i by Lm3;
  A5: [#]TOP-REAL j=[#]TopSpaceMetr Euclid j by Lm3;
  A6: OpenHypercube(fj,r)=product Ij by EUCLID_9:def 4;
  A7: Ii^Ij=Iij by A2,RLAFFIN3:1;
  A8: f.:[:product Ii,product Ij:]c=product Iij
  proof
   let y be object;
   assume y in f.:[:product Ii,product Ij:];
   then consider x be object such that
    x in dom f and
    A9: x in [:product Ii,product Ij:] and
    A10: f.x=y by FUNCT_1:def 6;
   consider xi,xj be object such that
    A11: xi in product Ii and
    A12: xj in product Ij and
    A13: x=[xi,xj] by A9,ZFMISC_1:def 2;
   reconsider xi as Element of TOP-REAL i by A3,A4,A11;
   reconsider xj as Element of TOP-REAL j by A5,A6,A12;
   y=f.(xi,xj) by A10,A13,BINOP_1:def 1
    .=xi^xj by A1;
   hence y in product Iij by A7,A11,A12,RLAFFIN3:2;
  end;
  A14: product Iij c=f.:[:product Ii,product Ij:]
  proof
   let y be object;
   assume y in product Iij;
   then consider p1,p2 be FinSequence such that
    A15: y=p1^p2 and
    A16: p1 in product Ii & p2 in product Ij by A7,RLAFFIN3:2;
   A17: [p1,p2] in [:product Ii,product Ij:] by A16,ZFMISC_1:87;
   [p1,p2] in [:[#]TOP-REAL i,[#]TOP-REAL j:] by A3,A5,A4,A6,A16,ZFMISC_1:87;
   then [p1,p2] in [#][:TOP-REAL i,TOP-REAL j:];
   then A18: [p1,p2] in dom f by FUNCT_2:def 1;
   y=f.(p1,p2) by A1,A3,A5,A4,A6,A15,A16
    .=f. [p1,p2] by BINOP_1:def 1;
   hence thesis by A17,A18,FUNCT_1:def 6;
  end;
  OpenHypercube(fij,r)=product Iij by EUCLID_9:def 4;
  hence thesis by A3,A6,A8,A14,XBOOLE_0:def 10;
 end;
