reserve X for set;
reserve n,i for Element of NAT;
reserve a,b,c,d,e,r,x0 for Real;
reserve A for non empty closed_interval Subset of REAL;
reserve f,g,h for PartFunc of REAL,REAL n;
reserve E for Element of REAL n;

theorem Th29:
  (a <= b & ['a,b'] c= dom f &
  for x be Real st x in ['a,b'] holds f.x = E)
  implies f is_integrable_on ['a,b'] & f| ['a,b'] is bounded &
  integral(f,a,b) = (b-a)*E
  proof
    assume A1: a<=b & ['a,b'] c= dom f &
    (for x be Real st x in ['a,b'] holds f.x = E);
A2: now let i be Element of NAT;  set P = proj(i,n);
      assume i in Seg n;
      dom (P)=REAL n by FUNCT_2:def 1; then
      rng f c= dom(P); then
A3:   ['a,b'] c= dom (P*f) by A1,RELAT_1:27;
      for x be Real st x in ['a,b'] holds (P*f).x = P.E
      proof
        let x be Real;
        assume A4: x in ['a,b'];
A5:     f.x = f/.x by A4,A1,PARTFUN1:def 6;
        hence (P*f).x = P.(f/.x) by A4,A3,FUNCT_1:12
        .= P.E by A4,A1,A5;
      end;
      hence P*f is_integrable_on ['a,b'] & (P*f) | ['a,b'] is bounded &
      integral((P*f),a,b) = (P.E)*(b-a) by A3,A1,INTEGRA6:26;
    end; then
A6: for i be Element of NAT st i in Seg n
    holds (proj(i,n)*f) is_integrable_on ['a,b'];
A7: Seg n = dom (integral(f,a,b)) by INTEGR15:def 18;
A8: now let i; set P = proj(i,n);
      assume i in Seg n; then
      (P*f) | ['a,b'] is bounded by A2;
      hence P*(f | ['a,b']) is bounded by RELAT_1:83;
    end;
A9: now let i be Nat;
      assume
A10:   i in dom (integral(f,a,b));
      hence (integral(f,a,b)).i = integral(proj(i,n)*f,a,b)
      by A7,INTEGR15:def 18
      .= (proj(i,n).E)*(b-a) by A10,A2,A7
      .= (b-a)*(E.i) by PDIFF_1:def 1
      .= ((b-a)*E).i by RVSUM_1:44;
    end;
    len ((b-a)*E) = n by CARD_1:def 7; then
    Seg n = dom ((b-a)*E) by FINSEQ_1:def 3;
    hence thesis by A6,A8,A7,A9,FINSEQ_1:13;
  end;
