reserve x,a,b,c for Real,
  n for Nat,
  Z for open Subset of REAL,
  f, f1,f2 for PartFunc of REAL,REAL;

theorem
  (Z c= dom (f(#)tan) & for x st x in Z holds f.x=a*x+b) implies (f(#)
tan) is_differentiable_on Z & for x st x in Z holds ((f(#)tan)`|Z).x = a*sin.x/
  cos.x+(a*x+b)/(cos.x)^2
proof
  assume that
A1: Z c= dom (f(#)tan) and
A2: for x st x in Z holds f.x=a*x+b;
A3: Z c= dom f /\ dom tan by A1,VALUED_1:def 4;
  then
A4: Z c= dom tan by XBOOLE_1:18;
A5: Z c= dom f by A3,XBOOLE_1:18;
  then
A6: f is_differentiable_on Z by A2,FDIFF_1:23;
A7: for x st x in Z holds tan is_differentiable_in x & diff(tan, x)=1/(cos.x
  )^2
  proof
    let x;
    assume x in Z;
    then cos.x<>0 by A4,Th1;
    hence thesis by FDIFF_7:46;
  end;
  then for x st x in Z holds tan is_differentiable_in x;
  then
A8: tan is_differentiable_on Z by A4,FDIFF_1:9;
  for x st x in Z holds ((f(#)tan)`|Z).x = a*sin.x/cos.x+(a*x+b)/(cos.x) ^2
  proof
    let x;
    assume
A9: x in Z;
    then ((f(#)tan)`|Z).x= (tan.x)*diff(f,x)+(f.x)*diff(tan,x) by A1,A6,A8,
FDIFF_1:21
      .=(tan.x)*((f`|Z).x)+(f.x)*diff(tan,x) by A6,A9,FDIFF_1:def 7
      .=(tan.x)*a+(f.x)*diff(tan,x) by A2,A5,A9,FDIFF_1:23
      .=(tan.x)*a+(a*x+b)*diff(tan,x) by A2,A9
      .=(tan.x)*a+(a*x+b)*(1/(cos.x)^2) by A7,A9
      .=(sin.x/cos.x)*(a/1)+(a*x+b)/(cos.x)^2 by A4,A9,RFUNCT_1:def 1
      .=a*sin.x/cos.x+(a*x+b)/(cos.x)^2;
    hence thesis;
  end;
  hence thesis by A1,A6,A8,FDIFF_1:21;
end;
