reserve X for ComplexUnitarySpace;
reserve x, y, w, g, g1, g2 for Point of X;
reserve z for Complex;
reserve p, q, r, M, M1, M2 for Real;
reserve seq, seq1, seq2, seq3 for sequence of X;
reserve k,n,m for Nat;
reserve Nseq for increasing sequence of NAT;

theorem
  seq is Cauchy & (ex k st seq = seq1 ^\k) implies seq1 is Cauchy
proof
  assume that
A1: seq is Cauchy and
A2: ex k st seq = seq1 ^\k;
  consider k such that
A3: seq = seq1 ^\k by A2;
  let r;
  assume r > 0;
  then consider l1 being Nat such that
A4: for n, m st n >= l1 & m >= l1 holds dist((seq.n), (seq.m)) < r by A1;
  take l = l1 + k;
  let n, m;
  assume that
A5: n >= l and
A6: m >= l;
  consider m1 be Nat such that
A7: n = l1 + k + m1 by A5,NAT_1:10;
  reconsider m1 as Nat;
  n - k = l1 + m1 by A7;
  then consider l2 being Nat such that
A8: l2 = n - k;
  consider m2 be Nat such that
A9: m = l1 + k + m2 by A6,NAT_1:10;
  reconsider m2 as Nat;
  m - k = l1 + m2 by A9;
  then consider l3 being Nat such that
A10: l3 = m - k;
A11: now
    assume l2 < l1;
    then l2 + k < l1 + k by XREAL_1:6;
    hence contradiction by A5,A8;
  end;
A12: l2 + k = n by A8;
  now
    assume l3 < l1;
    then l3 + k < l1 + k by XREAL_1:6;
    hence contradiction by A6,A10;
  end;
  then dist((seq.l2), (seq.l3)) < r by A4,A11;
  then
A13: dist((seq1.n), (seq.l3)) < r by A3,A12,NAT_1:def 3;
  l3 + k = m by A10;
  hence thesis by A3,A13,NAT_1:def 3;
end;
