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

theorem
  Z c= dom (ln*(f1+f2)) & f2=#Z 2 & (for x st x in Z holds f1.x=a^2 & (
  f1+f2).x >0) implies (ln*(f1+f2)) is_differentiable_on Z & for x st x in Z
  holds ((ln*(f1+f2))`|Z).x = (2*x)/(a^2+x|^2)
proof
  assume that
A1: Z c= dom (ln*(f1+f2)) and
A2: f2=#Z 2 and
A3: for x st x in Z holds f1.x=a^2 & (f1+f2).x >0;
  f2=1(#)f2 by RFUNCT_1:21;
  then
A4: for x st x in Z holds f1.x=a^2+0*x & (f1+1(#)f2).x >0 by A3;
A5: Z c= dom (ln*(f1+1(#)f2)) by A1,RFUNCT_1:21;
A6: for x st x in Z holds ((ln*(f1+f2))`|Z).x = (2*x)/(a^2+x |^2)
  proof
    let x;
    assume
A7: x in Z;
    ((ln*(f1+f2))`|Z).x =((ln*(f1+1(#)f2))`|Z).x by RFUNCT_1:21
      .= (0+2*1*x)/(a^2+0*x+1*x |^2) by A2,A5,A4,A7,Th13
      .=(2*x)/(a^2+x |^2);
    hence thesis;
  end;
  (ln*(f1+1(#)f2)) is_differentiable_on Z by A2,A5,A4,Th13;
  hence thesis by A6,RFUNCT_1:21;
end;
