Metamath Proof Explorer


Theorem facdiv

Description: A positive integer divides the factorial of an equal or larger number. (Contributed by NM, 2-May-2005)

Ref Expression
Assertion facdiv M0NNMM!N

Proof

Step Hyp Ref Expression
1 breq2 j=0NjN0
2 fveq2 j=0j!=0!
3 2 oveq1d j=0j!N=0!N
4 3 eleq1d j=0j!N0!N
5 1 4 imbi12d j=0Njj!NN00!N
6 5 imbi2d j=0NNjj!NNN00!N
7 breq2 j=kNjNk
8 fveq2 j=kj!=k!
9 8 oveq1d j=kj!N=k!N
10 9 eleq1d j=kj!Nk!N
11 7 10 imbi12d j=kNjj!NNkk!N
12 11 imbi2d j=kNNjj!NNNkk!N
13 breq2 j=k+1NjNk+1
14 fveq2 j=k+1j!=k+1!
15 14 oveq1d j=k+1j!N=k+1!N
16 15 eleq1d j=k+1j!Nk+1!N
17 13 16 imbi12d j=k+1Njj!NNk+1k+1!N
18 17 imbi2d j=k+1NNjj!NNNk+1k+1!N
19 breq2 j=MNjNM
20 fveq2 j=Mj!=M!
21 20 oveq1d j=Mj!N=M!N
22 21 eleq1d j=Mj!NM!N
23 19 22 imbi12d j=MNjj!NNMM!N
24 23 imbi2d j=MNNjj!NNNMM!N
25 nnnle0 N¬N0
26 25 pm2.21d NN00!N
27 nnre NN
28 peano2nn0 k0k+10
29 28 nn0red k0k+1
30 leloe Nk+1Nk+1N<k+1N=k+1
31 27 29 30 syl2an Nk0Nk+1N<k+1N=k+1
32 nnnn0 NN0
33 nn0leltp1 N0k0NkN<k+1
34 32 33 sylan Nk0NkN<k+1
35 nn0p1nn k0k+1
36 nnmulcl k!Nk+1k!Nk+1
37 35 36 sylan2 k!Nk0k!Nk+1
38 37 expcom k0k!Nk!Nk+1
39 38 adantl Nk0k!Nk!Nk+1
40 faccl k0k!
41 40 nncnd k0k!
42 28 nn0cnd k0k+1
43 nncn NN
44 nnne0 NN0
45 43 44 jca NNN0
46 45 adantr Nk0NN0
47 div23 k!k+1NN0k!k+1N=k!Nk+1
48 41 42 46 47 syl2an23an Nk0k!k+1N=k!Nk+1
49 48 eleq1d Nk0k!k+1Nk!Nk+1
50 39 49 sylibrd Nk0k!Nk!k+1N
51 50 imim2d Nk0Nkk!NNkk!k+1N
52 51 com23 Nk0NkNkk!Nk!k+1N
53 34 52 sylbird Nk0N<k+1Nkk!Nk!k+1N
54 41 adantl Nk0k!
55 43 adantr Nk0N
56 44 adantr Nk0N0
57 54 55 56 divcan4d Nk0k! NN=k!
58 40 adantl Nk0k!
59 57 58 eqeltrd Nk0k! NN
60 oveq2 N=k+1k! N=k!k+1
61 60 oveq1d N=k+1k! NN=k!k+1N
62 61 eleq1d N=k+1k! NNk!k+1N
63 59 62 syl5ibcom Nk0N=k+1k!k+1N
64 63 a1dd Nk0N=k+1Nkk!Nk!k+1N
65 53 64 jaod Nk0N<k+1N=k+1Nkk!Nk!k+1N
66 31 65 sylbid Nk0Nk+1Nkk!Nk!k+1N
67 66 ex Nk0Nk+1Nkk!Nk!k+1N
68 67 com34 Nk0Nkk!NNk+1k!k+1N
69 68 com12 k0NNkk!NNk+1k!k+1N
70 69 imp4d k0NNkk!NNk+1k!k+1N
71 facp1 k0k+1!=k!k+1
72 71 oveq1d k0k+1!N=k!k+1N
73 72 eleq1d k0k+1!Nk!k+1N
74 70 73 sylibrd k0NNkk!NNk+1k+1!N
75 74 exp4d k0NNkk!NNk+1k+1!N
76 75 a2d k0NNkk!NNNk+1k+1!N
77 6 12 18 24 26 76 nn0ind M0NNMM!N
78 77 3imp M0NNMM!N