reserve X for MetrSpace,
  x,y,z for Element of X,
  A for non empty set,
  G for Function of [:A,A:],REAL,
  f for Function,
  k,n,m,m1,m2 for Nat,
  q,r for Real;
reserve X for non empty MetrSpace,
  x,y for Element of X,
  V for Subset of X,
  S,S1,T for sequence of X,
  Nseq for increasing sequence of NAT;

theorem
  S is_convergent_in_metrspace_to x & S1 is subsequence of S implies S1
  is_convergent_in_metrspace_to x
proof
  assume that
A1: S is_convergent_in_metrspace_to x and
A2: S1 is subsequence of S;
  consider Nseq such that
A3: S1 = S*Nseq by A2,VALUED_0:def 17;
  for r st 0 < r ex m st for n st m <= n holds dist(S1.n,x) < r
  proof
    let r;
    assume 0 < r;
    then consider m1 such that
A4: for n st m1 <= n holds dist(S.n,x) < r by A1;
    take m = m1;
    for n st m <= n holds dist(S1.n,x) < r
    proof
      let n such that
A5:   m <= n;
A6:   n in NAT by ORDINAL1:def 12;
      dom S = NAT by FUNCT_2:def 1;
      then dom Nseq = NAT & Nseq.n in dom S by FUNCT_2:def 1;
      then n in dom(S*Nseq) by FUNCT_1:11,A6;
      then
A7:   S1.n = S.(Nseq.n) by A3,FUNCT_1:12;
      n <= Nseq.n by SEQM_3:14;
      then m1 <= Nseq.n by A5,XXREAL_0:2;
      hence thesis by A4,A7;
    end;
    hence thesis;
  end;
  hence thesis;
end;
