
theorem Th24:
for r be Real, S be RealNormSpace, E be Subset of S,
 f be PartFunc of S,RNS_Real st f is_continuous_on E & dom f = E holds
  ex H be Subset of S st H /\ E = f"(].-infty,r.[) & H is open
proof
    let r be Real, S be RealNormSpace, E be Subset of S,
    f be PartFunc of S,RNS_Real;
    assume that
A1: f is_continuous_on E and
A2: dom f = E;

A3: now let z be object;
     assume
A4:  z in f"(].-infty,r.[); then
A5:  z in dom f & f.z in ].-infty,r.[ by FUNCT_1:def 7; then
A6:  ex t be Real st t = f.z & -infty < t & t < r;
     reconsider t = z as Point of S by A4;
     take t;
     thus t=z;

     reconsider y = f.t as Real;
     set e = r-y;
     consider s be Real such that
A7:  0 < s
   & for t1 be Point of S st t1 in E & ||.t1- t.|| < s holds
       ||. f/.t1 - f/.t.|| < e by A2,A5,A6,A1,NFCONT_1:19,XREAL_1:50;
     take s;
     thus 0 < s by A7;
     thus for t1 be object
      st t1 in E /\ {t1 where t1 is Point of S : ||.t1-t.|| < s}
          holds f.t1 in ].-infty,r.[
     proof
      let t1 be object;
      assume
A8:   t1 in E/\ {t1 where t1 is Point of S : ||.t1-t.|| < s}; then
A9:   t1 in E & t1 in {t1 where t1 is Point of S : ||.t1-t.|| < s}
         by XBOOLE_0:def 4;
      reconsider y0 = t1 as Point of S by A8;
A10:  ex y1 be Point of S st y0 = y1 & ||.y1-t.|| < s by A9;

      reconsider r1 = f/.y0, r2 = f/.t as Real;
A11:  r2 = f.t by A5,PARTFUN1:def 6;
      f/.y0 - f/.t = r1-r2 by DUALSP03:4; then
      ||. f/.y0 - f/.t .|| =|.r1-r2.| by EUCLID:def 2; then
      r1 in ]. r2-e,r2+e .[ by A7,A9,A10,RCOMP_1:1; then
      ex g be Real st g = r1 & r2-e < g & g < r2+ e; then
      -infty < r1 & r1 < r by A11,XXREAL_0:12; then
      r1 in ].-infty,r.[;
      hence f.t1 in ].-infty,r.[ by A9,A1,PARTFUN1:def 6;
     end;
    end;

    defpred P[object,object] means
     ex t be Point of S,s be Real st t=$1 & s=$2 & 0 < s &
      for t1 be object
       st t1 in E/\ {t1 where t1 is Point of S : ||.t1-t.|| < s}
        holds f.t1 in ].-infty,r.[;

A12:for z being object st z in f"(].-infty,r.[)
      ex y being object st y in REAL & P[z,y]
    proof
     let z be object;
     assume z in f"(].-infty,r.[); then
     consider t be Point of S such that
A13: t = z
   & ex s be Real st 0 < s & for t1 be object st
       t1 in E/\ {t1 where t1 is Point of S : ||.t1-t.|| < s}
         holds f.t1 in ].-infty,r.[ by A3;
     consider s be Real such that
A14: 0 < s
   & for t1 be object
      st t1 in E /\ {t1 where t1 is Point of S : ||.t1-t.|| < s}
       holds f.t1 in ].-infty,r.[ by A13;
     reconsider y=s as Element of REAL by XREAL_0:def 1;
     take y;
     thus y in REAL;
     thus thesis by A13,A14;
    end;

    consider R being Function of f"(].-infty,r.[),REAL such that
A15: for x being object st x in f"(].-infty,r.[) holds P[x,R.x]
       from FUNCT_2:sch 1(A12);

    defpred Q[object,object] means
     ex t be Point of S st t=$1 & 0 < R.$1
      & $2 = {t1 where t1 is Point of S : ||.t1-t.|| < R.$1};

A16:for z being object st z in f"(].-infty,r.[)
     ex y being object st y in bool (the carrier of S) & Q[z,y]
    proof
     let z be object;
     assume z in f"(].-infty,r.[); then
     consider t be Point of S,s be Real such that
A17: t=z & s=R.z & 0 < s
   & for t1 be object st t1 in E/\ {t1 where t1 is Point of S : ||.t1-t.|| < s}
       holds f.t1 in ].-infty,r.[ by A15;

     set y = {t1 where t1 is Point of S : ||. t1-t.|| < s};
     take y;

     now let x be object;
      assume x in y; then
      ex t1 be Point of S st x=t1 & ||.t1-t.|| < s;
      hence x in the carrier of S;
     end; then
     y c= the carrier of S;
     hence thesis by A17;
    end;

    consider B being Function of f"(].-infty,r.[), bool(the carrier of S)
     such that
A18:for x being object st x in f"(].-infty,r.[) holds Q[x,B.x]
       from FUNCT_2:sch 1(A16);

    set H = union rng B;
    reconsider H as Subset of S;
    take H;
    for z be object holds z in H /\ E iff z in f"(].-infty,r.[)
    proof
     let z be object;
     hereby assume z in H /\ E; then
A19:  z in H & z in E by XBOOLE_0:def 4; then
      consider Y being set such that
A20:  z in Y & Y in rng B by TARSKI:def 4;
      consider x be object such that
A21:  x in dom B & Y=B.x by FUNCT_1:def 3,A20;
A22:  z in  E /\ B.x by A20,A21,A19,XBOOLE_0:def 4;

A23:  ex t be Point of S st t = x & 0 < R.x
      & B.x = {t1 where t1 is Point of S : ||.t1-t.|| < R.x} by A18,A21;

      ex t be Point of S,s be Real st t=x & s=R.x & 0 < s
       & for t1 be object
          st t1 in E/\ {t1 where t1 is Point of S : ||. t1- t .|| < s}
            holds f.t1 in ].-infty,r.[ by A15,A21; then
      f.z in ].-infty,r.[ by A22,A23;
      hence z in f"(].-infty,r.[) by A1,A19,FUNCT_1:def 7;
     end;
     assume
A24: z in f"(].-infty,r.[); then
     reconsider z0 =z as Point of S;
A25: z in dom f & f.z in ].-infty,r.[ by A24,FUNCT_1:def 7;

     consider t be Point of S such that
A26: t=z & 0 < R.z
   & B.z = {t1 where t1 is Point of S : ||.t1-t.|| < R.z} by A18,A24;

     ||. z0-z0 .|| = ||. 0.S .|| by RLVECT_1:15; then
A27: z0 in B.z0 by A26;

     z0 in dom B by A24,FUNCT_2:def 1; then
     B.z0 in rng B by FUNCT_1:3; then
     z in union rng B by A27,TARSKI:def 4;
     hence z in H /\ E by A2,A25,XBOOLE_0:def 4;
    end;
    hence H /\ E = f"(].-infty,r.[) by TARSKI:2;

    for z be Point of S st z in H holds ex N be Neighbourhood of z st N c= H
    proof
     let z be Point of S;
     assume z in H; then
     consider Y being set such that
A28: z in Y & Y in rng B by TARSKI:def 4;
     consider x be object such that
A29: x in dom B & Y=B.x by FUNCT_1:def 3,A28;
     consider t be Point of S such that
A30: t=x & 0 < R.x
   & B.x = {t1 where t1 is Point of S : ||. t1- t .|| < R.x} by A18,A29;

A31: ex t1 be Point of S st z = t1 & ||. t1- t .|| < R.x by A30,A28,A29;

     set e = R.x - ||. z-t .||;
     reconsider N = {y where y is Point of S : ||. y-z .|| < e}
       as Neighbourhood of z by A31,XREAL_1:50,NFCONT_1:3;
     take N;
A32: now let p be object;
      assume p in N; then
      consider y be Point of S such that
A33:  y = p & ||. y-z .|| < e;

A34:  ||. y-t .|| <= ||. y-z .|| + ||. z-t .|| by NORMSP_1:10;

      ||. y-z .|| + ||. z-t .|| < e + ||. z-t .|| by A33,XREAL_1:8; then
      ||. y-t .|| < R.x by A34,XXREAL_0:2;
      hence p in Y by A30,A29,A33;
     end;
     Y c= H by A28,ZFMISC_1:74;
     hence N c= H by A32;
    end;
    hence H is open by NDIFF_1:5;
end;
