Metamath Proof Explorer


Theorem facwordi

Description: Ordering property of factorial. (Contributed by NM, 9-Dec-2005)

Ref Expression
Assertion facwordi M0N0MNM!N!

Proof

Step Hyp Ref Expression
1 breq2 j=0MjM0
2 1 anbi2d j=0M0MjM0M0
3 fveq2 j=0j!=0!
4 3 breq2d j=0M!j!M!0!
5 2 4 imbi12d j=0M0MjM!j!M0M0M!0!
6 breq2 j=kMjMk
7 6 anbi2d j=kM0MjM0Mk
8 fveq2 j=kj!=k!
9 8 breq2d j=kM!j!M!k!
10 7 9 imbi12d j=kM0MjM!j!M0MkM!k!
11 breq2 j=k+1MjMk+1
12 11 anbi2d j=k+1M0MjM0Mk+1
13 fveq2 j=k+1j!=k+1!
14 13 breq2d j=k+1M!j!M!k+1!
15 12 14 imbi12d j=k+1M0MjM!j!M0Mk+1M!k+1!
16 breq2 j=NMjMN
17 16 anbi2d j=NM0MjM0MN
18 fveq2 j=Nj!=N!
19 18 breq2d j=NM!j!M!N!
20 17 19 imbi12d j=NM0MjM!j!M0MNM!N!
21 nn0le0eq0 M0M0M=0
22 21 biimpa M0M0M=0
23 22 fveq2d M0M0M!=0!
24 fac0 0!=1
25 1re 1
26 24 25 eqeltri 0!
27 26 leidi 0!0!
28 23 27 eqbrtrdi M0M0M!0!
29 impexp M0MkM!k!M0MkM!k!
30 nn0re M0M
31 nn0re k0k
32 peano2re kk+1
33 31 32 syl k0k+1
34 leloe Mk+1Mk+1M<k+1M=k+1
35 30 33 34 syl2an M0k0Mk+1M<k+1M=k+1
36 nn0leltp1 M0k0MkM<k+1
37 faccl k0k!
38 37 nnred k0k!
39 37 nnnn0d k0k!0
40 39 nn0ge0d k00k!
41 nn0p1nn k0k+1
42 41 nnge1d k01k+1
43 38 33 40 42 lemulge11d k0k!k!k+1
44 facp1 k0k+1!=k!k+1
45 43 44 breqtrrd k0k!k+1!
46 45 adantl M0k0k!k+1!
47 faccl M0M!
48 47 nnred M0M!
49 48 adantr M0k0M!
50 38 adantl M0k0k!
51 peano2nn0 k0k+10
52 51 faccld k0k+1!
53 52 nnred k0k+1!
54 53 adantl M0k0k+1!
55 letr M!k!k+1!M!k!k!k+1!M!k+1!
56 49 50 54 55 syl3anc M0k0M!k!k!k+1!M!k+1!
57 46 56 mpan2d M0k0M!k!M!k+1!
58 57 imim2d M0k0MkM!k!MkM!k+1!
59 58 com23 M0k0MkMkM!k!M!k+1!
60 36 59 sylbird M0k0M<k+1MkM!k!M!k+1!
61 fveq2 M=k+1M!=k+1!
62 48 leidd M0M!M!
63 breq2 M!=k+1!M!M!M!k+1!
64 62 63 syl5ibcom M0M!=k+1!M!k+1!
65 61 64 syl5 M0M=k+1M!k+1!
66 65 adantr M0k0M=k+1M!k+1!
67 66 a1dd M0k0M=k+1MkM!k!M!k+1!
68 60 67 jaod M0k0M<k+1M=k+1MkM!k!M!k+1!
69 35 68 sylbid M0k0Mk+1MkM!k!M!k+1!
70 69 ex M0k0Mk+1MkM!k!M!k+1!
71 70 com13 Mk+1k0M0MkM!k!M!k+1!
72 71 com4l k0M0MkM!k!Mk+1M!k+1!
73 72 a2d k0M0MkM!k!M0Mk+1M!k+1!
74 73 imp4a k0M0MkM!k!M0Mk+1M!k+1!
75 29 74 biimtrid k0M0MkM!k!M0Mk+1M!k+1!
76 5 10 15 20 28 75 nn0ind N0M0MNM!N!
77 76 3impib N0M0MNM!N!
78 77 3com12 M0N0MNM!N!