reserve c, c1, c2, d, d1, d2, e, y for Real,
  k, n, m, N, n1, N0, N1, N2, N3, M for Element of NAT,
  x for set;

theorem
  for F being eventually-nonnegative Real_Sequence st F = seq_n^(1) -
  seq_const(1) holds Big_Theta(F) + Big_Theta(seq_n^(1)) = Big_Theta(seq_n^(1))
proof
  set q = seq_const(1);
  set p = seq_n^(1);
  set f = p - q;
  set g = p;
A1: Big_Theta(g) = { t where t is Element of Funcs(NAT, REAL) : ex c,d,N st
c > 0 & d > 0 & for n st n >= N holds d*g.n <= t.n & t.n <= c*g.n } by
ASYMPT_0:27;
  let F be eventually-nonnegative Real_Sequence;
  assume F = seq_n^(1) - seq_const(1);
  then
A2: Big_Theta(F) = { t where t is Element of Funcs(NAT, REAL) : ex c,d,N st
  c > 0 & d > 0 & for n st n >= N holds d*f.n <= t.n & t.n <= c*f.n } by
ASYMPT_0:27;
  now
    let x be object;
    hereby
      assume x in Big_Theta(F) + Big_Theta(g);
      then consider t being Element of Funcs(NAT, REAL) such that
A3:   t = x and
A4:   ex f9,g9 being Element of Funcs(NAT,REAL) st f9 in Big_Theta(F)
      & g9 in Big_Theta(g) & for n being Element of NAT holds t.n = f9.n + g9.n
      ;
      consider f9,g9 being Element of Funcs(NAT,REAL) such that
A5:   f9 in Big_Theta(F) and
A6:   g9 in Big_Theta(g) and
A7:   for n being Element of NAT holds t.n = f9.n + g9.n by A4;
      ex r being Element of Funcs(NAT,REAL) st r = f9 & ex c,d,N st c
      > 0 & d > 0 & for n st n >= N holds d*f.n <= r.n & r.n <= c*f.n by A2,A5;
      then consider c1,d1,N1 such that
A8:   c1 > 0 and
A9:   d1 > 0 and
A10:  for n st n >= N1 holds d1*f.n <= f9.n & f9.n <= c1*f.n;
      ex s being Element of Funcs(NAT,REAL) st s = g9 & ex c,d,N st c
      > 0 & d > 0 & for n st n >= N holds d*g.n <= s.n & s.n <= c*g.n by A1,A6;
      then consider c2,d2,N2 such that
A11:  c2 > 0 and
A12:  d2 > 0 and
A13:  for n st n >= N2 holds d2*g.n <= g9.n & g9.n <= c2*g.n;
      set d = d2, c = c1+c2;
      set N = max(1,max(N1,N2));
A14:  N >= 1 by XXREAL_0:25;
A15:  N>=max(N1,N2) by XXREAL_0:25;
      max(N1,N2)>= N2 by XXREAL_0:25;
      then
A16:  N >= N2 by A15,XXREAL_0:2;
      max(N1,N2)>=N1 by XXREAL_0:25;
      then
A17:  N >= N1 by A15,XXREAL_0:2;
      now
        let n;
A18:    (seq_const(1)).n = 1 by FUNCOP_1:7;
        assume
A19:    n >= N;
        then
A20:    g.n = (n to_power 1) by A14,Def3
          .= n by POWER:25;
        n >= 1 by A14,A19,XXREAL_0:2;
        then -n <= -1 by XREAL_1:24;
        then (-n)*d1 <= (-1)*d1 by A9,XREAL_1:64;
        then
A21:    n*(-d1) + (d1+d2)*n <= -d1 + (d1+d2)*n by XREAL_1:6;
A22:    f.n = (seq_n^(1)).n + (-seq_const(1)).n by SEQ_1:7
          .= (seq_n^(1)).n + -((seq_const(1)).n) by SEQ_1:10
          .= (n to_power 1) + -((seq_const(1)).n) by A14,A19,Def3
          .= n + -1 by A18,POWER:25;
A23:    n >= N2 by A16,A19,XXREAL_0:2;
        then d2*g.n <= g9.n by A13;
        then
A24:    d1*f.n + d2*g.n <= d1*f.n + g9.n by XREAL_1:6;
        g9.n <= c2*g.n by A13,A23;
        then
A25:    c1*f.n+g9.n<=c1*f.n+c2*g.n by XREAL_1:6;
A26:    n >= N1 by A17,A19,XXREAL_0:2;
        then f9.n <= c1*f.n by A10;
        then f9.n+g9.n<=c1*f.n+g9.n by XREAL_1:6;
        then
