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
  seq1 is bounded & seq1 is_compared_to seq2 implies seq2 is bounded
proof
  assume that
A1: seq1 is bounded and
A2: seq1 is_compared_to seq2;
  consider m1 be Nat such that
A3: for n st n >= m1 holds dist((seq1.n), (seq2.n)) < 1 by A2;
  consider p such that
A4: p > 0 and
A5: for n holds ||.seq1.n.|| <= p by A1;
A6: ex M st ( M > 0 & for n st n >= m1 holds ||.seq2.n.|| < M )
  proof
    take M = p + 1;
    now
      let n;
      assume n >= m1;
      then dist((seq1.n), (seq2.n)) < 1 by A3;
      then
A7:   ||.seq2.n - seq1.n.|| < 1 by CSSPACE:def 16;
      ||.seq2.n.|| - ||.seq1.n.|| <= ||.seq2.n - seq1.n.|| by CSSPACE:48;
      then ||.seq2.n.|| - ||.seq1.n.|| < 1 by A7,XXREAL_0:2;
      then
A8:   ||.seq2.n.|| < ||.seq1.n.|| + 1 by XREAL_1:19;
      ||.seq1.n.|| <= p by A5;
      then ||.seq1.n.|| + 1 <= p + 1 by XREAL_1:6;
      hence ||.seq2.n.|| < M by A8,XXREAL_0:2;
    end;
    hence thesis by A4;
  end;
  now
    consider M2 such that
A9: M2 > 0 and
A10: for n st n <= m1 holds ||.seq2.n.|| < M2 by Th79;
    consider M1 such that
A11: M1 > 0 and
A12: for n st n >= m1 holds ||.seq2.n.|| < M1 by A6;
    take M = M1 + M2;
    thus M > 0 by A11,A9;
    let n;
A13: M > 0 + M2 by A11,XREAL_1:8;
A14: now
      assume n <= m1;
      then ||.seq2.n.|| < M2 by A10;
      hence ||.seq2.n.|| <= M by A13,XXREAL_0:2;
    end;
A15: M > M1 + 0 by A9,XREAL_1:8;
    now
      assume n >= m1;
      then ||.seq2.n.|| < M1 by A12;
      hence ||.seq2.n.|| <= M by A15,XXREAL_0:2;
    end;
    hence ||.seq2.n.|| <= M by A14;
  end;
  hence thesis;
end;
