reserve x for object;
reserve x0,r,r1,r2,g,g1,g2,p,y0 for Real;
reserve n,m,k,l for Element of NAT;
reserve a,b,d for Real_Sequence;
reserve h,h1,h2 for non-zero 0-convergent Real_Sequence;
reserve c,c1 for constant Real_Sequence;
reserve A for open Subset of REAL;
reserve f,f1,f2 for PartFunc of REAL,REAL;
reserve L for LinearFunc;
reserve R for RestFunc;

theorem Th7:
  (for h,c st rng c = {g} & rng (h + c) c= dom f & {g} c= dom f
holds h"(#)(f/*(h+c) - f/*c) is convergent) implies for h1,h2,c st rng c = {g}
  & rng (h1 + c) c= dom f & rng (h2 + c) c= dom f & {g} c= dom f holds lim (h1"
  (#)(f/*(h1+c) - f/*c)) = lim(h2"(#)(f/*(h2+c) - f/*c))
proof
  assume
A1: for h,c st rng c = {g} & rng (h+c) c= dom f & {g} c= dom f holds h"
  (#)(f/*(h+c) - f/*c) is convergent;
  let h1,h2,c such that
A2: rng c = {g} and
A3: rng (h1+c) c= dom f and
A4: rng (h2+c) c= dom f and
A5: {g} c= dom f;
  deffunc G(Element of NAT) = h2.$1;
  deffunc F(Element of NAT) = h1.$1;
  consider a such that
A6: for n holds a.(2*n) = F(n) & a.(2*n + 1) = G(n) from SCHEME1:sch 2;
  now
    let n be Nat;
    consider m being Element of NAT such that
A7: n = 2*m or n = 2*m + 1 by SCHEME1:1;
    now
      per cases by A7;
      suppose
        n = 2*m;
        then a.n = h1.m by A6;
        hence a.n <> 0 by SEQ_1:5;
      end;
      suppose
        n = 2*m + 1;
        then a.n = h2.m by A6;
        hence a.n <> 0 by SEQ_1:5;
      end;
    end;
    hence a.n <> 0;
  end;
  then
A8: a is non-zero by SEQ_1:5;
A9: lim h1 = 0;
A10: lim h2 = 0;
A11: a is convergent by A6,A9,A10,Th1;
  lim a = 0 by A6,A9,A10,Th1;
  then reconsider a as 0-convergent non-zero Real_Sequence
    by A11,A8,FDIFF_1:def 1;
A12: rng (a + c) c= dom f
  proof
    let x be object;
    assume x in rng (a + c);
    then consider n such that
A13: x = (a + c).n by FUNCT_2:113;
    consider m such that
A14: n = 2*m or n = 2*m + 1 by SCHEME1:1;
    now
      per cases by A14;
      suppose
A15:    n = 2*m;
A16:    (h1 + c).m in rng (h1 + c) by VALUED_0:28;
        (a + c).n = a.n + c.n by SEQ_1:7
          .= h1.m + c.n by A6,A15
          .= h1.m + c.m by VALUED_0:23
          .= (h1 + c).m by SEQ_1:7;
        hence (a + c).n in dom f by A3,A16;
      end;
      suppose
A17:    n = 2*m + 1;
A18:    (h2 + c).m in rng (h2 + c) by VALUED_0:28;
        (a + c).n = a.n + c.n by SEQ_1:7
          .= h2.m + c.n by A6,A17
          .= h2.m + c.m by VALUED_0:23
          .= (h2 + c).m by SEQ_1:7;
        hence (a + c).n in dom f by A4,A18;
      end;
    end;
    hence thesis by A13;
  end;
  then
A19: a"(#)(f/*(a+c) - f/*c) is convergent by A1,A2,A5;
  deffunc G(Nat) = 2*$1+1;
  consider d such that
A20: for n being Nat holds d.n = G(n) from SEQ_1:sch 1;
  for n being Element of NAT holds d.n = G(n) by A20;
  then reconsider I2 = d as increasing sequence of NAT by Th3;
  now
    let n;
    thus ((a"(#)(f/*(a+c) - f/*c))*I2).n = (a"(#)(f/*(a+c) - f/*c)).(I2.n) by
FUNCT_2:15
      .= (a"(#)(f/*(a+c) - f/*c)).(2*n + 1) by A20
      .= (a").(2*n + 1) * (f/*(a+c) - f/*c).(2*n + 1) by SEQ_1:8
      .= (a").(2*n + 1) * ((f/*(a+c)).(2*n + 1) - (f/*c).(2*n + 1)) by
RFUNCT_2:1
      .= (a").(2*n + 1) * (f.((a+c).(2*n+1)) - (f/*c).(2*n+1)) by A12,
FUNCT_2:108
      .= (a").(2*n + 1) * (f.(a.(2*n+1) + c.(2*n+1)) - (f/*c).(2*n+1)) by
SEQ_1:7
      .= (a").(2*n + 1) * (f.(h2.n + c.(2*n+1)) - (f/*c).(2*n+1)) by A6
      .= (a").(2*n + 1) * (f.(h2.n + c.n) - (f/*c).(2*n+1)) by VALUED_0:23
      .= (a").(2*n + 1) * (f.((h2 + c).n) - (f/*c).(2*n+1)) by SEQ_1:7
      .= (a").(2*n + 1) * ((f/*(h2+c)).n - (f/*c).(2*n+1)) by A4,FUNCT_2:108
      .= (a.(2*n + 1))" * ((f/*(h2+c)).n - (f/*c).(2*n+1)) by VALUED_1:10
      .= (h2.n)" * ((f/*(h2+c)).n - (f/*c).(2*n+1)) by A6
      .= (h2").n * ((f/*(h2+c)).n - (f/*c).(2*n+1)) by VALUED_1:10
      .= (h2").n * ((f/*(h2+c)).n - f.(c.(2*n+1))) by A2,A5,FUNCT_2:108
      .= (h2").n * ((f/*(h2+c)).n - f.(c.n)) by VALUED_0:23
      .= (h2").n * ((f/*(h2+c)).n - (f/*c).n) by A2,A5,FUNCT_2:108
      .= (h2").n * (f/*(h2+c) - (f/*c)).n by RFUNCT_2:1
      .= ((h2")(#)(f/*(h2+c) - (f/*c))).n by SEQ_1:8;
  end;
  then
A21: (a"(#)(f/*(a+c) - f/*c))*I2 = h2"(#)(f/*(h2+c) - f/*c);
  (a"(#)(f/*(a+c) - f/*c))*I2 is subsequence of a"(#)(f/*(a+c) - f/*c) by
VALUED_0:def 17;
  then
A22: lim ((a"(#)(f/*(a+c) - f/*c))*I2) = lim (a"(#) (f/*(a+c) - f/*c)) by A19,
SEQ_4:17;
  deffunc F(Nat) = 2*$1;
  consider b such that
A23: for n being Nat holds b.n = F(n) from SEQ_1:sch 1;
  for n being Element of NAT holds b.n = F(n) by A23;
  then reconsider I1 = b as increasing sequence of NAT by Th2;
  now
    let n;
    thus ((a"(#)(f/*(a+c) - f/*c))*I1).n = (a"(#)(f/*(a+c) - f/*c)).(I1.n) by
FUNCT_2:15
      .= (a"(#)(f/*(a+c) - f/*c)).(2*n) by A23
      .= (a").(2*n) * (f/*(a+c) - f/*c).(2*n) by SEQ_1:8
      .= (a").(2*n) * ((f/*(a+c)).(2*n) - (f/*c).(2*n)) by RFUNCT_2:1
      .= (a").(2*n) * (f.((a+c).(2*n)) - (f/*c).(2*n)) by A12,FUNCT_2:108
      .= (a").(2*n) * (f.(a.(2*n) + c.(2*n)) - (f/*c).(2*n)) by SEQ_1:7
      .= (a").(2*n) * (f.(h1.n + c.(2*n)) - (f/*c).(2*n)) by A6
      .= (a").(2*n) * (f.(h1.n + c.n) - (f/*c).(2*n)) by VALUED_0:23
      .= (a").(2*n) * (f.((h1 + c).n) - (f/*c).(2*n)) by SEQ_1:7
      .= (a").(2*n) * ((f/*(h1+c)).n - (f/*c).(2*n)) by A3,FUNCT_2:108
      .= (a.(2*n))" * ((f/*(h1+c)).n - (f/*c).(2*n)) by VALUED_1:10
      .= (h1.n)" * ((f/*(h1+c)).n - (f/*c).(2*n)) by A6
      .= (h1").n * ((f/*(h1+c)).n - (f/*c).(2*n)) by VALUED_1:10
      .= (h1").n * ((f/*(h1+c)).n - f.(c.(2*n))) by A2,A5,FUNCT_2:108
      .= (h1").n * ((f/*(h1+c)).n - f.(c.n)) by VALUED_0:23
      .= (h1").n * ((f/*(h1+c)).n - (f/*c).n) by A2,A5,FUNCT_2:108
      .= (h1").n * (f/*(h1+c) - (f/*c)).n by RFUNCT_2:1
      .= ((h1")(#)(f/*(h1+c) - (f/*c))).n by SEQ_1:8;
  end;
  then
A24: (a"(#)(f/*(a+c) - f/*c))*I1 = h1"(#)(f/*(h1+c) - f/*c);
  (a"(#)(f/*(a+c) - f/*c))*I1 qua Real_Sequence is subsequence of a"(#)(f
  /*(a+c) - f/*c) by VALUED_0:def 17;
  hence thesis by A19,A22,A24,A21,SEQ_4:17;
end;
