let a, b, n be Nat; ( 0 < a & a < b & b <= n implies a * b divides n ! )
assume A1:
( 0 < a & a < b & b <= n )
; a * b divides n !
A2:
for x being object st x in dom <*a,b*> holds
<*a,b*> . x <= n
proof
let x be
object ;
( x in dom <*a,b*> implies <*a,b*> . x <= n )
assume A3:
x in dom <*a,b*>
;
<*a,b*> . x <= n
len <*a,b*> = 2
by FINSEQ_1:44;
then
dom <*a,b*> = Seg 2
by FINSEQ_1:def 3;
then
(
x = 1 or
x = 2 )
by A3, FINSEQ_1:2, TARSKI:def 2;
hence
<*a,b*> . x <= n
by A1, XXREAL_0:2;
verum
end;
rng <*a*> c= NAT
;
then A4:
<*a*> is FinSequence of NAT
by FINSEQ_1:def 4;
for i being Nat st i in dom <*a*> holds
<*a*> . i < b
then A5:
( <*a,b*> is increasing & <*a,b*> is positive-yielding )
by A1, A4, NUMBER12:8;
Product <*a,b*> =
(Product <*a*>) * b
by RVSUM_1:96
.=
a * b
;
hence
a * b divides n !
by A2, A5, NUMBER08:def 4, NUMBER08:38; verum