reserve X for RealNormSpace;

theorem Th6:
  for X be RealNormSpace,
      A be non empty closed_interval Subset of REAL,
      f, g, h be Function of A,the carrier of X st
      h = f + g & f is integrable & g is integrable holds
        h is integrable & integral(h) = integral(f) + integral(g)
proof
  let X be RealNormSpace,
      A be non empty closed_interval Subset of REAL,
      f, g, h be Function of A,the carrier of X;
  assume A1: h = f + g & f is integrable & g is integrable;
A2: dom h = A & dom f = A & dom g = A by FUNCT_2:def 1;
A3: now let T be DivSequence of A, S be middle_volume_Sequence of h,T;
    assume A4: delta(T) is convergent & lim delta(T)=0;
    defpred P[Element of NAT, set] means ex p being FinSequence of REAL st
      p = $2 & len p = len (T.$1) & for i be Nat st i in dom (T.$1) holds
      (p.i) in dom (h|divset((T.$1),i)) & ex z be Point of X st
      z = (h|divset((T.$1),i)).(p.i) & (S.$1).i = (vol divset((T.$1),i)) * z;
A5: for k being Element of NAT ex p being Element of (REAL)* st P[k, p]
    proof
      let k being Element of NAT;
      defpred P1[ Nat, set] means $2 in dom (h|divset((T.k),$1)) &
      ex c be Point of X st
      c = (h|divset((T.k),$1)).($2) & (S.k).$1 = (vol divset((T.k),$1)) * c;
A6:   Seg len ((T.k)) = dom (T.k) by FINSEQ_1:def 3;
A7:   for i being Nat st i in Seg len (T.k) holds
        ex x being Element of REAL st P1[i,x]
      proof
        let i be Nat;
        assume i in Seg len (T.k); then
        i in dom (T.k) by FINSEQ_1:def 3; then
        consider c be Point of X such that
A8:    c in rng (h|divset((T.k),i)) &
          (S.k).i = (vol divset((T.k),i)) * c by Def1;
        consider x be object such that
A9:      x in dom (h|divset((T.k),i)) &
          c = (h|divset((T.k),i)).x by A8,FUNCT_1:def 3;
        x in (dom h) & x in (divset((T.k),i)) by A9,RELAT_1:57; then
        reconsider x as Element of REAL;
        take x;
        thus thesis by A8,A9;
      end;
      consider p being FinSequence of REAL such that
A10:     dom p = Seg len (T.k) & for i being Nat st
      i in Seg len (T.k) holds P1[i,p.i] from FINSEQ_1:sch 5(A7);
      take p;
      len p = len (T.k) by A10,FINSEQ_1:def 3;
      hence thesis by A10,A6,FINSEQ_1:def 11;
    end;
    consider F being sequence of (REAL)* such that
A11:   for x being Element of NAT holds P[x, F.x] from FUNCT_2:sch 3(A5);
    defpred P1[Element of NAT,set] means ex q be middle_volume of f,T.$1
      st q = $2 & for i be Nat st i in dom (T.$1) holds ex z be Point of X st
      (F.$1).i in dom (f|divset((T.$1),i)) &
      z = (f|divset((T.$1),i)).((F.$1).i) &
      q.i = (vol divset((T.$1),i)) * z;
A12: for k being Element of NAT ex
      y being Element of (the carrier of X)* st P1[k, y]
    proof
      let k being Element of NAT;
      defpred P11[ Nat, set] means ex c be Point of X st
      (F.k).$1 in dom (f|divset((T.k),$1)) &
      c = (f|divset((T.k),$1)).((F.k).$1) &
      $2 = (vol divset((T.k),$1)) * c;
A13:   Seg len (T.k) = dom (T.k) by FINSEQ_1:def 3;
A14:   for i being Nat st i in Seg len (T.k) holds ex
        x being Element of the carrier of X st P11[i,x]
      proof
        let i be Nat;
        assume i in Seg len (T.k); then
A15:    i in dom (T.k) by FINSEQ_1:def 3;
        consider p being FinSequence of REAL such that
