 reserve h,h1 for 0-convergent non-zero Real_Sequence,
         c,c1 for constant Real_Sequence;

theorem Th9:
  for a,b,x be Real, f be PartFunc of REAL,REAL st a < x <= b &
   ].a,b.[ c= dom f & f is_left_convergent_in x holds
   f|(].a,b.[) is_left_convergent_in x &
   lim_left(f|(].a,b.[),x) = lim_left(f,x)
proof
    let a,b,x be Real, f be PartFunc of REAL,REAL;
    assume that
A1:  a < x <= b and
A2:  ].a,b.[ c= dom f and
A3:  f is_left_convergent_in x;

A4: dom(f|(].a,b.[)) = ].a,b.[ by A2,RELAT_1:62;

A5: for r be Real st r < x
     ex g be Real st r < g & g < x & g in dom(f|(].a,b.[))
    proof
     let r be Real;
     assume A6: r < x;

     set s = max(r,a);
     consider g be Real such that
A7:   s < g & g < x by A6,A1,XXREAL_0:29,XREAL_1:5;
     r <= s & a <= s by XXREAL_0:25; then
     r < g & a < g & g < b by A1,A7,XXREAL_0:2;
     hence thesis by A7,A4,XXREAL_1:4;
    end;

A8: for r be Real st 0 < r
     ex d be Real st d < x & for x1 be Real st d < x1 & x1 < x &
      x1 in dom(f|(].a,b.[)) holds
       |. (f|(].a,b.[)).x1 - lim_left(f,x) .| < r
    proof
     let r be Real;
     assume 0 < r; then
     consider d0 be Real such that
A9:   d0 < x &
      for x1 be Real st d0 < x1 & x1 < x & x1 in dom f holds
       |. f.x1 - lim_left(f,x) .| < r by A3,LIMFUNC2:41;
     set d = max(d0,a);

     for x1 be Real st d < x1 & x1 < x & x1 in dom(f|(].a,b.[))
      holds |. (f|(].a,b.[)).x1 - lim_left(f,x) .| < r
     proof
      let x1 be Real;
      assume that
A10:    d < x1 and
A11:    x1 < x and
A12:    x1 in dom(f|(].a,b.[));

      d0 <= d by XXREAL_0:25; then
A13:   d0 < x1 by A10,XXREAL_0:2;
      x1 in dom f by A12,RELAT_1:57; then
      |. f.x1 - lim_left(f,x) .| < r by A13,A11,A9;
      hence |. (f|(].a,b.[)).x1 - lim_left(f,x) .| < r by A12,FUNCT_1:47;
     end;
     hence thesis by A9,A1,XXREAL_0:29;
    end;
    hence f|(].a,b.[) is_left_convergent_in x by A5,LIMFUNC2:7;
    hence lim_left(f|(].a,b.[),x) = lim_left(f,x) by A8,LIMFUNC2:41;
end;
