let a be Nat; :: thesis: for f being FinSequence of NAT st a in rng f holds
a divides Product f

defpred S1[ FinSequence of NAT ] means for a being Nat st a in rng $1 holds
a divides Product $1;
A1: for p being FinSequence of NAT
for n being Element of NAT st S1[p] holds
S1[p ^ <*n*>]
proof
let p be FinSequence of NAT ; :: thesis: for n being Element of NAT st S1[p] holds
S1[p ^ <*n*>]

let n be Element of NAT ; :: thesis: ( S1[p] implies S1[p ^ <*n*>] )
assume A2: S1[p] ; :: thesis: S1[p ^ <*n*>]
set p1 = p ^ <*n*>;
A3: rng (p ^ <*n*>) = (rng p) \/ (rng <*n*>) by FINSEQ_1:31;
A4: Product (p ^ <*n*>) = (Product p) * n by RVSUM_1:96;
let a be Nat; :: thesis: ( a in rng (p ^ <*n*>) implies a divides Product (p ^ <*n*>) )
assume A5: a in rng (p ^ <*n*>) ; :: thesis: a divides Product (p ^ <*n*>)
per cases ( a in rng p or a in rng <*n*> ) by A5, A3, XBOOLE_0:def 3;
end;
end;
A6: S1[ <*> NAT] ;
for p being FinSequence of NAT holds S1[p] from FINSEQ_2:sch 2(A6, A1);
hence for f being FinSequence of NAT st a in rng f holds
a divides Product f ; :: thesis: verum