defpred S1[ Nat] means for f being CR_Sequence st len f = \$1 holds
Product f > 0 ;
let m be CR_Sequence; :: thesis:
A1: ex j being Nat st len m = j ;
A2: for k being Nat st S1[k] holds
S1[k + 1]
proof
let k be Nat; :: thesis: ( S1[k] implies S1[k + 1] )
assume A3: S1[k] ; :: thesis: S1[k + 1]
now :: thesis: for f being CR_Sequence st len f = k + 1 holds
Product f > 0
let f be CR_Sequence; :: thesis: ( len f = k + 1 implies Product b1 > 0 )
assume A4: len f = k + 1 ; :: thesis:
set f1 = f | k;
per cases ( k > 0 or k = 0 ) ;
suppose k > 0 ; :: thesis:
then reconsider f1 = f | k as CR_Sequence by ;
A5: f = f1 ^ <*(f . (k + 1))*> by ;
1 <= k + 1 by NAT_1:11;
then k + 1 in Seg (k + 1) ;
then k + 1 in dom f by ;
then f . (k + 1) in rng f by FUNCT_1:3;
then A6: f . (k + 1) > 0 by PARTFUN3:def 1;
len f1 = k by ;
then Product f1 > 0 by A3;
then 0 * (f . (k + 1)) < (Product f1) * (f . (k + 1)) by ;
hence Product f > 0 by ; :: thesis: verum
end;
end;
end;
hence S1[k + 1] ; :: thesis: verum
end;
A8: S1[ 0 ] ;
for k being Nat holds S1[k] from NAT_1:sch 2(A8, A2);
hence Product m > 0 by A1; :: thesis: verum