reserve a,b,d,n,k,i,j,x,s for Nat;

theorem Th37:
  0 < a < b <= n implies a*b divides n!
proof
  assume
A1: 0 < a < b <= n;
A2: for x being object st x in dom <*a,b*> holds <*a,b*>.x <= n
  proof
    let x be object such that
A3:   x in dom <*a,b*>;
    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 thesis by A1,XXREAL_0:2;
  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
  proof
    let i be Nat;
    assume i in dom <*a*>;
    then i in Seg 1 by FINSEQ_1:38;
    then i = 1 by FINSEQ_1:2,TARSKI:def 1;
    hence thesis by A1;
  end;
  then
A5:  <*a,b*> is increasing positive-yielding by A1,A4,NUMBER12:8;
  Product <*a,b*> = Product <*a*> * b by RVSUM_1:96
  .= a*b;
  hence thesis by A2,A5, NUMBER08:def 4,38;
end;
