reserve Z for open Subset of REAL;

theorem Th25:
  for r, x be Real, m be Nat st 0 < r holds
  Partial_Sums(Maclaurin(sin,].-r,r.[,x)).(2*m+1) = Partial_Sums(x P_sin).m &
  Partial_Sums(Maclaurin(cos,].-r,r.[,x)).(2*m+1) = Partial_Sums(x P_cos).m
proof
  let r, x be Real, m be Nat such that
A1: r > 0;
  thus Partial_Sums(Maclaurin(sin,].-r,r.[,x)).(2*m+1) = Partial_Sums(x P_sin)
  .m
  proof
    defpred P[Nat] means Partial_Sums(Maclaurin(sin,].-r,r.[,x)).(2
    *$1+1) = Partial_Sums(x P_sin).$1;
A2: for k be Nat st P[k] holds P[k+1]
    proof
      let k be Nat such that
A3:   P[k];
      Partial_Sums(Maclaurin(sin,].-r,r.[,x)).(2*(k+1)+1) = Partial_Sums(
      Maclaurin(sin,].-r,r.[,x)).(2*k+2) + Maclaurin(sin,].-r,r.[,x).(2*k+3)
by SERIES_1:def 1
        .= Partial_Sums(Maclaurin(sin,].-r,r.[,x)).(2*k+2) + (-1) |^ (k+1) *
      x |^ (2*(k+1)+1) / ((2*(k+1)+1)!) by A1,Th20
        .= Partial_Sums(Maclaurin(sin,].-r,r.[,x)).((2*k+1)+1) + (x P_sin).(
      k+1) by SIN_COS:def 20
        .= Partial_Sums(Maclaurin(sin,].-r,r.[,x)).(2*k+1) + Maclaurin(sin,
      ].-r,r.[,x).(2*(k+1)) + (x P_sin).(k+1) by SERIES_1:def 1
        .= Partial_Sums(Maclaurin(sin,].-r,r.[,x)).(2*k+1) + 0 + (x P_sin).(
      k+1) by A1,Th20
        .= Partial_Sums(x P_sin).(k+1) by A3,SERIES_1:def 1;
      hence thesis;
    end;
    Partial_Sums(Maclaurin(sin,].-r,r.[,x)).(2*0+1) = Partial_Sums(
    Maclaurin(sin,].-r,r.[,x)).(2*0) + Maclaurin(sin,].-r,r.[,x).((2*0)+1) by
SERIES_1:def 1
      .= Maclaurin(sin,].-r,r.[,x).(2*0) + Maclaurin(sin,].-r,r.[,x).(2*0+1)
    by SERIES_1:def 1
      .= 0 + Maclaurin(sin,].-r,r.[,x).(2*0+1) by A1,Th20
      .= (-1) |^ 0 * x |^ (2*0+1) / ((2*0+1)!) by A1,Th20
      .= (x P_sin).0 by SIN_COS:def 20
      .= Partial_Sums(x P_sin).0 by SERIES_1:def 1;
    then
A4: P[0];
    for n be Nat holds P[n] from NAT_1:sch 2(A4,A2);
    hence thesis;
  end;
  defpred P[Nat] means Partial_Sums(Maclaurin(cos,].-r,r.[,x)).(2*
  $1+1) = Partial_Sums(x P_cos).$1;
A5: for k be Nat st P[k] holds P[k+1]
  proof
    let k be Nat such that
A6: P[k];
    Partial_Sums(Maclaurin(cos,].-r,r.[,x)).(2*(k+1)+1) = Partial_Sums(
Maclaurin(cos,].-r,r.[,x)).(2*k+2) + Maclaurin(cos,].-r,r.[,x).(2*(k+1)+1) by
SERIES_1:def 1
      .= Partial_Sums(Maclaurin(cos,].-r,r.[,x)).(2*k+2) + 0 by A1,Th20
      .= Partial_Sums(Maclaurin(cos,].-r,r.[,x)).((2*k+1)+1)
      .= Partial_Sums(Maclaurin(cos,].-r,r.[,x)).(2*k+1) + Maclaurin(cos,].-
    r,r.[,x).(2*k+2) by SERIES_1:def 1
      .= Partial_Sums(x P_cos).k + (-1) |^ (k+1) * x |^ (2*(k+1)) / ((2*(k+1
    ))!) by A1,A6,Th20
      .= Partial_Sums(x P_cos).k + (x P_cos).(k+1) by SIN_COS:def 21
      .= Partial_Sums(x P_cos).(k+1) by SERIES_1:def 1;
    hence thesis;
  end;
  Partial_Sums(Maclaurin(cos,].-r,r.[,x)).(2*0+1) = Partial_Sums(Maclaurin
(cos,].-r,r.[,x)).(2*0) + Maclaurin(cos,].-r,r.[,x).((2*0)+1) by SERIES_1:def 1
    .= Maclaurin(cos,].-r,r.[,x).(2*0) + Maclaurin(cos,].-r,r.[,x).(2*0+1)
  by SERIES_1:def 1
    .= Maclaurin(cos,].-r,r.[,x).(2*0) + 0 by A1,Th20
    .= (-1) |^ 0 * x |^ (2*0) / ((2*0)!) by A1,Th20
    .= (x P_cos).0 by SIN_COS:def 21
    .= Partial_Sums(x P_cos).0 by SERIES_1:def 1;
  then
A7: P[0];
  for n be Nat holds P[n] from NAT_1:sch 2(A7,A5);
  hence thesis;
end;
