reserve n,k for Element of NAT;
reserve x,y,X for set;
reserve g,r,p for Real;
reserve S for RealNormSpace;
reserve rseq for Real_Sequence;
reserve seq,seq1 for sequence of S;
reserve x0 for Point of S;
reserve Y for Subset of S;
reserve S,T for RealNormSpace;
reserve f,f1,f2 for PartFunc of S,T;
reserve s1 for sequence of S;
reserve x0 for Point of S;
reserve h for (0.S)-convergent sequence of S;
reserve c for constant sequence of S;
reserve R,R1,R2 for RestFunc of S,T;
reserve L,L1,L2 for Point of R_NormSpace_of_BoundedLinearOperators(S,T);

theorem
  for Z be Subset of S st Z is open holds (Z c= dom f & f|Z is constant
implies f is_differentiable_on Z & for x be Point of S st x in Z holds (f`|Z)/.
  x = 0.R_NormSpace_of_BoundedLinearOperators(S,T))
proof
  let Z be Subset of S such that
A1: Z is open;
  reconsider R = (the carrier of S) --> 0.T as PartFunc of S,T;
  set L=0.R_NormSpace_of_BoundedLinearOperators(S,T);
  assume that
A2: Z c= dom f and
A3: f|Z is constant;
  R_NormSpace_of_BoundedLinearOperators(S,T) = NORMSTR (#
    BoundedLinearOperators(S,T), Zero_(BoundedLinearOperators(S,T),
    R_VectorSpace_of_LinearOperators(S,T)), Add_(BoundedLinearOperators(S,T),
    R_VectorSpace_of_LinearOperators(S,T)), Mult_(BoundedLinearOperators(S,T),
R_VectorSpace_of_LinearOperators(S,T)), BoundedLinearOperatorsNorm(S,T) #) by
LOPBAN_1:def 14;
  then reconsider L as Element of BoundedLinearOperators(S,T);
A4: dom R = the carrier of S;
  now
    let h;
    assume h is non-zero;
A5: now
      let n be Nat;
A6:   R/.(h.n) =R.(h.n) by A4,PARTFUN1:def 6
        .=0.T;
A7:   rng h c= dom R;
A8:   n in NAT by ORDINAL1:def 12;
      thus ((||.h.||")(#)(R/*h)).n = (||.h.||".n)*((R/*h).n) by Def2
        .=(||.h.||".n)*(R/.(h.n)) by A8,A7,FUNCT_2:109
        .=0.T by A6,RLVECT_1:10;
    end;
    then
A9: (||.h.||")(#)(R/*h) is constant by VALUED_0:def 18;
    hence (||.h.||")(#)(R/*h) is convergent by Th18;
    ((||.h.||")(#)(R/*h)).0 = 0.T by A5;
    hence lim ((||.h.||")(#)(R/*h)) = 0.T by A9,Th18;
  end;
  then reconsider R as RestFunc of S,T by Def5;
  consider r be Point of T such that
A10: for x be Point of S st x in Z/\dom f holds f.x=r by A3,PARTFUN2:57;
A11: now
    let x be Point of S;
    assume
A12: x in Z/\dom f;
    Z/\ dom f c= dom f by XBOOLE_1:17;
    hence f/.x=f.x by A12,PARTFUN1:def 6
      .=r by A10,A12;
  end;
A13: ((the carrier of S) --> 0.T) = L by LOPBAN_1:31;
A14: now
    let x0 be Point of S;
    assume
A15: x0 in Z;
    then consider N being Neighbourhood of x0 such that
A16: N c= Z by A1,Th2;
A17: N c= dom f by A2,A16;
A18: x0 in Z/\dom f by A2,A15,XBOOLE_0:def 4;
    for x be Point of S st x in N holds f/.x-f/.x0=L.(x-x0)+R/.(x-x0)
    proof
      let x be Point of S;
A19:  R/.(x-x0) =R.(x-x0) by A4,PARTFUN1:def 6
        .=0.T;
      assume x in N;
      then x in Z/\dom f by A16,A17,XBOOLE_0:def 4;
      hence f/.x-f/.x0=r-f/.x0 by A11
        .=r - r by A11,A18
        .=0.T by RLVECT_1:15
        .= 0.T + 0.T by RLVECT_1:4
        .=L.(x-x0)+R/.(x-x0) by A13,A19;
    end;
    hence f is_differentiable_in x0 by A17;
  end;
  hence
A20: f is_differentiable_on Z by A1,A2,Th31;
  let x0 be Point of S;
  assume
A21: x0 in Z;
  then consider N being Neighbourhood of x0 such that
A22: N c= Z by A1,Th2;
A23: N c= dom f by A2,A22;
A24: x0 in Z/\dom f by A2,A21,XBOOLE_0:def 4;
A25: for x be Point of S st x in N holds f/.x-f/.x0 =L.(x-x0)+R/.(x-x0)
  proof
    let x be Point of S;
A26: R/.(x-x0) =R.(x-x0) by A4,PARTFUN1:def 6
      .=0.T;
    assume x in N;
    then x in Z/\dom f by A22,A23,XBOOLE_0:def 4;
    hence f/.x - f/.x0 = r - f/.x0 by A11
      .=r - r by A11,A24
      .=0.T by RLVECT_1:15
      .= 0.T + 0.T by RLVECT_1:4
      .=L.(x-x0) + R/.(x-x0) by A13,A26;
  end;
A27: f is_differentiable_in x0 by A14,A21;
  thus (f`|Z)/.x0 = diff(f,x0) by A20,A21,Def9
    .=0.R_NormSpace_of_BoundedLinearOperators(S,T) by A27,A23,A25,Def7;
end;
