reserve a,a1,b,b1,x,y for Real,
  F,G,H for FinSequence of REAL,
  i,j,k,n,m for Element of NAT,
  I for Subset of REAL,
  X for non empty set,
  x1,R,s for set;
reserve A for non empty closed_interval Subset of REAL;
reserve A, B for non empty closed_interval Subset of REAL;
reserve r for Real;
reserve D, D1, D2 for Division of A;
reserve f, g for Function of A,REAL;

theorem Th51:
  i in dom D & f|A is bounded_above & g|A is bounded_above implies
  upper_volume(f+g,D).i <= upper_volume(f,D).i + upper_volume(g,D).i
proof
  assume
A1: i in dom D;
  dom(f+g) = A /\ A by FUNCT_2:def 1;
  then dom((f+g)|divset(D,i)) = divset(D,i) by A1,Th6,RELAT_1:62;
  then
A2: rng((f+g)|divset(D,i)) is non empty by RELAT_1:42;
  (f+g)|divset(D,i)=f|divset(D,i) + g|divset(D,i) by RFUNCT_1:44;
  then
A3: rng((f+g)|divset(D,i))c=rng(f|divset(D,i))++rng(g|divset(D,i)) by Th8;
  assume f|A is bounded_above;
  then rng f is bounded_above by Th11; then
A4: rng(f|divset(D,i)) is bounded_above by RELAT_1:70,XXREAL_2:43;
  dom g = A by FUNCT_2:def 1;
  then dom (g|divset(D,i)) = divset(D,i) by A1,Th6,RELAT_1:62;
  then
A5: rng(g|divset(D,i)) is non empty by RELAT_1:42;
A6: 0 <= vol(divset(D,i)) by SEQ_4:11,XREAL_1:48;
  assume g|A is bounded_above;
  then rng g is bounded_above by Th11;
  then
A7: rng(g|divset(D,i)) is bounded_above by RELAT_1:70,XXREAL_2:43;
  then
A8: rng(f|divset(D,i))++rng(g|divset(D,i)) is bounded_above by A4,Th49;
  dom f = A by FUNCT_2:def 1;
  then dom (f|divset(D,i)) = divset(D,i) by A1,Th6,RELAT_1:62;
  then rng(f|divset(D,i)) is non empty by RELAT_1:42;
  then upper_bound(rng(f|divset(D,i))++rng(g|divset(D,i))) =
    upper_bound rng(f|divset(D,i)) + upper_bound rng(g|divset(D,i))
      by A4,A7,A5,Th50;
  then
  upper_bound rng((f+g)|divset(D,i))*vol(divset(D,i)) <= (upper_bound rng
  (f|divset(D,i)) + upper_bound rng(g|divset(D,i)))*vol(divset(D,i)) by A8,A2
,A6,A3,SEQ_4:48,XREAL_1:64;
  then
  upper_volume(f+g,D).i <= upper_bound rng(f|divset(D,i))*vol(divset(D,i)
  )+ upper_bound rng(g|divset(D,i))*vol(divset(D,i)) by A1,Def5;
  then
  upper_volume(f+g,D).i <= upper_volume(f,D).i+ upper_bound rng(g|divset(
  D,i))*vol(divset(D,i)) by A1,Def5;
  hence thesis by A1,Def5;
end;
