  reserve n,m,i for Nat,
          p,q for Point of TOP-REAL n,
          r,s for Real,
          R for real-valued FinSequence;
reserve T1,T2,S1,S2 for non empty TopSpace,
        t1 for Point of T1, t2 for Point of T2,
        pn,qn for Point of TOP-REAL n,
        pm,qm for Point of TOP-REAL m;
reserve T,S for TopSpace,
        A for closed Subset of T,
        B for Subset of S;

theorem Th21:
  for n be non zero Nat
  for F be Element of n-tuples_on Funcs(the carrier of T,the carrier of R^1)
    st for i st i in dom F for h be Function of T,R^1 st h = F.i
  holds h is continuous holds <:F:> is continuous
proof
  let n be non zero Nat;
  let F be Element of n-tuples_on Funcs(the carrier of T,the carrier of R^1)
    such that
A1: for i st i in dom F for h be Function of T,R^1 st h = F.i
     holds h is continuous;
  set TR=TOP-REAL n,FF=<:F:>;
A2: for Y be Subset of TR st Y is open holds FF"Y is open
  proof
    let Y be Subset of TR;
    set E=Euclid n;
A3: the TopStruct of TR = TopSpaceMetr E by EUCLID: def 8;
    then reconsider YY=Y as Subset of TopSpaceMetr E;
    assume Y is open;
    then Y in the topology of TR;
    then reconsider YY as open Subset of TopSpaceMetr E
      by PRE_TOPC:def 2,A3;
A4: dom FF = the carrier of T by FUNCT_2:def 1;
    for x be set holds x in FF"Y
      iff
    ex Q be Subset of T st Q is open & Q c= FF"Y & x in Q
    proof
      let x be set;
      len F = n by CARD_1:def 7;
      then
A5:   dom F = Seg n by FINSEQ_1:def 3;
      hereby
        assume
A6:     x in FF"Y;
        then
A7:     FF.x in Y by FUNCT_1:def 7;
        then reconsider FFx=FF.x as Point of E by EUCLID: 67;
        consider m be Real such that
A8:       m>0
        and
A9:       OpenHypercube(FFx,m) c= YY by A7, Lm2;
        defpred P[Nat,object] means ex h be Function of T,R^1 st
          h = F.$1 & $2= h"].FFx.$1-m,FFx.$1+m.[;
A10:    for k be Nat st k in Seg n ex x be object st P[k,x]
        proof
          let k be Nat such that
A11:        k in Seg n;
          F.k in rng F by A5,A11,FUNCT_1:def 3;
          then consider h be Function such that
A12:        F.k = h
          and
A13:        dom h = the carrier of T
          and
A14:        rng h c= the carrier of R^1 by FUNCT_2:def 2;
          reconsider h as Function of T,R^1 by A13,A14,FUNCT_2:2;
          take h"].FFx.k-m,FFx.k+m.[;
          thus thesis by A12;
        end;
        consider p be FinSequence such that
A15:      dom p = Seg n & for k be Nat st k in Seg n holds P[k,p.k]
          from FINSEQ_1:sch 1(A10);
A16:    for Y be set holds Y in rng p implies x in Y
        proof
          let Y be set;
          assume Y in rng p;
          then consider k be object such that
A17:        k in dom p
          and
A18:        p.k=Y by FUNCT_1:def 3;
          reconsider k as Nat by A17;
          consider h be Function of T,R^1 such that
A19:        h = F.k
          and
A20:        p.k= h"].FFx.k-m,FFx.k+m.[ by A17,A15;
A21:      dom h = the carrier of T by FUNCT_2:def 1;
A22:      FFx.k > FFx.k-m by A8,XREAL_1:44;
          FFx.k+m> FFx.k by A8,XREAL_1:39;
          then
A23:      FFx.k in ].FFx.k-m,FFx.k+m.[ by A22,XXREAL_1:4;
          h.x = FFx.k by A19,Th20;
          hence thesis by A21,A6,A23,A20,A18,FUNCT_1:def 7;
        end;
        rng p c= bool the carrier of T
        proof
          let y be object;
          assume y in rng p;
          then consider k be object such that
A24:      k in dom p
          and
A25:      p.k=y by FUNCT_1:def 3;
          reconsider k as Nat by A24;
          ex h be Function of T,R^1 st
            h = F.k & p.k= h"].FFx.k-m,FFx.k+m .[ by A24,A15;
          hence thesis by A25;
        end;
        then reconsider R=rng p as finite Subset-Family of T;
        take M=meet R;
        now
          let A be Subset of T;
A26:      [#]R^1 =REAL by TOPMETR:17;
          assume A in R;
          then consider k be object such that
A27:        k in dom p
          and
A28:        p.k=A by FUNCT_1:def 3;
          reconsider k as Nat by A27;
          consider h be Function of T,R^1 such that
A29:        h = F.k
          and
A30:        p.k= h"].FFx.k-m,FFx.k+m.[ by A27,A15;
          reconsider P=].FFx.k-m,FFx.k+m.[ as Subset of R^1 by TOPMETR:17;
A31:      P is open by JORDAN6:35;
          h is continuous by A1,A5,A27,A29,A15;
          hence A is open by A31,A26,TOPS_2:43,A28,A30;
        end;
        hence M is open by TOPS_2:def 1,TOPS_2:20;
        thus M c= FF"Y
        proof
          let q be object;
          set I = Intervals(FFx,m);
A32:        dom I = dom FFx by EUCLID_9:def 3;
          assume
A33:        q in M;
          then reconsider q as Point of T;
          FF.q in rng FF by A4,A33,FUNCT_1:def 3;
          then reconsider FFq=FF.q as Point of TR;
          len FFx = n by CARD_1:def 7;
          then
A34:        dom FFx = Seg n by FINSEQ_1:def 3;
A35:        for y be object st y in dom I holds FFq.y in I.y
          proof
            let y be object;
            assume
A36:          y in dom I;
            then reconsider i=y as Nat;
            consider h be Function of T,R^1 such that
A37:          h = F.i
            and
A38:          p.i= h"].FFx.i-m,FFx.i+m.[ by A36,A15,A34,A32;
A39:        h.q = FFq.i by A37,Th20;
            p.i in rng p by A36,A34,A32,A15,FUNCT_1:def 3;
            then meet rng p c= p.i by SETFAM_1:3;
            then h.q in ].FFx.i-m,FFx.i+m.[ by A38, A33,FUNCT_1:def 7;
            hence thesis by A39,A32,A36,EUCLID_9:def 3;
          end;
          len FFq = n by CARD_1:def 7;
          then dom FFq = Seg n by FINSEQ_1:def 3;
          then FFq in product I by A35,CARD_3:def 5,A32,A34;
          then FFq in OpenHypercube(FFx,m) by EUCLID_9:def 4;
          hence thesis by A9, A4,A33,FUNCT_1:def 7;
        end;
        rng p <> {} by A15,RELAT_1:42;
        hence x in M by A16,SETFAM_1:def 1;
      end;
      thus thesis;
    end;
    hence thesis by TOPS_1:25;
  end;
  [#]TR<>{};
  hence thesis by A2,TOPS_2:43;
end;
