reserve y for set,
  x,a for Real,
  n for Element of NAT,
  Z for open Subset of REAL,
  f,f1,f2 for PartFunc of REAL,REAL;

theorem
  Z c= dom (ln*( #Z n)) & (for x st x in Z holds x>0) implies ln*( #Z n)
  is_differentiable_on Z & for x st x in Z holds ((ln*( #Z n))`|Z).x =n/x
proof
  assume that
A1: Z c= dom (ln*( #Z n)) and
A2: for x st x in Z holds x > 0;
A3: for x st x in Z holds ln*( #Z n) is_differentiable_in x
  proof
    let x;
A4: #Z n.x=x #Z n by TAYLOR_1:def 1;
    assume x in Z;
    then #Z n is_differentiable_in x & #Z n.x>0 by A2,A4,PREPOWER:39,TAYLOR_1:2
;
    hence thesis by TAYLOR_1:20;
  end;
  then
A5: ln*( #Z n) is_differentiable_on Z by A1,FDIFF_1:9;
  for x st x in Z holds ((ln*( #Z n))`|Z).x =n/x
  proof
    let x;
A6: #Z n is_differentiable_in x & diff(( #Z n),x) = n * x #Z (n-1) by
TAYLOR_1:2;
    assume
A7: x in Z;
    then
A8: x>0 by A2;
A9: x |^n >0 by A2,A7,NEWTON:83;
A10: #Z n.x=x #Z n by TAYLOR_1:def 1;
    then #Z n.x>0 by A2,A7,PREPOWER:39;
    then diff(ln*( #Z n),x) = n * x #Z (n-1)/x #Z n by A6,A10,TAYLOR_1:20
      .=n * x #Z (n-1)/x |^ n by PREPOWER:36
      .=n * (x |^ n/x |^ 1)/x |^ n by A8,PREPOWER:43
      .=n * (x |^ n/x |^ 1/x |^ n) by XCMPLX_1:74
      .=n * (x |^ n/x |^ n/x |^ 1) by XCMPLX_1:48
      .=n * (1/(x |^ 1)) by A9,XCMPLX_1:60
      .=n * (1/x)
      .=n*1/x by XCMPLX_1:74
      .=n/x;
    hence thesis by A5,A7,FDIFF_1:def 7;
  end;
  hence thesis by A1,A3,FDIFF_1:9;
end;
