reserve x for Real,

  Z for open Subset of REAL;

theorem
  Z c= dom (ln*ln) & (for x st x in Z holds x>0) implies ln*ln
  is_differentiable_on Z & for x st x in Z holds ((ln*ln)`|Z).x = 1/(ln.x*x)
proof
  assume that
A1: Z c= dom (ln*ln) and
A2: for x st x in Z holds x>0;
A3: for x st x in Z holds ln.x>0
  proof
    let x;
    assume x in Z;
    then
A4: ln.x in right_open_halfline(0) by A1,FUNCT_1:11,TAYLOR_1:18;
    ]. 0,+infty.[ = {g where g is Real: 0<g} by XXREAL_1:230;
    then ex g being Real st ln.x=g & 0<g by A4;
    hence thesis;
  end;
A5: for x st x in Z holds ln*ln is_differentiable_in x
  proof
    let x;
    assume
A6: x in Z;
    then
A7: ln.x > 0 by A3;
    ln is_differentiable_in x by A2,A6,TAYLOR_1:18;
    hence thesis by A7,TAYLOR_1:20;
  end;
  then
A8: ln*ln is_differentiable_on Z by A1,FDIFF_1:9;
  for x st x in Z holds ((ln*ln)`|Z).x = 1/(ln.x*x)
  proof
    let x;
A9: ]. 0,+infty.[ = {g where g is Real: 0<g} by XXREAL_1:230;
    assume
A10: x in Z;
    then
A11: ln.x >0 by A3;
    x > 0 by A2,A10;
    then
A12: x in right_open_halfline(0) by A9;
    ln is_differentiable_in x by A2,A10,TAYLOR_1:18;
    then diff(ln*ln,x) =diff(ln,x)/ln.x by A11,TAYLOR_1:20
      .=(1/ln.x) * (1/x) by A12,TAYLOR_1:18
      .=1/(ln.x*x) by XCMPLX_1:102;
    hence thesis by A8,A10,FDIFF_1:def 7;
  end;
  hence thesis by A1,A5,FDIFF_1:9;
end;
