reserve i,n,m for Nat,
        r,s for Real,
        A for non empty closed_interval Subset of REAL;

theorem Th2:
  diff(arctan,r) = 1/(1+r^2)
proof
  set g = arctan;
  set f = tan | ].-PI/2,PI/2.[;
  set x = arctan.r;
  A1: (sin.x)^2 + (cos.x)^2 = 1 by SIN_COS:28;
  A2: f is_differentiable_on ].-PI/2,PI/2.[ by Lm1,FDIFF_2:16;
  A3: now
  A4:   for x0 be Real st x0 in ].-PI/2,PI/2.[ holds 1/(cos.x0)^2 > 0
        proof
          let x0 be Real;
          assume x0 in ].-PI/2,PI/2.[;
          then 0 < cos.x0 by COMPTRIG:11;
          hence thesis;
        end;
        let x0 be Real such that
   A5:  x0 in ].-PI/2,PI/2.[;
        diff(f,x0) = (f`|].-PI/2,PI/2.[).x0 by A2,A5,FDIFF_1:def 7
                  .= (tan`|].-PI/2,PI/2.[).x0 by Lm1,FDIFF_2:16
                  .= diff(tan,x0) by A5,Lm1,FDIFF_1:def 7
                  .= 1/(cos.x0)^2 by A5,Lm2;
        hence 0 < diff(f,x0) by A5,A4;
      end;
   A6:rng g = dom f & dom g = rng f by FUNCT_1:33;
   set x = arctan.r;
   A7:dom arctan = REAL & r in REAL by FUNCT_2:def 1,XREAL_0:def 1;
   then
   A8:x in dom f by A6,FUNCT_1:def 3;
   then
   A9:  x in ].-PI/2,PI/2.[ by RELAT_1:57;
   A10:cos x <> 0 by A8, RELAT_1:57,COMPTRIG:11;
   A11: r = f.x by A7,A6,FUNCT_1:32
         .= tan.x by A8,FUNCT_1:47
         .= tan x by A10,SIN_COS9:15
         .= sin x/cos x by SIN_COS4:def 1;
   dom f = dom tan /\ ].-PI/2,PI/2.[ by RELAT_1:61;
   then
   A12: ].-PI/2,PI/2.[ c= dom f by SIN_COS9:1,XBOOLE_1:19;
   A13: f| ].-PI/2,PI/2.[ = f;
   r * cos x = sin x by A10,A11,XCMPLX_1:87;
   then
   A14: 1 = (cos x)^2 * ( r^2 + 1 ) by A1;
   f is_differentiable_on ].-PI/2,PI/2.[ by Lm1,FDIFF_2:16;
   then diff(f,x) = (f`|].-PI/2,PI/2.[).x by A9,FDIFF_1:def 7
                 .= (tan`|].-PI/2,PI/2.[).x by Lm1,FDIFF_2:16
                 .= diff(tan,x) by A9,Lm1,FDIFF_1:def 7
                 .= 1/(cos x)^2 by A8,RELAT_1:57,Lm2;
   then diff(g,r) = 1/(1/(cos x)^2) by A2,A3,A13,A12,A7,FDIFF_2:48
                 .= 1/(r^2+1) by A14,XCMPLX_1:73;
   hence thesis;
end;
