let f1, f2 be integer-valued FinSequence; ( len f1 = len f2 & ( for n being Nat st 1 <= n & n <= len f1 holds
f1 . n divides f2 . n ) implies Product f1 divides Product f2 )
assume that
A1:
len f1 = len f2
and
A2:
for n being Nat st 1 <= n & n <= len f1 holds
f1 . n divides f2 . n
; Product f1 divides Product f2
per cases
( len f1 = 0 or 0 + 1 <= len f1 )
by NAT_1:13;
suppose A3:
0 + 1
<= len f1
;
Product f1 divides Product f2defpred S1[
Nat]
means ( 1
<= $1 & $1
<= len f1 implies
Product (f1 | $1) divides Product (f2 | $1) );
A4:
S1[
0 ]
;
A5:
for
k being
Nat st
S1[
k] holds
S1[
k + 1]
proof
let k be
Nat;
( S1[k] implies S1[k + 1] )
assume that A6:
S1[
k]
and A7:
1
<= k + 1
and A8:
k + 1
<= len f1
;
Product (f1 | (k + 1)) divides Product (f2 | (k + 1))
A9:
k + 0 < k + 1
by XREAL_1:8;
per cases
( k = 0 or k > 0 )
;
suppose
k > 0
;
Product (f1 | (k + 1)) divides Product (f2 | (k + 1))then A12:
k >= 0 + 1
by NAT_1:13;
f1 | (k + 1) = (f1 | k) ^ <*(f1 . (k + 1))*>
by A8, INT_6:5;
then A13:
Product (f1 | (k + 1)) = (Product (f1 | k)) * (f1 . (k + 1))
by RVSUM_1:96;
f2 | (k + 1) = (f2 | k) ^ <*(f2 . (k + 1))*>
by A1, A8, INT_6:5;
then A14:
Product (f2 | (k + 1)) = (Product (f2 | k)) * (f2 . (k + 1))
by RVSUM_1:96;
f1 . (k + 1) divides f2 . (k + 1)
by A2, A7, A8;
hence
Product (f1 | (k + 1)) divides Product (f2 | (k + 1))
by A6, A8, A9, A12, A13, A14, NEWTON02:2, XXREAL_0:2;
verum end; end;
end; A15:
for
k being
Nat holds
S1[
k]
from NAT_1:sch 2(A4, A5);
(
f1 | (len f1) = f1 &
f2 | (len f2) = f2 )
by FINSEQ_3:113;
hence
Product f1 divides Product f2
by A1, A3, A15;
verum end; end;