theorem Th30:
  f|A is bounded_below & r <= 0 implies upper_sum(r(#)f,D) = r*
  lower_sum(f,D)
proof
  assume
A1: f|A is bounded_below & r <= 0;
A2: for i be Nat st 1 <= i & i <= len upper_volume(r(#)f,D) holds
  upper_volume(r(#)f,D).i = (r*lower_volume(f,D)).i
  proof
    let i be Nat;
    assume
A3: 1 <= i & i <= len upper_volume(r(#)f,D);
    len D = len upper_volume(r(#)f,D) by INTEGRA1:def 6;
    then i in dom D by A3,FINSEQ_3:25;
    then upper_volume(r(#)f,D).i = r*lower_volume(f,D).i by A1,Th26
      .= (r*lower_volume(f,D)).i by RVSUM_1:44;
    hence thesis;
  end;
  len upper_volume(r(#)f,D) = len D by INTEGRA1:def 6
    .= len lower_volume(f,D) by INTEGRA1:def 7
    .= len(r*lower_volume(f,D)) by NEWTON:2;
  then upper_volume(r(#)f,D)=r*lower_volume(f,D) by A2,FINSEQ_1:14;
  then upper_sum(r(#)f,D) =Sum(r*lower_volume(f,D)) by INTEGRA1:def 8
    .=r*Sum(lower_volume(f,D)) by RVSUM_1:87
    .=r*lower_sum(f,D) by INTEGRA1:def 9;
  hence thesis;
end;
