let n be Element of NAT ; :: thesis: for s being Real_Sequence st ( for n being Element of NAT holds s . n = 1 / (n + 1) ) holds
(Partial_Product s) . n = 1 / ((n + 1) ! )

let s be Real_Sequence; :: thesis: ( ( for n being Element of NAT holds s . n = 1 / (n + 1) ) implies (Partial_Product s) . n = 1 / ((n + 1) ! ) )
defpred S1[ Element of NAT ] means (Partial_Product s) . $1 = 1 / (($1 + 1) ! );
assume A1: for n being Element of NAT holds s . n = 1 / (n + 1) ; :: thesis: (Partial_Product s) . n = 1 / ((n + 1) ! )
A2: for n being Element of NAT st S1[n] holds
S1[n + 1]
proof
let n be Element of NAT ; :: thesis: ( S1[n] implies S1[n + 1] )
assume (Partial_Product s) . n = 1 / ((n + 1) ! ) ; :: thesis: S1[n + 1]
then (Partial_Product s) . (n + 1) = (1 / ((n + 1) ! )) * (s . (n + 1)) by SERIES_3:def 1
.= (1 / ((n + 1) ! )) * (1 / ((n + 1) + 1)) by A1
.= ((1 / ((n + 1) ! )) * 1) / ((n + 1) + 1) by XCMPLX_1:75
.= 1 / (((n + 1) ! ) * ((n + 1) + 1)) by XCMPLX_1:79
.= 1 / ((n + 2) ! ) by NEWTON:21 ;
hence S1[n + 1] ; :: thesis: verum
end;
(Partial_Product s) . 0 = s . 0 by SERIES_3:def 1
.= 1 / ((0 + 1) ! ) by A1, NEWTON:19 ;
then A3: S1[ 0 ] ;
for n being Element of NAT holds S1[n] from NAT_1:sch 1(A3, A2);
hence (Partial_Product s) . n = 1 / ((n + 1) ! ) ; :: thesis: verum