A16:      p = F.k & len p = len (T.k) & for i be Nat st i in dom (T.k) holds
          p.i in dom (h|divset((T.k),i)) & ex z be Point of X st
          z = (h|divset((T.k),i)).(p.i) &
          (S.k).i = (vol divset((T.k),i)) * z by A11;
        p.i in dom (h|divset((T.k),i)) by A15,A16; then
A17:    p.i in dom h & p.i in (divset((T.k),i)) by RELAT_1:57; then
        p.i in dom(f|divset((T.k),i)) by A2,RELAT_1:57; then
        (f|divset((T.k),i)).(p.i) in rng (f|divset((T.k),i))
          by FUNCT_1:3; then
        reconsider x = (f|divset((T.k),i)).(p.i)
          as Element of the carrier of X;
A18:    (F.k).i in dom (f|divset((T.k),i)) by A16,A17,A2,RELAT_1:57;
        (vol divset((T.k),i)) * x is Element of the carrier of X;
        hence thesis by A16,A18;
      end;
      consider q being FinSequence of the carrier of X such that
A19:     dom q = Seg len (T.k) & for i being Nat st i in Seg len (T.k) holds
        P11[i,q.i] from FINSEQ_1:sch 5(A14);
A20:   len q = len (T.k) by A19,FINSEQ_1:def 3;
      now let i be Nat;
        assume i in dom (T.k); then
        i in Seg len (T.k) by FINSEQ_1:def 3; then
        consider c be Point of X such that
A21:      (F.k).i in dom (f|divset((T.k),i)) &
          c = (f|divset((T.k),i)).((F.k).i) &
          q.i = (vol divset((T.k),i)) * c by A19;
        thus ex c be Point of X st c in rng (f|divset((T.k),i)) &
          q.i = (vol divset((T.k),i)) * c by A21,FUNCT_1:3;
      end;
      then reconsider q as middle_volume of f,T.k by A20,Def1;
      q is Element of (the carrier of X)* by FINSEQ_1:def 11;
      hence thesis by A13,A19;
    end;
    consider Sf being sequence of (the carrier of X)* such that
A22:   for x being Element of NAT holds P1[x, Sf.x] from FUNCT_2:sch 3(A12);
    now let k be Element of NAT;
      ex q be middle_volume of f,T.k st q = Sf.k &
        for i be Nat st i in dom (T.k) holds ex z be Point of X st
        (F.k).i in dom (f|divset((T.k),i)) &
        z = (f|divset((T.k),i)).((F.k).i) &
        q.i = (vol divset((T.k),i)) * z by A22;
      hence Sf.k is middle_volume of f,T.k;
    end;
    then reconsider Sf as middle_volume_Sequence of f,T by Def3;
    defpred Q1[Element of NAT,set] means ex q be middle_volume of g,T.$1
      st q = $2 & for i be Nat st i in dom (T.$1) holds ex z be Point of X st
      (F.$1).i in dom (g|divset((T.$1),i)) &
      z = (g|divset((T.$1),i)).((F.$1).i) &
      q.i = (vol divset((T.$1),i)) * z;
A23: for k being Element of NAT
      ex y being Element of (the carrier of X)* st Q1[k, y]
    proof
      let k being Element of NAT;
      defpred Q11[Nat, set] means ex c be Point of X st
        (F.k).$1 in dom (g|divset((T.k),$1)) &
        c = (g|divset((T.k),$1)).((F.k).$1) &
        $2 = (vol divset((T.k),$1)) * c;
A24:   Seg len (T.k) = dom (T.k) by FINSEQ_1:def 3;
A25:   for i being Nat st i in Seg len (T.k) holds ex
        x being Element of the carrier of X st Q11[i,x]
      proof
        let i be Nat;
        assume i in Seg len (T.k); then
A26:    i in dom (T.k) by FINSEQ_1:def 3;
        consider p being FinSequence of REAL such that
