reserve n for Nat,
  a,b for Real,
  s for Real_Sequence;

theorem
  (for n holds s.n = n*(n+1)|^2) implies for n holds Partial_Sums(s).n =
  n*(n+1)*(n+2)*(3*n+5)/12
proof
  defpred X[Nat] means Partial_Sums(s).$1=$1*($1+1)*($1+2)*(3*$1+5)
  /12;
  assume
A1: for n holds s.n = n*(n+1)|^2;
A2: for n st X[n] holds X[n+1]
  proof
    let n;
    assume Partial_Sums(s).n =n*(n+1)*(n+2)*(3*n+5)/12;
    then Partial_Sums(s).(n+1) =n*(n+1)*(n+2)*(3*n+5)/12+ s.(n+1) by
SERIES_1:def 1
      .=n*(n+1)*(n+2)*(3*n+5)/12+ (n+1)*(n+1+1)|^2 by A1
      .=(n+1)*(n*(n+2)*(3*n+5)+ (n+2)|^2*12)/12
      .=(n+1)*(n*(n+2)*(3*n+5)+ (n+2)*(n+2)*12)/12 by WSIERP_1:1
      .=(n+1)*(n+2)*(n+3)*(3*(n+1)+5)/12;
    hence thesis;
  end;
  Partial_Sums(s).0 = s.0 by SERIES_1:def 1
    .=0*(0+1)|^2 by A1
    .=0*(0+1)*(0+2)*(3*0+5)/12;
  then
A3: X[0];
  for n holds X[n] from NAT_1:sch 2(A3,A2);
  hence thesis;
end;
