reserve x,x0, r,r1,r2 for Real,
      th for Real,

  rr for set,

  rseq for Real_Sequence;

theorem Th121:
  arcsec1 is_differentiable_on sec.:].0,PI/2.[
proof
  set X = sec.:].0,PI/2.[;
  set g1 = arcsec1|(sec.:].0,PI/2.[);
  set f = sec|[.0,PI/2.[;
  set g = f|].0,PI/2.[;
A1: g = sec|].0,PI/2.[ by RELAT_1:74,XXREAL_1:22;
A2: dom ((g|].0,PI/2.[)") = rng (g|].0,PI/2.[) by FUNCT_1:33
    .= rng(sec|].0,PI/2.[) by A1,RELAT_1:72
    .= sec.:].0,PI/2.[ by RELAT_1:115;
A3: (g|].0,PI/2.[)" = (f|].0,PI/2.[)" by RELAT_1:72
    .= arcsec1|(f.:].0,PI/2.[) by RFUNCT_2:17
    .= arcsec1|(rng(f|].0,PI/2.[)) by RELAT_1:115
    .= arcsec1|(rng (sec|].0,PI/2.[)) by RELAT_1:74,XXREAL_1:22
    .= arcsec1|(sec.:].0,PI/2.[) by RELAT_1:115;
A4: g is_differentiable_on ].0,PI/2.[ by A1,Th5,FDIFF_2:16;
  now
A5: for x0 st x0 in ].0,PI/2.[ holds sin.x0/(cos.x0)^2 > 0
    proof
      let x0;
      assume
A6:   x0 in ].0,PI/2.[;
      ].0,PI/2.[ c= ].-PI/2,PI/2.[ by XXREAL_1:46;
      then
A7:   cos.x0 > 0 by A6,COMPTRIG:11;
      ].0,PI/2.[ c= ].0,PI.[ by COMPTRIG:5,XXREAL_1:46;
      then sin.x0 > 0 by A6,COMPTRIG:7;
      hence thesis by A7;
    end;
    let x0 such that
A8: x0 in ].0,PI/2.[;
    diff(g,x0) = (g`|].0,PI/2.[).x0 by A4,A8,FDIFF_1:def 7
      .= ((sec|].0,PI/2.[)`|].0,PI/2.[).x0 by RELAT_1:74,XXREAL_1:22
      .= (sec`|].0,PI/2.[).x0 by Th5,FDIFF_2:16
      .= diff(sec,x0) by A8,Th5,FDIFF_1:def 7
      .= sin.x0/(cos.x0)^2 by A8,Th5;
    hence diff(g,x0) > 0 by A8,A5;
  end;
  then
A9: g1 is_differentiable_on X by A2,A4,A3,Lm21,FDIFF_2:48;
A10: for x st x in X holds arcsec1|X is_differentiable_in x
  proof
    let x;
    assume x in X;
    then g1|X is_differentiable_in x by A9,FDIFF_1:def 6;
    hence thesis by RELAT_1:72;
  end;
  X c= dom arcsec1 by A2,A3,RELAT_1:60;
  hence thesis by A10,FDIFF_1:def 6;
end;
