reserve Z for set;

theorem
  for n be Element of NAT for A be non empty closed_interval Subset of REAL
  for f1
,f2 be PartFunc of REAL, REAL n st f1 is_integrable_on A & f2 is_integrable_on
A & A c= dom f1 & A c= dom f2 & (f1|A) is bounded & (f2|A) is bounded holds f1+
f2 is_integrable_on A & f1-f2 is_integrable_on A & integral(f1+f2,A)=integral(
  f1,A)+integral(f2,A) & integral(f1-f2,A)=integral(f1,A)-integral(f2,A)
proof
  let n be Element of NAT;
  let A be non empty closed_interval Subset of REAL;
  let f1,f2 be PartFunc of REAL, REAL n;
  assume that
A1: f1 is_integrable_on A & f2 is_integrable_on A and
A2: A c= dom f1 & A c= dom f2 and
A3: f1|A is bounded and
A4: f2|A is bounded;
A5: for i be Element of NAT st i in Seg n holds A c= dom (proj(i,n)*f1) & A
  c= dom (proj(i,n)*f2)
  proof
    let i be Element of NAT;
    assume i in Seg n;
    dom proj(i,n) = REAL n by FUNCT_2:def 1;
    then rng f1 c= dom proj(i,n) & rng f2 c= dom proj(i,n);
    hence thesis by A2,RELAT_1:27;
  end;
A6: for i be Element of NAT st i in Seg n holds proj(i,n)*f1 + proj(i,n)*f2
is_integrable_on A & integral(proj(i,n)*f1+proj(i,n)*f2,A) = integral(proj(i,n)
  *f1,A) + integral(proj(i,n)*f2,A) & proj(i,n)*f1 - proj(i,n)*f2
is_integrable_on A & integral(proj(i,n)*f1-proj(i,n)*f2,A) = integral(proj(i,n)
  *f1,A) - integral(proj(i,n)*f2,A)
  proof
    let i be Element of NAT;
    assume
A7: i in Seg n;
    then
A8: A c= dom (proj(i,n)*f1) & A c= dom (proj(i,n)*f2) by A5;
    proj(i,n)*(f2|A) is bounded by A4,A7;
    then
A9: (proj(i,n)*f2)|A is bounded by Lm6;
    proj(i,n)*(f1|A) is bounded by A3,A7;
    then
A10: (proj(i,n)*f1)|A is bounded by Lm6;
A11: proj(i,n)*f1 is_integrable_on A & proj(i,n)*f2 is_integrable_on A by A1,A7
;
    hence proj(i,n)*f1 + proj(i,n)*f2 is_integrable_on A & integral(proj(i,n)*
f1+proj(i,n)*f2,A) = integral(proj(i,n)*f1,A) + integral(proj(i,n)*f2,A) by A8
,A10,A9,INTEGRA6:11;
    thus proj(i,n)*f1 - proj(i,n)*f2 is_integrable_on A & integral(proj(i,n)*
f1-proj(i,n)*f2,A) = integral(proj(i,n)*f1,A) - integral(proj(i,n)*f2,A) by A8
,A10,A9,A11,INTEGRA6:11;
  end;
A12: for i be Element of NAT st i in Seg n holds proj(i,n)*(f1+f2)
  is_integrable_on A & proj(i,n)*(f1-f2) is_integrable_on A
  proof
    let i be Element of NAT;
    assume i in Seg n;
    then
    (proj(i,n)*f1+proj(i,n)*f2) is_integrable_on A & (proj(i,n)*f1-proj(i
    ,n)*f2) is_integrable_on A by A6;
    hence thesis by Th15;
  end;
  then for i be Element of NAT st i in Seg n holds proj(i,n)*(f1+f2)
  is_integrable_on A;
  hence f1+f2 is_integrable_on A;
