
theorem Th16:
  for M be non empty MetrSpace,S be non empty compact TopSpace,
      T be non empty MetrSpace st S = TopSpaceMetr(M) holds
  for G be Subset of Funcs(the carrier of M, the carrier of T),
      H be non empty Subset of MetricSpace_of_ContinuousFunctions(S,T)
  st G = H &
  (MetricSpace_of_ContinuousFunctions(S,T)) | H is totally_bounded holds
  ( for x be Point of S,
      Hx be non empty Subset of T
       st Hx = {f.x where f is Function of S,T :f in H }
     holds T | Hx is totally_bounded )
    & G is equicontinuous
  proof
    let M be non empty MetrSpace,S be non empty compact TopSpace,
        T be non empty MetrSpace;
    assume A1: S = TopSpaceMetr(M);
    let G be Subset of Funcs(the carrier of M, the carrier of T),
        H be non empty Subset of MetricSpace_of_ContinuousFunctions(S,T);
    assume A2: G = H;
    set Z = MetricSpace_of_ContinuousFunctions(S,T);
    set MZH = Z | H;
A3: the carrier of MZH = H by TOPMETR:def 2;
    assume A4: Z | H is totally_bounded;
    thus for x be Point of S, Hx be non empty Subset of T
       st Hx = {f.x where f is Function of S,T :f in H }
     holds T | Hx is totally_bounded
    proof
      let x be Point of S, Hx be non empty Subset of T;
      assume A5:Hx = {f.x where f is Function of S,T :f in H };
      set MTHx = T | Hx;
      let e be Real;
      assume 0 < e; then
      consider L being Subset-Family of MZH such that
A6:   L is finite & the carrier of MZH = union L
        & for C being Subset of MZH st C in L holds
          ex w being Element of MZH st C = Ball (w,e) by A4;
      defpred P1[object,object] means
       ex w be Point of MZH st $2 = w & $1 = Ball(w,e);
A7:   for D be object st D in L
        ex w be object st w in the carrier of MZH & P1[D,w]
      proof
        let D be object;
        assume A8: D in L; then
        reconsider D0=D as Subset of MZH;
        consider w being Element of MZH such that A9: D0 = Ball (w,e) by A6,A8;
        take w;
        thus w in the carrier of MZH & P1[D,w] by A9;
      end;
      consider U being Function of L,the carrier of MZH such that
 A10: for D being object st D in L holds P1[D,U.D] from FUNCT_2:sch 1(A7);
A11:  for D being object st D in L holds D = Ball(U/.D,e)
      proof
        let D be object;
        assume A12: D in L; then
  A13:  ex x0 be Point of MZH st U.D = x0 & D =Ball(x0,e) by A10;
        dom U = L by FUNCT_2:def 1;
        hence D = Ball(U/.D,e) by A13,A12,PARTFUN1:def 6;
      end;
      defpred Q1[object,object] means
      ex w be Function of S,T, p be Point of MTHx st
        $1 = w & p = w.x & $2 = Ball(p,e);
A14:  for f be object st f in (the carrier of MZH)
       ex B be object st B in bool the carrier of MTHx & Q1[f,B]
      proof
        let f be object;
        assume
   A15: f in the carrier of MZH; then
        f in Z by A3; then
        ex g be Function of S, TopSpaceMetr T st f=g & g is continuous; then
        reconsider g = f as Function of S,T;
        g.x in Hx by A15,A5,A3; then
        reconsider p=g.x as Point of MTHx by TOPMETR:def 2;
        take B = Ball(p,e);
        thus thesis;
      end;
      consider NF being Function of the carrier of MZH,
      bool the carrier of MTHx such that
 A16: for D being object
         st D in the carrier of MZH holds Q1[D,NF.D] from FUNCT_2:sch 1(A14);
A17:  dom U = L by FUNCT_2:def 1;
      set Le = NF .: (rng U);
      reconsider Le as Subset-Family of MTHx;
      take Le;
      thus Le is finite by A6;
      for t be object holds t in the carrier of MTHx iff t in union Le
      proof
        let t0 be object;
        hereby assume A18: t0 in the carrier of MTHx; then
      A19:t0 in Hx by TOPMETR:def 2;
          reconsider t = t0 as Point of MTHx by A18;
          consider f be Function of S,T such that
      A20:t=f.x & f in H by A5,A19;
          consider K be set such that
   A21:   f in K & K in L by TARSKI:def 4,A6,A3,A20;
          U/.K = U.K by PARTFUN1:def 6,A21,A17; then
   A22:   U/.K in rng U by FUNCT_1:def 3,A17,A21;
          consider g be Function of S,T,
                   p be Point of MTHx such that
   A23:   (U/.K) = g & p = g.x & NF.(U/.K) = Ball(p,e) by A16;
   A24:   f in Ball(U/.K,e) by A21,A11;
          reconsider f0 = f as Point of MZH by A21;
   A25:   dist(f0,U/.K) < e by A24,METRIC_1:11;
          reconsider f1=f0 as Point of Z by TOPMETR:def 1,TARSKI:def 3;
          reconsider g1=U/.K as Point of Z by TOPMETR:def 1,TARSKI:def 3;
 A26:     dist(f1,g1) < e by A25,TOPMETR:def 1;
          dist(In(f1.x,T),In(g1.x,T)) <= dist(f1,g1) by Th11; then
A27:      dist(g/.x,f/.x) < e by A23,A26,XXREAL_0:2;
A28:      NF.(U/.K) in Le by A22,FUNCT_2:35;
          reconsider tt=t as Point of T by A20;
          reconsider pp = p as Point of T by TOPMETR:def 1,TARSKI:def 3;
          reconsider p1 = pp as Point of T;
          dist(p,t) < e by A20,A23,A27,TOPMETR:def 1; then
          f.x in { y where y is Point of MTHx : dist(p,y) < e } by A20; then
          f.x in NF.(U/.K) by A23,METRIC_1:def 14;
          hence t0 in union Le by TARSKI:def 4,A28,A20;
        end;
        assume t0 in union Le;
        hence t0 in the carrier of MTHx;
      end;
      hence the carrier of MTHx = union Le by TARSKI:2;
      let C be Subset of MTHx;
      assume C in Le; then
      consider t be object such that
A29:  t in dom NF & t in rng U & C = NF.t by FUNCT_1:def 6;
      consider w be Function of S,T,
               p be Point of MTHx such that
A30:  t = w & p= w.x & NF.t=Ball(p,e) by A29,A16;
      take p;
      thus C = Ball(p,e) by A30,A29;
    end;
    thus G is equicontinuous by Th15,A1,A2,A4;
  end;
