reserve n,m,k for Element of NAT;
reserve x, X,X1,Z,Z1 for set;
reserve s,g,r,p,x0,x1,x2 for Real;
reserve s1,s2,q1 for Real_Sequence;
reserve Y for Subset of REAL;
reserve f,f1,f2 for PartFunc of REAL,REAL;

theorem Th28:
  for f st dom f is compact & f|dom f is continuous holds rng f is compact
proof
  let f;
  assume that
A1: dom f is compact and
A2: f|dom f is continuous;
  now
    let s1 such that
A3: rng s1 c= rng f;
    defpred P[set,set] means $2 in dom f & f.$2=s1.$1;
A4: for n ex p being Element of REAL st P[n,p]
    proof
      let n;
      s1.n in rng s1 by VALUED_0:28;
      then consider p being Element of REAL such that
A5:   p in dom f & s1.n=f.p by A3,PARTFUN1:3;
      take p;
      thus thesis by A5;
    end;
    consider q1 such that
A6: for n holds P[n,q1.n] from FUNCT_2:sch 3(A4);
    now
      let x be object;
      assume x in rng q1;
      then ex n st x = q1.n by FUNCT_2:113;
      hence x in dom f by A6;
    end;
    then
A7: rng q1 c= dom f;
    then consider s2 such that
A8: s2 is subsequence of q1 and
A9: s2 is convergent and
A10: (lim s2) in dom f by A1,RCOMP_1:def 3;
    now
      let n;
      f.(q1.n)=s1.n by A6;
      hence (f/*q1).n= s1.n by A7,FUNCT_2:108;
    end;
    then
A11: f/*q1=s1 by FUNCT_2:63;
    take q2 = f/*s2;
    lim s2 in dom(f|(dom f)) by A10;
    then f|(dom f) is_continuous_in (lim s2) by A2;
    then
A12: f is_continuous_in (lim s2);
    rng s2 c= rng q1 by A8,VALUED_0:21;
    then
A13: rng s2 c= dom f by A7;
    then f.(lim s2) = lim (f/*s2) by A9,A12;
    hence
    q2 is subsequence of s1 & q2 is convergent & (lim q2) in rng f by A7,A11,A8
,A9,A10,A12,A13,FUNCT_1:def 3,VALUED_0:22;
  end;
  hence thesis by RCOMP_1:def 3;
end;
