let i be Element of NAT ; :: thesis: for A being closed-interval Subset of REAL
for D being Division of A
for f, g being Function of A,REAL st i in dom D & f | A is bounded_above & g | A is bounded_above holds
(upper_volume (f + g),D) . i <= ((upper_volume f,D) . i) + ((upper_volume g,D) . i)

let A be closed-interval Subset of REAL ; :: thesis: for D being Division of A
for f, g being Function of A,REAL st i in dom D & f | A is bounded_above & g | A is bounded_above holds
(upper_volume (f + g),D) . i <= ((upper_volume f,D) . i) + ((upper_volume g,D) . i)

let D be Division of A; :: thesis: for f, g being Function of A,REAL st i in dom D & f | A is bounded_above & g | A is bounded_above holds
(upper_volume (f + g),D) . i <= ((upper_volume f,D) . i) + ((upper_volume g,D) . i)

let f, g be Function of A,REAL ; :: thesis: ( 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) )
assume A1: i in dom D ; :: thesis: ( not f | A is bounded_above or not g | A is bounded_above or (upper_volume (f + g),D) . i <= ((upper_volume f,D) . i) + ((upper_volume g,D) . i) )
dom (f + g) = A /\ A by FUNCT_2:def 1;
then dom ((f + g) | (divset D,i)) = divset D,i by A1, Th10, RELAT_1:91;
then A2: not rng ((f + g) | (divset D,i)) is empty by RELAT_1:65;
(f + g) | (divset D,i) = (f | (divset D,i)) + (g | (divset D,i)) by RFUNCT_1:60;
then A3: rng ((f + g) | (divset D,i)) c= (rng (f | (divset D,i))) + (rng (g | (divset D,i))) by Th12;
assume f | A is bounded_above ; :: thesis: ( not g | A is bounded_above or (upper_volume (f + g),D) . i <= ((upper_volume f,D) . i) + ((upper_volume g,D) . i) )
then rng f is bounded_above by Th15;
then A4: rng (f | (divset D,i)) is bounded_above by RELAT_1:99, XXREAL_2:43;
dom g = A by FUNCT_2:def 1;
then dom (g | (divset D,i)) = divset D,i by A1, Th10, RELAT_1:91;
then A5: not rng (g | (divset D,i)) is empty by RELAT_1:65;
A6: 0 <= vol (divset D,i) by SEQ_4:24, XREAL_1:50;
assume g | A is bounded_above ; :: thesis: (upper_volume (f + g),D) . i <= ((upper_volume f,D) . i) + ((upper_volume g,D) . i)
then rng g is bounded_above by Th15;
then A7: rng (g | (divset D,i)) is bounded_above by RELAT_1:99, XXREAL_2:43;
then A8: (rng (f | (divset D,i))) + (rng (g | (divset D,i))) is bounded_above by A4, Th53;
dom f = A by FUNCT_2:def 1;
then dom (f | (divset D,i)) = divset D,i by A1, Th10, RELAT_1:91;
then not rng (f | (divset D,i)) is empty by RELAT_1:65;
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, Th54;
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:65, XREAL_1:66;
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, Def7;
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, Def7;
hence (upper_volume (f + g),D) . i <= ((upper_volume f,D) . i) + ((upper_volume g,D) . i) by A1, Def7; :: thesis: verum