reserve c, c1, d for Real,
  k for Nat,
  n, m, N, n1, N1, N2, N3, N4, N5, M for Element of NAT,
  x for set;

theorem :: Maximum Rule for Big_Omega (page 86)
  for f,g being eventually-nonnegative Real_Sequence holds Big_Omega(f+g
  ) = Big_Omega(max(f,g))
proof
  let f,g be eventually-nonnegative Real_Sequence;
  consider N1 being Nat such that
A1: for n being Nat st n >= N1 holds f.n >= 0 by Def2;
  consider N2 being Nat such that
A2: for n being Nat st n >= N2 holds g.n >= 0 by Def2;
  now
    let x be object;
    hereby
      assume x in Big_Omega(f+g);
      then consider t being Element of Funcs(NAT, REAL) such that
A3:   t = x and
A4:   ex d,N st d > 0 & for n st n >= N holds d*(f+g).n <= t.n & t.n >= 0;
      consider d,N such that
A5:   d > 0 and
A6:   for n st n >= N holds d*(f+g).n <= t.n & t.n >= 0 by A4;
      reconsider a = max(N, max(N1, N2)) as Element of NAT
          by ORDINAL1:def 12;
A7:   a >= N by XXREAL_0:25;
A8:   a >= max(N1, N2) by XXREAL_0:25;
      max(N1, N2) >= N2 by XXREAL_0:25;
      then
A9:   a >= N2 by A8,XXREAL_0:2;
      max(N1, N2) >= N1 by XXREAL_0:25;
      then
A10:  a >= N1 by A8,XXREAL_0:2;
      now
        let n;
        assume
A11:    n >= a;
        then n >= N1 by A10,XXREAL_0:2;
        then
A12:    f.n >= 0 by A1;
        n >= N2 by A9,A11,XXREAL_0:2;
        then
A13:    g.n >= 0 by A2;
A14:    max(f,g).n = max( f.n, g.n ) by Def7;
        max(f,g).n <= (f+g).n
        proof
          per cases by A14,XXREAL_0:16;
          suppose
            max(f,g).n = f.n;
            then max(f,g).n + 0 <= f.n + g.n by A13,XREAL_1:7;
            hence thesis by SEQ_1:7;
          end;
          suppose
            max(f,g).n = g.n;
            then max(f,g).n + 0 <= g.n + f.n by A12,XREAL_1:7;
            hence thesis by SEQ_1:7;
          end;
        end;
        then
A15:    d*max(f,g).n <= d*(f+g).n by A5,XREAL_1:64;
A16:    n >= N by A7,A11,XXREAL_0:2;
        then d*(f+g).n <= t.n by A6;
        hence d*max(f,g).n <= t.n by A15,XXREAL_0:2;
        thus t.n >= 0 by A6,A16;
      end;
      hence x in Big_Omega(max(f,g)) by A3,A5;
    end;
    assume x in Big_Omega(max(f,g));
    then consider t being Element of Funcs(NAT, REAL) such that
A17: t = x and
A18: ex d,N st d > 0 & for n st n >= N holds d*max(f,g).n <= t.n & t.n >= 0;
    consider d,N such that
A19: d > 0 and
A20: for n st n >= N holds d*max(f,g).n <= t.n & t.n >= 0 by A18;
    reconsider a = max(N, max(N1, N2)) as Element of NAT
         by ORDINAL1:def 12;
A21: N <= a by XXREAL_0:25;
A22: now
      let n;
      f.n <= max(f.n,g.n) & g.n <= max(f.n,g.n) by XXREAL_0:25;
      then f.n + g.n <= 1*max(f.n,g.n) + 1*max(f.n,g.n) by XREAL_1:7;
      then 2"*(f.n + g.n) <= 2"*(2*max(f.n,g.n)) by XREAL_1:64;
      then 2"*(f+g).n <= max(f.n,g.n) by SEQ_1:7;
      then d*(2"*(f+g).n) <= d*max(f.n,g.n) by A19,XREAL_1:64;
      then
A23:  d*(2"*(f+g).n) <= d*max(f,g).n by Def7;
      assume n >= a;
      then
A24:  n >= N by A21,XXREAL_0:2;
      then d*max(f,g).n <= t.n by A20;
      hence (d*2")*(f+g).n <= t.n by A23,XXREAL_0:2;
      thus t.n >= 0 by A20,A24;
    end;
    d*2" > d*0 by A19,XREAL_1:68;
    hence x in Big_Omega(f+g) by A17,A22;
  end;
  hence thesis by TARSKI:2;
end;
