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 mulridd ⊢ 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 !