reserve Z for open Subset of REAL;

theorem Th23:
  for r, e be Real st 0 < r & 0 < e
 ex n be Nat
  st for m be Nat st n <= m
 for x,s be Real st x in ].-r,r.[ & 0
< s & s < 1 holds |.(diff(sin,].-r,r.[).m).(s*x) * x |^ m / (m!).| < e & |.(
  diff(cos,].-r,r.[).m).(s*x) * x |^ m / (m!).| < e
proof
  let r, e be Real such that
A1: r > 0 and
A2: e > 0;
  consider r1,r2 be Real such that
A3: r1 >= 0 & r2 >= 0 and
A4: for n be Nat holds
  for x,s be Real st x in ].-r,r.[ & 0 <
s & s < 1 holds |.(diff(sin,].-r,r.[).n).(s*x) * x |^ n / (n!).| <= r1*r2 |^ n
/ (n!) & |.(diff(cos,].-r,r.[).n).(s*x) * x |^ n / (n!).| <= r1*r2 |^ n / (n!)
  by A1,Th22;
  consider n be Nat such that
A5: for m be Nat st n <= m holds (r1 * r2 |^ m / (m!)) < e by A2,A3
,Th12;
  take n;
  let m be Nat;
  assume n <= m;
  then
A6: (r1*r2 |^ m /(m!)) < e by A5;
  let x,s be Real;
  assume x in ].-r,r.[ & 0 < s & s < 1;
  then |.(diff(sin,].-r,r.[).m).(s*x) * x |^ m /(m!).| <= r1*r2 |^ m /(m!) &
  |.( diff(cos,].-r,r.[).m).(s*x) * x |^ m /(m!).| <= r1*r2 |^ m /(m!) by A4;
  hence thesis by A6,XXREAL_0:2;
end;