A13: for i be Element of NAT st i in Seg n holds integral(f1,A).i + integral
(f2,A).i =integral((proj(i,n)*f1),A) + integral((proj(i,n)*f2),A) & integral(f1
,A).i - integral(f2,A).i =integral((proj(i,n)*f1),A) - integral((proj(i,n)*f2),
  A)
  proof
    let i be Element of NAT;
    assume
A14: i in Seg n;
    then integral(f1,A).i = integral((proj(i,n)*f1),A) by Def17;
    hence thesis by A14,Def17;
  end;
A15: for i be Element of NAT st i in Seg n holds integral(f1,A).i + integral
(f2,A).i = integral(proj(i,n)*f1+proj(i,n)*f2,A) & integral(f1,A).i - integral(
  f2,A).i = integral(proj(i,n)*f1-proj(i,n)*f2,A)
  proof
    let i be Element of NAT;
    assume
A16: i in Seg n;
    then integral(f1,A).i + integral(f2,A).i =integral((proj(i,n)*f1),A) +
integral(( proj(i,n)*f2),A) & integral(f1,A).i - integral(f2,A).i =integral((
    proj(i,n)*f1 ),A) - integral((proj(i,n)*f2),A) by A13;
    hence thesis by A6,A16;
  end;
A17: for i be Element of NAT st i in Seg n holds integral(f1,A).i + integral
(f2,A).i = integral(proj(i,n)*(f1+f2),A) & integral(f1,A).i - integral(f2,A).i
  = integral(proj(i,n)*(f1-f2),A)
  proof
    let i be Element of NAT;
    assume i in Seg n;
    then
    integral(f1,A).i + integral(f2,A).i = integral(proj(i,n)*f1+proj(i,n)
* f2,A) & integral(f1,A).i - integral(f2,A).i = integral(proj(i,n)*f1-proj(i,n)
    * f2,A) by A15;
    hence thesis by Th15;
  end;
A18: for i be Element of NAT st i in Seg n holds integral(f1+f2,A).i =
integral(f1,A).i + integral(f2,A).i & integral(f1-f2,A).i = integral(f1,A).i -
  integral(f2,A).i
  proof
    let i be Element of NAT;
    assume
A19: i in Seg n;
    then
    integral(f1,A).i + integral(f2,A).i = integral(proj(i,n)*(f1+f2),A) &
    integral(f1,A).i - integral(f2,A).i = integral(proj(i,n)*(f1-f2),A) by A17;
    hence thesis by A19,Def17;
  end;
  for i be Element of NAT st i in Seg n holds proj(i,n)*(f1-f2)
  is_integrable_on A by A12;
  hence f1-f2 is_integrable_on A;
A20: dom(integral(f1+f2,A)) = Seg n by FINSEQ_1:89;
A21: for i be Element of NAT st i in dom (integral(f1+f2,A)) holds (integral
  (f1+f2,A)).i = (integral(f1,A) + integral(f2,A)).i
  proof
    let i be Element of NAT;
    assume i in dom (integral(f1+f2,A));
    then
    integral(f1+f2,A).i = integral(f1,A).i + integral(f2,A).i by A18,A20;
    hence thesis by RVSUM_1:11;
  end;
  dom(integral(f1,A) + integral(f2,A)) = Seg n by FINSEQ_1:89;
  hence integral(f1+f2,A) = integral(f1,A)+integral(f2,A) by A21,FINSEQ_1:89
,PARTFUN1:5;
A22: dom(integral(f1-f2,A)) = Seg n by FINSEQ_1:89;
A23: for i be Element of NAT st i in dom (integral(f1-f2,A)) holds (integral
  (f1-f2,A)).i = (integral(f1,A) - integral(f2,A)).i
  proof
    let i be Element of NAT;
    assume i in dom (integral(f1-f2,A));
    then
    integral(f1-f2,A).i = integral(f1,A).i - integral(f2,A).i by A18,A22;
    hence thesis by RVSUM_1:27;
  end;
  dom(integral(f1,A) - integral(f2,A)) = Seg n by FINSEQ_1:89;
  hence thesis by A23,FINSEQ_1:89,PARTFUN1:5;
end;
