defpred S1[ Nat] means for F being FinSequence of REAL st ( for k being Element of NAT st k in dom F holds
0 <= F . k ) & len F = $1 holds
0 <= Product F;
let F be FinSequence of REAL ; ( ( for k being Element of NAT st k in dom F holds
0 <= F . k ) implies 0 <= Product F )
A1:
for n being Nat st S1[n] holds
S1[n + 1]
proof
let n be
Nat;
( S1[n] implies S1[n + 1] )
assume A2:
S1[
n]
;
S1[n + 1]
for
F being
FinSequence of
REAL st ( for
k being
Element of
NAT st
k in dom F holds
0 <= F . k ) &
len F = n + 1 holds
0 <= Product F
proof
let F be
FinSequence of
REAL ;
( ( for k being Element of NAT st k in dom F holds
0 <= F . k ) & len F = n + 1 implies 0 <= Product F )
assume A3:
for
k being
Element of
NAT st
k in dom F holds
0 <= F . k
;
( not len F = n + 1 or 0 <= Product F )
assume A4:
len F = n + 1
;
0 <= Product F
then consider F1,
F2 being
FinSequence of
REAL such that A5:
len F1 = n
and A6:
len F2 = 1
and A7:
F = F1 ^ F2
by FINSEQ_2:23;
1
in Seg 1
;
then
1
in dom F2
by A6, FINSEQ_1:def 3;
then A8:
F . (n + 1) = F2 . 1
by A5, A7, FINSEQ_1:def 7;
for
k being
Element of
NAT st
k in dom F1 holds
0 <= F1 . k
then A10:
0 <= Product F1
by A2, A5;
set x =
F2 . 1;
Seg (n + 1) = dom F
by A4, FINSEQ_1:def 3;
then A11:
0 <= F2 . 1
by A3, A8, FINSEQ_1:3;
Product F =
Product (F1 ^ <*(F2 . 1)*>)
by A6, A7, FINSEQ_1:40
.=
(Product F1) * (F2 . 1)
by RVSUM_1:96
;
hence
0 <= Product F
by A10, A11;
verum
end;
hence
S1[
n + 1]
;
verum
end;
A12:
S1[ 0 ]
A13:
for n being Nat holds S1[n]
from NAT_1:sch 2(A12, A1);
A14:
ex n being Element of NAT st n = len F
;
assume
for k being Element of NAT st k in dom F holds
0 <= F . k
; 0 <= Product F
hence
0 <= Product F
by A13, A14; verum