A27:      p = F.k & len p = len (T.k) & for i be Nat st i in dom (T.k) holds
          p.i in dom (h|divset((T.k),i)) & ex z be Point of X st
          z = (h|divset((T.k),i)).(p.i) &
          (S.k).i = (vol divset((T.k),i)) * z by A11;
        p.i in dom (h|divset((T.k),i)) by A26,A27; then
A28:    p.i in dom h & p.i in (divset((T.k),i)) by RELAT_1:57; then
        p.i in dom(g|divset((T.k),i)) by A2,RELAT_1:57; then
        (g|divset((T.k),i)).(p.i) in rng (g|divset((T.k),i))
          by FUNCT_1:3; then
        reconsider x = (g|divset((T.k),i)).(p.i)
          as Element of the carrier of X;
A29:    (F.k).i in dom (g|divset((T.k),i)) by A27,A28,A2,RELAT_1:57;
        (vol divset((T.k),i)) * x is Element of the carrier of X;
        hence thesis by A27,A29;
      end;
      consider q being FinSequence of the carrier of X such that
A30:     dom q = Seg len (T.k) & for i being Nat
        st i in Seg len (T.k) holds Q11[i,q.i] from FINSEQ_1:sch 5(A25);
A31:   len q = len (T.k) by A30,FINSEQ_1:def 3;
      now let i be Nat;
        assume i in dom (T.k); then
        i in Seg len (T.k) by FINSEQ_1:def 3; then
        consider c be Point of X such that
A32:      (F.k).i in dom (g|divset((T.k),i)) &
          c = (g|divset((T.k),i)).((F.k).i) &
          q.i = (vol divset((T.k),i)) * c by A30;
        thus ex c be Point of X st c in rng (g|divset((T.k),i)) &
          q.i = (vol divset((T.k),i)) * c by A32,FUNCT_1:3;
      end;
      then reconsider q as middle_volume of g,T.k by A31,Def1;
      q is Element of (the carrier of X)* by FINSEQ_1:def 11;
      hence thesis by A24,A30;
    end;
    consider Sg being sequence of (the carrier of X)* such that
A33:   for x being Element of NAT holds Q1[x, Sg.x] from FUNCT_2:sch 3(A23);
    now let k be Element of NAT;
      ex q be middle_volume of g,T.k st q = Sg.k & for i be Nat st
        i in dom (T.k) holds ex z be Point of X st
        (F.k).i in dom (g|divset((T.k),i)) &
        z = (g|divset((T.k),i)).((F.k).i) &
        q.i = (vol divset((T.k),i)) * z by A33;
      hence Sg.k is middle_volume of g,T.k;
    end;
    then reconsider Sg as middle_volume_Sequence of g,T by Def3;
A34: middle_sum(f,Sf) is convergent &
      lim (middle_sum(f,Sf)) = integral(f) by Def6,A1,A4;
A35: middle_sum(g,Sg) is convergent &
      lim (middle_sum(g,Sg)) = integral(g) by Def6,A1,A4;
A36: middle_sum(f,Sf) + middle_sum(g,Sg) = middle_sum(h,S)
    proof
      now let n be Nat;
A37:    n in NAT by ORDINAL1:def 12;
        consider p being FinSequence of REAL such that
A38:      p = F.n & len  p = len (T.n) & for i be Nat st i in dom (T.n) holds
          (p.i) in dom (h|divset((T.n),i)) & ex z be Point of X st
          z = (h|divset((T.n),i)).(p.i) &
          (S.n).i = (vol divset((T.n),i)) * z by A11,A37;
        consider q be middle_volume of f,T.n such that
A39:      q = Sf.n & for i be Nat st i in dom (T.n) holds ex z be Point of X st
          (F.n).i in dom (f|divset((T.n),i)) &
          z = (f|divset((T.n),i)).((F.n).i) &
          q.i = (vol divset((T.n),i)) * z by A22,A37;
        consider r be middle_volume of g,T.n such that
A40:      r = Sg.n & for i be Nat st i in dom (T.n) holds ex z be Point of X st
          (F.n).i in dom (g|divset((T.n),i)) &
          z = (g|divset((T.n),i)).((F.n).i) &
          r.i = (vol divset((T.n),i)) * z by A33,A37;
