Metamath Proof Explorer


Theorem logfaclbnd

Description: A lower bound on the logarithm of a factorial. (Contributed by Mario Carneiro, 16-Apr-2016)

Ref Expression
Assertion logfaclbnd A + A log A 2 log A !

Proof

Step Hyp Ref Expression
1 rpcn A + A
2 1 times2d A + A 2 = A + A
3 2 oveq2d A + A log A A 2 = A log A A + A
4 relogcl A + log A
5 4 recnd A + log A
6 2cnd A + 2
7 1 5 6 subdid A + A log A 2 = A log A A 2
8 rpre A + A
9 8 4 remulcld A + A log A
10 9 recnd A + A log A
11 10 1 1 subsub4d A + A log A - A - A = A log A A + A
12 3 7 11 3eqtr4d A + A log A 2 = A log A - A - A
13 9 8 resubcld A + A log A A
14 fzfid A + 1 A Fin
15 fzfid A + n 1 A 1 n Fin
16 elfznn d 1 n d
17 16 adantl A + n 1 A d 1 n d
18 17 nnrecred A + n 1 A d 1 n 1 d
19 15 18 fsumrecl A + n 1 A d = 1 n 1 d
20 14 19 fsumrecl A + n = 1 A d = 1 n 1 d
21 rprege0 A + A 0 A
22 flge0nn0 A 0 A A 0
23 21 22 syl A + A 0
24 23 faccld A + A !
25 24 nnrpd A + A ! +
26 25 relogcld A + log A !
27 26 8 readdcld A + log A ! + A
28 elfznn d 1 A d
29 28 adantl A + d 1 A d
30 29 nnrecred A + d 1 A 1 d
31 14 30 fsumrecl A + d = 1 A 1 d
32 8 31 remulcld A + A d = 1 A 1 d
33 reflcl A A
34 8 33 syl A + A
35 32 34 resubcld A + A d = 1 A 1 d A
36 harmoniclbnd A + log A d = 1 A 1 d
37 rpregt0 A + A 0 < A
38 lemul2 log A d = 1 A 1 d A 0 < A log A d = 1 A 1 d A log A A d = 1 A 1 d
39 4 31 37 38 syl3anc A + log A d = 1 A 1 d A log A A d = 1 A 1 d
40 36 39 mpbid A + A log A A d = 1 A 1 d
41 flle A A A
42 8 41 syl A + A A
43 9 34 32 8 40 42 le2subd A + A log A A A d = 1 A 1 d A
44 28 nnrecred d 1 A 1 d
45 remulcl A 1 d A 1 d
46 8 44 45 syl2an A + d 1 A A 1 d
47 peano2rem A 1 d A 1 d 1
48 46 47 syl A + d 1 A A 1 d 1
49 fzfid A + d 1 A d A Fin
50 30 adantr A + d 1 A n d A 1 d
51 49 50 fsumrecl A + d 1 A n = d A 1 d
52 8 adantr A + d 1 A A
53 52 33 syl A + d 1 A A
54 peano2re A A + 1
55 53 54 syl A + d 1 A A + 1
56 29 nnred A + d 1 A d
57 fllep1 A A A + 1
58 8 57 syl A + A A + 1
59 58 adantr A + d 1 A A A + 1
60 52 55 56 59 lesub1dd A + d 1 A A d A + 1 - d
61 52 56 resubcld A + d 1 A A d
62 55 56 resubcld A + d 1 A A + 1 - d
63 29 nnrpd A + d 1 A d +
64 63 rpreccld A + d 1 A 1 d +
65 61 62 64 lemul1d A + d 1 A A d A + 1 - d A d 1 d A + 1 - d 1 d
66 60 65 mpbid A + d 1 A A d 1 d A + 1 - d 1 d
67 1 adantr A + d 1 A A
68 29 nncnd A + d 1 A d
69 30 recnd A + d 1 A 1 d
70 67 68 69 subdird A + d 1 A A d 1 d = A 1 d d 1 d
71 29 nnne0d A + d 1 A d 0
72 68 71 recidd A + d 1 A d 1 d = 1
73 72 oveq2d A + d 1 A A 1 d d 1 d = A 1 d 1
74 70 73 eqtr2d A + d 1 A A 1 d 1 = A d 1 d
75 fsumconst d A Fin 1 d n = d A 1 d = d A 1 d
76 49 69 75 syl2anc A + d 1 A n = d A 1 d = d A 1 d
77 elfzuz3 d 1 A A d
78 77 adantl A + d 1 A A d
79 hashfz A d d A = A - d + 1
80 78 79 syl A + d 1 A d A = A - d + 1
81 34 recnd A + A
82 81 adantr A + d 1 A A
83 1cnd A + d 1 A 1
84 82 83 68 addsubd A + d 1 A A + 1 - d = A - d + 1
85 80 84 eqtr4d A + d 1 A d A = A + 1 - d
86 85 oveq1d A + d 1 A d A 1 d = A + 1 - d 1 d
87 76 86 eqtrd A + d 1 A n = d A 1 d = A + 1 - d 1 d
88 66 74 87 3brtr4d A + d 1 A A 1 d 1 n = d A 1 d
89 14 48 51 88 fsumle A + d = 1 A A 1 d 1 d = 1 A n = d A 1 d
90 14 1 69 fsummulc2 A + A d = 1 A 1 d = d = 1 A A 1 d
91 ax-1cn 1
92 fsumconst 1 A Fin 1 d = 1 A 1 = 1 A 1
93 14 91 92 sylancl A + d = 1 A 1 = 1 A 1
94 hashfz1 A 0 1 A = A
95 23 94 syl A + 1 A = A
96 95 oveq1d A + 1 A 1 = A 1
97 81 mulid1d A + A 1 = A
98 93 96 97 3eqtrrd A + A = d = 1 A 1
99 90 98 oveq12d A + A d = 1 A 1 d A = d = 1 A A 1 d d = 1 A 1
100 46 recnd A + d 1 A A 1 d
101 14 100 83 fsumsub A + d = 1 A A 1 d 1 = d = 1 A A 1 d d = 1 A 1
102 99 101 eqtr4d A + A d = 1 A 1 d A = d = 1 A A 1 d 1
103 eqid 1 = 1
104 103 uztrn2 d 1 n d n 1
105 104 adantl A + d 1 n d n 1
106 105 biantrurd A + d 1 n d A n n 1 A n
107 uzss n d n d
108 107 ad2antll A + d 1 n d n d
109 108 sseld A + d 1 n d A n A d
110 109 pm4.71rd A + d 1 n d A n A d A n
111 106 110 bitr3d A + d 1 n d n 1 A n A d A n
112 111 pm5.32da A + d 1 n d n 1 A n d 1 n d A d A n
113 ancom n 1 A n d 1 n d d 1 n d n 1 A n
114 an4 d 1 A d n d A n d 1 n d A d A n
115 112 113 114 3bitr4g A + n 1 A n d 1 n d d 1 A d n d A n
116 elfzuzb n 1 A n 1 A n
117 elfzuzb d 1 n d 1 n d
118 116 117 anbi12i n 1 A d 1 n n 1 A n d 1 n d
119 elfzuzb d 1 A d 1 A d
120 elfzuzb n d A n d A n
121 119 120 anbi12i d 1 A n d A d 1 A d n d A n
122 115 118 121 3bitr4g A + n 1 A d 1 n d 1 A n d A
123 18 recnd A + n 1 A d 1 n 1 d
124 123 anasss A + n 1 A d 1 n 1 d
125 14 14 15 122 124 fsumcom2 A + n = 1 A d = 1 n 1 d = d = 1 A n = d A 1 d
126 89 102 125 3brtr4d A + A d = 1 A 1 d A n = 1 A d = 1 n 1 d
127 13 35 20 43 126 letrd A + A log A A n = 1 A d = 1 n 1 d
128 26 34 readdcld A + log A ! + A
129 elfznn n 1 A n
130 129 adantl A + n 1 A n
131 130 nnrpd A + n 1 A n +
132 131 relogcld A + n 1 A log n
133 peano2re log n log n + 1
134 132 133 syl A + n 1 A log n + 1
135 nnz n n
136 flid n n = n
137 135 136 syl n n = n
138 137 oveq2d n 1 n = 1 n
139 138 sumeq1d n d = 1 n 1 d = d = 1 n 1 d
140 nnre n n
141 nnge1 n 1 n
142 harmonicubnd n 1 n d = 1 n 1 d log n + 1
143 140 141 142 syl2anc n d = 1 n 1 d log n + 1
144 139 143 eqbrtrrd n d = 1 n 1 d log n + 1
145 130 144 syl A + n 1 A d = 1 n 1 d log n + 1
146 14 19 134 145 fsumle A + n = 1 A d = 1 n 1 d n = 1 A log n + 1
147 132 recnd A + n 1 A log n
148 1cnd A + n 1 A 1
149 14 147 148 fsumadd A + n = 1 A log n + 1 = n = 1 A log n + n = 1 A 1
150 logfac A 0 log A ! = n = 1 A log n
151 23 150 syl A + log A ! = n = 1 A log n
152 fsumconst 1 A Fin 1 n = 1 A 1 = 1 A 1
153 14 91 152 sylancl A + n = 1 A 1 = 1 A 1
154 153 96 97 3eqtrrd A + A = n = 1 A 1
155 151 154 oveq12d A + log A ! + A = n = 1 A log n + n = 1 A 1
156 149 155 eqtr4d A + n = 1 A log n + 1 = log A ! + A
157 146 156 breqtrd A + n = 1 A d = 1 n 1 d log A ! + A
158 34 8 26 42 leadd2dd A + log A ! + A log A ! + A
159 20 128 27 157 158 letrd A + n = 1 A d = 1 n 1 d log A ! + A
160 13 20 27 127 159 letrd A + A log A A log A ! + A
161 13 8 26 lesubaddd A + A log A - A - A log A ! A log A A log A ! + A
162 160 161 mpbird A + A log A - A - A log A !
163 12 162 eqbrtrd A + A log A 2 log A !