A27:    f9.n + g9.n <= c1*f.n + c2*g.n by A25,XXREAL_0:2;
        d1*f.n <= f9.n by A10,A26;
        then d1*f.n + g9.n <= f9.n + g9.n by XREAL_1:6;
        then d1*f.n + d2*g.n <= f9.n + g9.n by A24,XXREAL_0:2;
        then d2*n <= f9.n + g9.n by A20,A22,A21,XXREAL_0:2;
        hence d*g.n <= t.n by A7,A20;
        -c1 + (c1+c2)*n <= 0 + (c1+c2)*n by A8,XREAL_1:6;
        then f9.n + g9.n <= (c1+c2)*n by A20,A22,A27,XXREAL_0:2;
        hence t.n <= c*g.n by A7,A20;
      end;
      hence x in Big_Theta(g) by A1,A3,A8,A11,A12;
    end;
    assume x in Big_Theta(g);
    then consider t being Element of Funcs(NAT, REAL) such that
A28: t = x and
A29: ex c,d,N st c > 0 & d > 0 & for n st n >= N holds d*g.n <= t.n &
    t.n <= c*g.n by A1;
    consider c,d,N such that
A30: c > 0 and
A31: d > 0 and
A32: for n st n >= N holds d*g.n <= t.n & t.n <= c*g.n by A29;
    set f9 = 2"(#)t, g9 = 2"(#)t;
A33: f9 is Element of Funcs(NAT,REAL) by FUNCT_2:8;
A34: for n being Element of NAT holds t.n = f9.n + g9.n
    proof
      let n be Element of NAT;
      f9.n = 2"*t.n by SEQ_1:9;
      hence thesis;
    end;
A35: 2"*d > 2"*0 by A31,XREAL_1:68;
    set N0 = max(N, 2);
A36: N0 >= N by XXREAL_0:25;
A37: N0 >= 2 by XXREAL_0:25;
    reconsider N0 as Element of NAT;
A38: now
      let n;
      assume n >= N0;
      then
A39:  n >= N by A36,XXREAL_0:2;
      then
A40:  2"*t.n <= 2"*(c*g.n) by A32,XREAL_1:64;
      2"*(d*g.n) <= 2"*t.n by A32,A39,XREAL_1:64;
      hence 2"*d*g.n <= g9.n & g9.n <= 2"*c*g.n by A40,SEQ_1:9;
    end;
    2"*c > 2"*0 by A30,XREAL_1:68;
    then
A41: g9 in Big_Theta(g) by A1,A35,A33,A38;
    now
      let n;
A42:  q.n = 1 by FUNCOP_1:7;
      assume
A43:  n >= N0;
      then
A44:  g.n = (n to_power 1) - 0 by A37,Def3
        .= n-0 by POWER:25;
      n >= 2 by A37,A43,XXREAL_0:2;
      then n + 2 <= n + n by XREAL_1:6;
      then n <= 2*n - 2*1 by XREAL_1:19;
      then 2"*n <= 2"*(2*(n-1)) by XREAL_1:64;
      then
A45:  c*(2"*n) <= c*(n-1) by A30,XREAL_1:64;
A46:  n >= N by A36,A43,XXREAL_0:2;
      then
A47:  2"*(d*g.n) <= 2"*t.n by A32,XREAL_1:64;
A48:  f.n = p.n + (-q).n by SEQ_1:7
        .= p.n + -1 by A42,SEQ_1:10
        .= p.n - 1
        .= (n to_power 1) - 1 by A37,A43,Def3
        .= n-1 by POWER:25;
      then f.n <= g.n by A44,XREAL_1:13;
      then 2"*d*f.n <= 2"*d*g.n by A31,XREAL_1:64;
      then 2"*d*f.n <= 2"*t.n by A47,XXREAL_0:2;
      hence (2"*d)*f.n <= f9.n by SEQ_1:9;
      2"*t.n <= 2"*(c*g.n) by A32,A46,XREAL_1:64;
      then 2"*t.n <= c*f.n by A48,A44,A45,XXREAL_0:2;
      hence f9.n <= c*f.n by SEQ_1:9;
    end;
    then f9 in Big_Theta(F) by A2,A30,A35,A33;
    hence x in Big_Theta(F) + Big_Theta(g) by A28,A33,A41,A34;
  end;
  hence thesis by TARSKI:2;
end;