A41:    len (Sf.n) = len (T.n) & len (Sg.n) = len (T.n) &
          len (S.n) = len (T.n) by Def1;
A42:    dom (Sf.n) = dom (T.n) & dom (Sg.n) = dom (T.n) &
          dom (S.n) = dom (T.n) by A41,FINSEQ_3:29;
        now let i be Nat;
          assume 1 <= i & i <= len (S.n); then
          i in Seg (len (S.n)) by FINSEQ_1:1; then
A43:     i in dom (S.n) by FINSEQ_1:def 3;
          consider t be Point of X such that
A44:       t = (h|divset((T.n),i)).((F.n).i) &
            (S.n).i = (vol divset((T.n),i)) * t by A43,A42,A38;
          consider z be Point of X such that
A45:       (F.n).i in dom (f|divset((T.n),i)) &
            z = (f|divset((T.n),i)).((F.n).i) &
            q.i = (vol divset((T.n),i)) * z by A39,A43,A42;
          consider w be Point of X such that
A46:       (F.n).i in dom (g|divset((T.n),i)) &
            w = (g|divset((T.n),i)).((F.n).i) &
            r.i = (vol divset((T.n),i)) * w by A40,A43,A42;
A47:     (F.n).i in divset((T.n),i) by A46,RELAT_1:57;
A48:     (F.n).i in dom g by A46,RELAT_1:57;
A49:     (F.n).i in A by A46; then
A50:     (F.n).i in dom h by FUNCT_2:def 1;
A51:     (F.n).i in dom f by A49,FUNCT_2:def 1;
A52:     f/.((F.n).i) = f.((F.n).i) by A51,PARTFUN1:def 6
                      .= z by A45,A47,FUNCT_1:49;
A53:     g/.((F.n).i) = g.((F.n).i) by A48,PARTFUN1:def 6
                      .= w by A46,A47,FUNCT_1:49;
A54:     t = (h|divset((T.n),i)).((F.n).i) by A44
           .= h.((F.n).i) by A47,FUNCT_1:49
           .= h/.((F.n).i) by A50,PARTFUN1:def 6
           .= f/.((F.n).i) + g/.((F.n).i) by A50,A1,VFUNCT_1:def 1
           .= z + w by A52,A53;
A55:     (vol divset((T.n),i)) * z = (Sf.n).i by A45,A39
                                   .= (Sf.n)/.i by A43,A42,PARTFUN1:def 6;
A56:     (vol divset((T.n),i)) * w = (Sg.n).i by A46,A40
                                   .= (Sg.n)/.i by A43,A42,PARTFUN1:def 6;
          thus (S.n)/.i = (S.n).i by A43,PARTFUN1:def 6
                       .= (vol divset((T.n),i)) * t by A44
                       .= (vol divset((T.n),i)) * z + (vol divset((T.n),i)) * w
                         by A54,RLVECT_1:def 5
                       .= (Sf.n)/.i + (Sg.n)/.i by A55,A56;
        end; then
A57:    Sf.n + Sg.n = S.n by A42,BINOM:def 1;
        thus middle_sum(f,Sf).n + middle_sum(g,Sg).n
           = middle_sum(f,Sf.n) + middle_sum(g,Sg).n by Def4
          .= middle_sum(f,Sf.n) + middle_sum(g,Sg.n) by Def4
          .= Sum(Sf.n) + middle_sum(g,Sg.n)
          .= Sum(Sf.n) + Sum(Sg.n)
          .= Sum(S.n) by A57,A41,Th1
          .= middle_sum(h,S.n)
          .= middle_sum(h,S).n by Def4;
      end;
      hence thesis by NORMSP_1:def 2;
    end;
    hence middle_sum(h,S) is convergent by A34,A35,NORMSP_1:19;
    thus lim (middle_sum(h,S)) = integral(f) + integral(g)
      by A34,A35,A36,NORMSP_1:25;
  end;
  hence h is integrable;
  hence integral(h) = integral(f) + integral(g) by Def6,A3;
end;
