reserve n,n1,m,m1,k for Nat;
reserve x,X,X1 for set;
reserve g,g1,g2,t,x0,x1,x2 for Complex;
reserve s1,s2,q1,seq,seq1,seq2,seq3 for Complex_Sequence;
reserve Y for Subset of COMPLEX;
reserve f,f1,f2,h,h1,h2 for PartFunc of COMPLEX,COMPLEX;
reserve p,r,s for Real;
reserve Ns,Nseq for increasing sequence of NAT;

theorem Th51:
  for f st dom f is compact & f is_continuous_on (dom f) holds (
  rng f) is compact
proof
  let f;
  assume that
A1: dom f is compact and
A2: f is_continuous_on (dom f);
  now
    let s1 such that
A3: rng s1 c= rng f;
    defpred P[object,object] means $2 in dom f & f/.$2=s1.$1;
A4: for n ex g st P[n,g]
    proof
      let n;
      s1.n in rng s1 by VALUED_0:28;
      then consider g being Element of COMPLEX such that
A5:   g in dom f & s1.n=f.g by A3,PARTFUN1:3;
      take g;
      thus thesis by A5,PARTFUN1:def 6;
    end;
    consider q1 such that
A6: for n holds P[n,q1.n] from CompSeqChoice(A4);
    now
      let x be object;
      assume x in rng q1;
      then ex n being Element of NAT 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;
    take q2 = f/*s2;
    rng s2 c= rng q1 by A8,VALUED_0:21;
    then
A11: rng s2 c= dom f by A7;
    now
      let n be Element of NAT;
      f/.(q1.n)=s1.n by A6;
      hence (f/*q1).n= s1.n by A7,FUNCT_2:109;
    end;
    then
A12: f/*q1=s1 by FUNCT_2:63;
    f|(dom f) is_continuous_in (lim s2) by A2,A10;
    then
A13: f is_continuous_in (lim s2) by RELAT_1:68;
    then f/.(lim s2) = lim (f/*s2) by A9,A11;
    then f.(lim s2) = lim (f/*s2) by A10,PARTFUN1:def 6;
    hence
    q2 is subsequence of s1 & q2 is convergent & (lim q2) in rng f by A7,A12,A8
,A9,A13,A11,FUNCT_1:def 3,VALUED_0:22;
  end;
  hence thesis;
end;
