reserve S,T,W,Y for RealNormSpace;
reserve f,f1,f2 for PartFunc of S,T;
reserve Z for Subset of S;
reserve i,n for Nat;

theorem LMX1:
  for X, Y, W be RealNormSpace,
  Z be Subset of [:X,Y:],
  f be PartFunc of [:X,Y:], W
  st f is_differentiable_on Z holds
  f`|Z is_continuous_on Z iff
  (f*(IsoCPNrSP(X,Y)")) `| ((IsoCPNrSP(X,Y)")"Z) is_continuous_on
    ((IsoCPNrSP(X,Y)")"Z)
  proof
    let X, Y, W be RealNormSpace,
    Z be Subset of [:X,Y:],
    f be PartFunc of [:X,Y:], W;
    assume AS1: f is_differentiable_on Z;
    set I = (IsoCPNrSP(X,Y)");
    X1: I = (IsoCPNrSP(X,Y)") & I is one-to-one onto &
    ( for x be Point of X, y be Point of Y holds I.<*x,y*> =[x,y] ) &
    0. [:X,Y:] = I.(0.product <*X,Y*>) & I is isometric by defISOA1,defISOA2;
    set J = IsoCPNrSP(X,Y);
    X2: J is one-to-one onto &
    ( for x be Point of X, y be Point of Y holds J.(x,y) =<*x,y*> ) &
    0.product <*X,Y*> = J.(0. [:X,Y:]) & J is isometric by defISO,ZeZe;
    set g = f*I;
    set E = I"(Z);
    A2: dom J = the carrier of [:X,Y:] by FUNCT_2:def 1;
    IJ1: I" = J by FUNCT_1:43;
    AS2: g is_differentiable_on E by LM155,AS1;
    P1: dom (f`|Z) = Z by AS1,NDIFF_1:def 9;
    P2: dom (g`|E) = E by AS2,NDIFF_1:def 9;
    set F = f`|Z;
    set G = g`|E;
    hereby
      assume Q2: F is_continuous_on Z;
      for y0 be Point of product <*X,Y*>, r be Real st y0 in E & 0<r
      ex s be Real
      st 0<s & for y1 be Point of product <*X,Y*>
      st y1 in E & ||. y1- y0 .|| < s holds ||. G/.y1 - G/.y0 .|| < r
      proof
        let y0 be Point of product <*X,Y*>,
        r be Real;
        assume H1: y0 in E & 0<r;
        consider x0 be Point of [:X,Y:] such that
        F4: y0 = J.x0 by X2,FUNCT_2:113;
        F8: I.y0 = x0 by A2,F4,FUNCT_1:34;
        then
        F9: x0 in Z by H1,FUNCT_2:38;
        then consider s be Real such that
        F10: 0 < s &
        for x1 be Point of [:X,Y:] st x1 in Z & ||. x1- x0 .|| < s
        holds ||. F/.x1 - F/.x0 .|| < r by Q2,H1,NFCONT_1:19;
        take s;
        thus 0 < s by F10;
        thus for y1 be Point of product <*X,Y*>
        st y1 in E & ||. y1- y0 .|| < s holds ||. G/.y1 - G/.y0 .|| < r
        proof
          let y1 be Point of product <*X,Y*>;
          assume H3: y1 in E & ||. y1- y0 .|| < s;
          consider x1 be Point of [:X,Y:] such that
          G4: y1 = J.x1 by X2,FUNCT_2:113;
          G8: I.y1 = x1 by A2,G4,FUNCT_1:34;
          then G9: x1 in Z by H3,FUNCT_2:38;
          ||. x1- x0 .||
          = ||. y1-y0 .|| by X1,F8,G8;
          then
          H5: ||. F/.x1 - F/.x0 .|| < r by F10,G9,H3;
          H7: F/.x1 = F.x1 by G9,P1,PARTFUN1:def 6
          .= (G/.y1)*J by AS1,G4,G9,P1,IJ1,LM166;
          H8:  F/.x0 = F.x0 by F9,P1,PARTFUN1:def 6
          .= (G/.y0)*J by AS1,F4,F9,P1,IJ1,LM166;
          reconsider Gy1y0 = G/.y1 - G/.y0 as Lipschitzian LinearOperator
          of product <*X,Y*>,W by LOPBAN_1:def 9;
          reconsider Fx1x0 = F/.x1 - F/.x0 as Lipschitzian LinearOperator
          of [:X,Y:],W by LOPBAN_1:def 9;
          now
            let t be VECTOR of [:X,Y:];
            U2: ((G/.y1 - G/.y0)*J).t= (G/.y1 - G/.y0).(J.t) by A2,FUNCT_1:13
            .= (G/.y1).(J.t) - (G/.y0).(J.t) by LOPBAN_1:40;
            U3: (F/.x1).t = (G/.y1).(J.t) by A2,H7,FUNCT_1:13;
            (F/.x0).t = (G/.y0).(J.t) by A2,H8,FUNCT_1:13;
            hence (Gy1y0*J).t = Fx1x0.t by U2,U3,LOPBAN_1:40;
          end;
          then Gy1y0*J = Fx1x0;
          hence ||. G/.y1 - G/.y0 .|| < r by H5,LMX00;
        end;
      end;
      hence G is_continuous_on E by P2,NFCONT_1:19;
    end;
    assume Q2: g `| E is_continuous_on E;
    for x0 be Point of [:X,Y:],r be Real st x0 in Z & 0<r ex s be Real
    st 0<s & for x1 be Point of [:X,Y:] st x1 in Z & ||. x1- x0 .|| < s
    holds ||. F/.x1 - F/.x0 .|| < r
    proof
      let x0 be Point of [:X,Y:],
      r be Real;
      assume H1: x0 in Z & 0<r;
      set y0 = J.x0;
      I.y0 = x0 by A2,FUNCT_1:34;
      then y0 in E by FUNCT_2:38,H1;
      then consider s be Real such that
      F10: 0 < s &
      for y1 be Point of product <*X,Y*>
      st y1 in E & ||. y1- y0 .|| < s
      holds ||. G/.y1 - G/.y0 .|| < r by H1,Q2,NFCONT_1:19;
      take s;
      thus 0 < s by F10;
      let x1 be Point of [:X,Y:];
      assume H3: x1 in Z & ||. x1- x0 .|| < s;
      set y1 = J.x1;
      I.y1 = x1 by A2,FUNCT_1:34; then
      G9: y1 in E by FUNCT_2:38,H3;
      ||. y1- y0 .|| = ||. x1-x0 .|| by X2;
      then
      H5: ||. G/.y1 - G/.y0 .|| < r by F10,G9,H3;
      H7: F/.x1 = F.x1 by H3,P1,PARTFUN1:def 6
      .= (G/.y1)*J by AS1,H3,IJ1,P1,LM166;
      H8:  F/.x0 = F.x0 by H1,P1,PARTFUN1:def 6
      .= (G/.y0)*J by AS1,H1,IJ1,P1,LM166;
      reconsider Gy1y0 = G/.y1 - G/.y0 as Lipschitzian LinearOperator
        of product <*X,Y*>,W by LOPBAN_1:def 9;
      reconsider Fx1x0 = F/.x1 - F/.x0 as Lipschitzian LinearOperator
        of [:X,Y:],W by LOPBAN_1:def 9;
      now
        let t be VECTOR of [:X,Y:];
    U2: ((G/.y1 - G/.y0)*J).t = (G/.y1 - G/.y0).(J.t) by A2,FUNCT_1:13
        .= (G/.y1).(J.t) - (G/.y0).(J.t) by LOPBAN_1:40;
    U3: (F/.x1).t = (G/.y1).(J.t) by A2,H7,FUNCT_1:13;
        (F/.x0).t = (G/.y0).(J.t) by A2,H8,FUNCT_1:13;
        hence (Gy1y0*J).t = Fx1x0.t by U2,U3,LOPBAN_1:40;
      end;
      then Gy1y0*J = Fx1x0;
      hence ||. F/.x1 - F/.x0 .|| < r by H5,LMX00;
    end;
    hence f`|Z is_continuous_on Z by P1,NFCONT_1:19;
  end;
