let A be closed-interval Subset of REAL ; :: thesis: for f being Function of A,REAL
for D being Division of A
for e being Real st f | A is bounded_above & 0 < e holds
ex F being middle_volume of f,D st
for i being Nat st i in dom D holds
( F . i <= (upper_volume f,D) . i & ((upper_volume f,D) . i) - e < F . i )

let f be Function of A,REAL ; :: thesis: for D being Division of A
for e being Real st f | A is bounded_above & 0 < e holds
ex F being middle_volume of f,D st
for i being Nat st i in dom D holds
( F . i <= (upper_volume f,D) . i & ((upper_volume f,D) . i) - e < F . i )

let D be Division of A; :: thesis: for e being Real st f | A is bounded_above & 0 < e holds
ex F being middle_volume of f,D st
for i being Nat st i in dom D holds
( F . i <= (upper_volume f,D) . i & ((upper_volume f,D) . i) - e < F . i )

let e be Real; :: thesis: ( f | A is bounded_above & 0 < e implies ex F being middle_volume of f,D st
for i being Nat st i in dom D holds
( F . i <= (upper_volume f,D) . i & ((upper_volume f,D) . i) - e < F . i ) )

assume that
A1: f | A is bounded_above and
A2: 0 < e ; :: thesis: ex F being middle_volume of f,D st
for i being Nat st i in dom D holds
( F . i <= (upper_volume f,D) . i & ((upper_volume f,D) . i) - e < F . i )

defpred S1[ Nat, Element of REAL ] means ex r being Element of REAL st
( r in rng (f | (divset D,$1)) & $2 = r * (vol (divset D,$1)) & $2 <= (upper_volume f,D) . $1 & ((upper_volume f,D) . $1) - e < $2 );
A3: for k being Nat st k in Seg (len D) holds
ex x being Element of REAL st S1[k,x]
proof
let k be Nat; :: thesis: ( k in Seg (len D) implies ex x being Element of REAL st S1[k,x] )
assume k in Seg (len D) ; :: thesis: ex x being Element of REAL st S1[k,x]
then A4: k in dom D by FINSEQ_1:def 3;
dom f = A by FUNCT_2:def 1;
then dom (f | (divset D,k)) = divset D,k by A4, INTEGRA1:10, RELAT_1:91;
then A5: not rng (f | (divset D,k)) is empty by RELAT_1:65;
rng f is bounded_above by A1, INTEGRA1:15;
then A6: rng (f | (divset D,k)) is bounded_above by RELAT_1:99, XXREAL_2:43;
per cases ( vol (divset D,k) = 0 or vol (divset D,k) <> 0 ) ;
suppose A7: vol (divset D,k) = 0 ; :: thesis: ex x being Element of REAL st S1[k,x]
consider r being set such that
A8: r in rng (f | (divset D,k)) by A5, XBOOLE_0:def 1;
reconsider r = r as Element of REAL by A8;
reconsider x = r * (vol (divset D,k)) as Element of REAL ;
A9: (upper_volume f,D) . k = (upper_bound (rng (f | (divset D,k)))) * (vol (divset D,k)) by A4, INTEGRA1:def 7
.= 0 by A7 ;
then ((upper_volume f,D) . k) - e < x by A2, A7;
hence ex x being Element of REAL st S1[k,x] by A7, A8, A9; :: thesis: verum
end;
suppose A10: vol (divset D,k) <> 0 ; :: thesis: ex x being Element of REAL st S1[k,x]
set l = upper_bound (rng (f | (divset D,k)));
set e1 = e / (vol (divset D,k));
A11: 0 < vol (divset D,k) by A10, INTEGRA1:11;
then 0 < e / (vol (divset D,k)) by A2, XREAL_1:141;
then consider r being real number such that
A12: r in rng (f | (divset D,k)) and
A13: (upper_bound (rng (f | (divset D,k)))) - (e / (vol (divset D,k))) < r by A6, A5, SEQ_4:def 4;
A14: (upper_volume f,D) . k = (upper_bound (rng (f | (divset D,k)))) * (vol (divset D,k)) by A4, INTEGRA1:def 7;
reconsider x = r * (vol (divset D,k)) as Element of REAL ;
((upper_bound (rng (f | (divset D,k)))) - (e / (vol (divset D,k)))) * (vol (divset D,k)) < x by A11, A13, XREAL_1:70;
then ((upper_volume f,D) . k) - ((e / (vol (divset D,k))) * (vol (divset D,k))) < x by A14;
then A15: ((upper_volume f,D) . k) - e < x by A10, XCMPLX_1:88;
r <= upper_bound (rng (f | (divset D,k))) by A6, A12, SEQ_4:def 4;
then x <= (upper_volume f,D) . k by A11, A14, XREAL_1:66;
hence ex x being Element of REAL st S1[k,x] by A12, A15; :: thesis: verum
end;
end;
end;
consider p being FinSequence of REAL such that
A16: ( dom p = Seg (len D) & ( for k being Nat st k in Seg (len D) holds
S1[k,p . k] ) ) from FINSEQ_1:sch 5(A3);
A17: now
let i be Nat; :: thesis: ( i in dom D implies ex r being Element of REAL st
( r in rng (f | (divset D,i)) & p . i = r * (vol (divset D,i)) ) )

assume i in dom D ; :: thesis: ex r being Element of REAL st
( r in rng (f | (divset D,i)) & p . i = r * (vol (divset D,i)) )

then i in Seg (len D) by FINSEQ_1:def 3;
then consider r being Element of REAL such that
A18: ( r in rng (f | (divset D,i)) & p . i = r * (vol (divset D,i)) ) and
p . i <= (upper_volume f,D) . i and
((upper_volume f,D) . i) - e < p . i by A16;
take r = r; :: thesis: ( r in rng (f | (divset D,i)) & p . i = r * (vol (divset D,i)) )
thus ( r in rng (f | (divset D,i)) & p . i = r * (vol (divset D,i)) ) by A18; :: thesis: verum
end;
len p = len D by A16, FINSEQ_1:def 3;
then reconsider p = p as middle_volume of f,D by A17, Def1;
now
let i be Nat; :: thesis: ( i in dom D implies ( p . i <= (upper_volume f,D) . i & ((upper_volume f,D) . i) - e < p . i ) )
assume i in dom D ; :: thesis: ( p . i <= (upper_volume f,D) . i & ((upper_volume f,D) . i) - e < p . i )
then i in Seg (len D) by FINSEQ_1:def 3;
then ex r being Element of REAL st
( r in rng (f | (divset D,i)) & p . i = r * (vol (divset D,i)) & p . i <= (upper_volume f,D) . i & ((upper_volume f,D) . i) - e < p . i ) by A16;
hence ( p . i <= (upper_volume f,D) . i & ((upper_volume f,D) . i) - e < p . i ) ; :: thesis: verum
end;
hence ex F being middle_volume of f,D st
for i being Nat st i in dom D holds
( F . i <= (upper_volume f,D) . i & ((upper_volume f,D) . i) - e < F . i ) ; :: thesis: verum