Metamath Proof Explorer


Theorem logfacrlim

Description: Combine the estimates logfacubnd and logfaclbnd , to get log ( x ! ) = x log x + O ( x ) . Equation 9.2.9 of Shapiro, p. 329. This is a weak form of the even stronger statement, log ( x ! ) = x log x - x + O ( log x ) . (Contributed by Mario Carneiro, 16-Apr-2016) (Revised by Mario Carneiro, 21-May-2016)

Ref Expression
Assertion logfacrlim x+logxlogx!x1

Proof

Step Hyp Ref Expression
1 1red 1
2 1cnd 1
3 relogcl x+logx
4 3 adantl x+logx
5 4 recnd x+logx
6 1cnd x+1
7 rpcnne0 x+xx0
8 7 adantl x+xx0
9 divdir logx1xx0logx+1x=logxx+1x
10 5 6 8 9 syl3anc x+logx+1x=logxx+1x
11 10 mpteq2dva x+logx+1x=x+logxx+1x
12 simpr x+x+
13 4 12 rerpdivcld x+logxx
14 rpreccl x+1x+
15 14 adantl x+1x+
16 15 rpred x+1x
17 8 simpld x+x
18 17 cxp1d x+x1=x
19 18 oveq2d x+logxx1=logxx
20 19 mpteq2dva x+logxx1=x+logxx
21 1rp 1+
22 cxploglim 1+x+logxx10
23 21 22 mp1i x+logxx10
24 20 23 eqbrtrrd x+logxx0
25 ax-1cn 1
26 divrcnv 1x+1x0
27 25 26 mp1i x+1x0
28 13 16 24 27 rlimadd x+logxx+1x0+0
29 11 28 eqbrtrd x+logx+1x0+0
30 00id 0+0=0
31 29 30 breqtrdi x+logx+1x0
32 peano2re logxlogx+1
33 4 32 syl x+logx+1
34 33 12 rerpdivcld x+logx+1x
35 34 recnd x+logx+1x
36 rprege0 x+x0x
37 36 adantl x+x0x
38 flge0nn0 x0xx0
39 faccl x0x!
40 37 38 39 3syl x+x!
41 40 nnrpd x+x!+
42 relogcl x!+logx!
43 41 42 syl x+logx!
44 43 12 rerpdivcld x+logx!x
45 44 recnd x+logx!x
46 5 45 subcld x+logxlogx!x
47 logfacbnd3 x+1xlogx!xlogx1logx+1
48 47 adantl x+1xlogx!xlogx1logx+1
49 43 recnd x+logx!
50 49 adantrr x+1xlogx!
51 7 ad2antrl x+1xxx0
52 51 simpld x+1xx
53 5 adantrr x+1xlogx
54 subcl logx1logx1
55 53 25 54 sylancl x+1xlogx1
56 52 55 mulcld x+1xxlogx1
57 50 56 subcld x+1xlogx!xlogx1
58 57 abscld x+1xlogx!xlogx1
59 4 adantrr x+1xlogx
60 59 32 syl x+1xlogx+1
61 rpregt0 x+x0<x
62 61 ad2antrl x+1xx0<x
63 lediv1 logx!xlogx1logx+1x0<xlogx!xlogx1logx+1logx!xlogx1xlogx+1x
64 58 60 62 63 syl3anc x+1xlogx!xlogx1logx+1logx!xlogx1xlogx+1x
65 48 64 mpbid x+1xlogx!xlogx1xlogx+1x
66 51 simprd x+1xx0
67 55 52 66 divcan3d x+1xxlogx1x=logx1
68 67 oveq1d x+1xxlogx1xlogx!x=logx-1-logx!x
69 divsubdir xlogx1logx!xx0xlogx1logx!x=xlogx1xlogx!x
70 56 50 51 69 syl3anc x+1xxlogx1logx!x=xlogx1xlogx!x
71 45 adantrr x+1xlogx!x
72 1cnd x+1x1
73 53 71 72 sub32d x+1xlogx-logx!x-1=logx-1-logx!x
74 68 70 73 3eqtr4rd x+1xlogx-logx!x-1=xlogx1logx!x
75 74 fveq2d x+1xlogx-logx!x-1=xlogx1logx!x
76 56 50 subcld x+1xxlogx1logx!
77 76 52 66 absdivd x+1xxlogx1logx!x=xlogx1logx!x
78 56 50 abssubd x+1xxlogx1logx!=logx!xlogx1
79 36 ad2antrl x+1xx0x
80 absid x0xx=x
81 79 80 syl x+1xx=x
82 78 81 oveq12d x+1xxlogx1logx!x=logx!xlogx1x
83 75 77 82 3eqtrd x+1xlogx-logx!x-1=logx!xlogx1x
84 35 adantrr x+1xlogx+1x
85 84 subid1d x+1xlogx+1x0=logx+1x
86 85 fveq2d x+1xlogx+1x0=logx+1x
87 log1 log1=0
88 simprr x+1x1x
89 12 adantrr x+1xx+
90 logleb 1+x+1xlog1logx
91 21 89 90 sylancr x+1x1xlog1logx
92 88 91 mpbid x+1xlog1logx
93 87 92 eqbrtrrid x+1x0logx
94 59 93 ge0p1rpd x+1xlogx+1+
95 94 89 rpdivcld x+1xlogx+1x+
96 rprege0 logx+1x+logx+1x0logx+1x
97 absid logx+1x0logx+1xlogx+1x=logx+1x
98 95 96 97 3syl x+1xlogx+1x=logx+1x
99 86 98 eqtrd x+1xlogx+1x0=logx+1x
100 65 83 99 3brtr4d x+1xlogx-logx!x-1logx+1x0
101 1 2 31 35 46 100 rlimsqzlem x+logxlogx!x1
102 101 mptru x+logxlogx!x1