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

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