Metamath Proof Explorer


Theorem stirlinglem14

Description: The sequence A converges to a positive real. This proves that the Stirling's formula converges to the factorial, up to a constant. In another theorem, using Wallis' formula for π& , such constant is exactly determined, thus proving the Stirling's formula. (Contributed by Glauco Siliprandi, 29-Jun-2017)

Ref Expression
Hypotheses stirlinglem14.1 ⊢ A = n ∈ ℕ ⟼ n ! 2 ⁢ n ⁢ n e n
stirlinglem14.2 ⊢ B = n ∈ ℕ ⟼ log ⁡ A ⁡ n
Assertion stirlinglem14 ⊢ ∃ c ∈ ℝ + A ⇝ c

Proof

Step Hyp Ref Expression
1 stirlinglem14.1 ⊢ A = n ∈ ℕ ⟼ n ! 2 ⁢ n ⁢ n e n
2 stirlinglem14.2 ⊢ B = n ∈ ℕ ⟼ log ⁡ A ⁡ n
3 1 2 stirlinglem13 ⊢ ∃ d ∈ ℝ B ⇝ d
4 simpl ⊢ d ∈ ℝ ∧ B ⇝ d → d ∈ ℝ
5 4 rpefcld ⊢ d ∈ ℝ ∧ B ⇝ d → e d ∈ ℝ +
6 nnuz ⊢ ℕ = ℤ ≥ 1
7 1zzd ⊢ d ∈ ℝ ∧ B ⇝ d → 1 ∈ ℤ
8 efcn ⊢ exp : ℂ ⟶cn ℂ
9 8 a1i ⊢ d ∈ ℝ ∧ B ⇝ d → exp : ℂ ⟶cn ℂ
10 nnnn0 ⊢ n ∈ ℕ → n ∈ ℕ 0
11 faccl ⊢ n ∈ ℕ 0 → n ! ∈ ℕ
12 nncn ⊢ n ! ∈ ℕ → n ! ∈ ℂ
13 10 11 12 3syl ⊢ n ∈ ℕ → n ! ∈ ℂ
14 2cnd ⊢ n ∈ ℕ → 2 ∈ ℂ
15 nncn ⊢ n ∈ ℕ → n ∈ ℂ
16 14 15 mulcld ⊢ n ∈ ℕ → 2 ⁢ n ∈ ℂ
17 16 sqrtcld ⊢ n ∈ ℕ → 2 ⁢ n ∈ ℂ
18 epr ⊢ e ∈ ℝ +
19 rpcn ⊢ e ∈ ℝ + → e ∈ ℂ
20 18 19 ax-mp ⊢ e ∈ ℂ
21 20 a1i ⊢ n ∈ ℕ → e ∈ ℂ
22 0re ⊢ 0 ∈ ℝ
23 epos ⊢ 0 < e
24 22 23 gtneii ⊢ e ≠ 0
25 24 a1i ⊢ n ∈ ℕ → e ≠ 0
26 15 21 25 divcld ⊢ n ∈ ℕ → n e ∈ ℂ
27 26 10 expcld ⊢ n ∈ ℕ → n e n ∈ ℂ
28 17 27 mulcld ⊢ n ∈ ℕ → 2 ⁢ n ⁢ n e n ∈ ℂ
29 2rp ⊢ 2 ∈ ℝ +
30 29 a1i ⊢ n ∈ ℕ → 2 ∈ ℝ +
31 nnrp ⊢ n ∈ ℕ → n ∈ ℝ +
32 30 31 rpmulcld ⊢ n ∈ ℕ → 2 ⁢ n ∈ ℝ +
33 32 sqrtgt0d ⊢ n ∈ ℕ → 0 < 2 ⁢ n
34 33 gt0ne0d ⊢ n ∈ ℕ → 2 ⁢ n ≠ 0
35 nnne0 ⊢ n ∈ ℕ → n ≠ 0
36 15 21 35 25 divne0d ⊢ n ∈ ℕ → n e ≠ 0
37 nnz ⊢ n ∈ ℕ → n ∈ ℤ
38 26 36 37 expne0d ⊢ n ∈ ℕ → n e n ≠ 0
39 17 27 34 38 mulne0d ⊢ n ∈ ℕ → 2 ⁢ n ⁢ n e n ≠ 0
40 13 28 39 divcld ⊢ n ∈ ℕ → n ! 2 ⁢ n ⁢ n e n ∈ ℂ
41 1 fvmpt2 ⊢ n ∈ ℕ ∧ n ! 2 ⁢ n ⁢ n e n ∈ ℂ → A ⁡ n = n ! 2 ⁢ n ⁢ n e n
42 40 41 mpdan ⊢ n ∈ ℕ → A ⁡ n = n ! 2 ⁢ n ⁢ n e n
43 42 40 eqeltrd ⊢ n ∈ ℕ → A ⁡ n ∈ ℂ
44 nnne0 ⊢ n ! ∈ ℕ → n ! ≠ 0
45 10 11 44 3syl ⊢ n ∈ ℕ → n ! ≠ 0
46 13 28 45 39 divne0d ⊢ n ∈ ℕ → n ! 2 ⁢ n ⁢ n e n ≠ 0
47 42 46 eqnetrd ⊢ n ∈ ℕ → A ⁡ n ≠ 0
48 43 47 logcld ⊢ n ∈ ℕ → log ⁡ A ⁡ n ∈ ℂ
49 2 48 fmpti ⊢ B : ℕ ⟶ ℂ
50 49 a1i ⊢ d ∈ ℝ ∧ B ⇝ d → B : ℕ ⟶ ℂ
51 simpr ⊢ d ∈ ℝ ∧ B ⇝ d → B ⇝ d
52 4 recnd ⊢ d ∈ ℝ ∧ B ⇝ d → d ∈ ℂ
53 6 7 9 50 51 52 climcncf ⊢ d ∈ ℝ ∧ B ⇝ d → exp ∘ B ⇝ e d
54 8 elexi ⊢ exp ∈ V
55 nnex ⊢ ℕ ∈ V
56 55 mptex ⊢ n ∈ ℕ ⟼ log ⁡ A ⁡ n ∈ V
57 2 56 eqeltri ⊢ B ∈ V
58 54 57 coex ⊢ exp ∘ B ∈ V
59 58 a1i ⊢ ⊤ → exp ∘ B ∈ V
60 55 mptex ⊢ n ∈ ℕ ⟼ n ! 2 ⁢ n ⁢ n e n ∈ V
61 1 60 eqeltri ⊢ A ∈ V
62 61 a1i ⊢ ⊤ → A ∈ V
63 1zzd ⊢ ⊤ → 1 ∈ ℤ
64 2 funmpt2 ⊢ Fun ⁡ B
65 id ⊢ k ∈ ℕ → k ∈ ℕ
66 rabid2 ⊢ ℕ = n ∈ ℕ | log ⁡ A ⁡ n ∈ V ↔ ∀ n ∈ ℕ log ⁡ A ⁡ n ∈ V
67 1 stirlinglem2 ⊢ n ∈ ℕ → A ⁡ n ∈ ℝ +
68 relogcl ⊢ A ⁡ n ∈ ℝ + → log ⁡ A ⁡ n ∈ ℝ
69 elex ⊢ log ⁡ A ⁡ n ∈ ℝ → log ⁡ A ⁡ n ∈ V
70 67 68 69 3syl ⊢ n ∈ ℕ → log ⁡ A ⁡ n ∈ V
71 66 70 mprgbir ⊢ ℕ = n ∈ ℕ | log ⁡ A ⁡ n ∈ V
72 2 dmmpt ⊢ dom ⁡ B = n ∈ ℕ | log ⁡ A ⁡ n ∈ V
73 71 72 eqtr4i ⊢ ℕ = dom ⁡ B
74 65 73 eleqtrdi ⊢ k ∈ ℕ → k ∈ dom ⁡ B
75 fvco ⊢ Fun ⁡ B ∧ k ∈ dom ⁡ B → exp ∘ B ⁡ k = e B ⁡ k
76 64 74 75 sylancr ⊢ k ∈ ℕ → exp ∘ B ⁡ k = e B ⁡ k
77 1 a1i ⊢ k ∈ ℕ → A = n ∈ ℕ ⟼ n ! 2 ⁢ n ⁢ n e n
78 simpr ⊢ k ∈ ℕ ∧ n = k → n = k
79 78 fveq2d ⊢ k ∈ ℕ ∧ n = k → n ! = k !
80 78 oveq2d ⊢ k ∈ ℕ ∧ n = k → 2 ⁢ n = 2 ⁢ k
81 80 fveq2d ⊢ k ∈ ℕ ∧ n = k → 2 ⁢ n = 2 ⁢ k
82 78 oveq1d ⊢ k ∈ ℕ ∧ n = k → n e = k e
83 82 78 oveq12d ⊢ k ∈ ℕ ∧ n = k → n e n = k e k
84 81 83 oveq12d ⊢ k ∈ ℕ ∧ n = k → 2 ⁢ n ⁢ n e n = 2 ⁢ k ⁢ k e k
85 79 84 oveq12d ⊢ k ∈ ℕ ∧ n = k → n ! 2 ⁢ n ⁢ n e n = k ! 2 ⁢ k ⁢ k e k
86 nnnn0 ⊢ k ∈ ℕ → k ∈ ℕ 0
87 faccl ⊢ k ∈ ℕ 0 → k ! ∈ ℕ
88 nncn ⊢ k ! ∈ ℕ → k ! ∈ ℂ
89 86 87 88 3syl ⊢ k ∈ ℕ → k ! ∈ ℂ
90 2cnd ⊢ k ∈ ℕ → 2 ∈ ℂ
91 nncn ⊢ k ∈ ℕ → k ∈ ℂ
92 90 91 mulcld ⊢ k ∈ ℕ → 2 ⁢ k ∈ ℂ
93 92 sqrtcld ⊢ k ∈ ℕ → 2 ⁢ k ∈ ℂ
94 20 a1i ⊢ k ∈ ℕ → e ∈ ℂ
95 24 a1i ⊢ k ∈ ℕ → e ≠ 0
96 91 94 95 divcld ⊢ k ∈ ℕ → k e ∈ ℂ
97 96 86 expcld ⊢ k ∈ ℕ → k e k ∈ ℂ
98 93 97 mulcld ⊢ k ∈ ℕ → 2 ⁢ k ⁢ k e k ∈ ℂ
99 29 a1i ⊢ k ∈ ℕ → 2 ∈ ℝ +
100 nnrp ⊢ k ∈ ℕ → k ∈ ℝ +
101 99 100 rpmulcld ⊢ k ∈ ℕ → 2 ⁢ k ∈ ℝ +
102 101 sqrtgt0d ⊢ k ∈ ℕ → 0 < 2 ⁢ k
103 102 gt0ne0d ⊢ k ∈ ℕ → 2 ⁢ k ≠ 0
104 nnne0 ⊢ k ∈ ℕ → k ≠ 0
105 91 94 104 95 divne0d ⊢ k ∈ ℕ → k e ≠ 0
106 nnz ⊢ k ∈ ℕ → k ∈ ℤ
107 96 105 106 expne0d ⊢ k ∈ ℕ → k e k ≠ 0
108 93 97 103 107 mulne0d ⊢ k ∈ ℕ → 2 ⁢ k ⁢ k e k ≠ 0
109 89 98 108 divcld ⊢ k ∈ ℕ → k ! 2 ⁢ k ⁢ k e k ∈ ℂ
110 77 85 65 109 fvmptd ⊢ k ∈ ℕ → A ⁡ k = k ! 2 ⁢ k ⁢ k e k
111 110 109 eqeltrd ⊢ k ∈ ℕ → A ⁡ k ∈ ℂ
112 nnne0 ⊢ k ! ∈ ℕ → k ! ≠ 0
113 86 87 112 3syl ⊢ k ∈ ℕ → k ! ≠ 0
114 89 98 113 108 divne0d ⊢ k ∈ ℕ → k ! 2 ⁢ k ⁢ k e k ≠ 0
115 110 114 eqnetrd ⊢ k ∈ ℕ → A ⁡ k ≠ 0
116 111 115 logcld ⊢ k ∈ ℕ → log ⁡ A ⁡ k ∈ ℂ
117 nfcv ⊢ Ⅎ _ n k
118 nfcv ⊢ Ⅎ _ n log
119 nfmpt1 ⊢ Ⅎ _ n n ∈ ℕ ⟼ n ! 2 ⁢ n ⁢ n e n
120 1 119 nfcxfr ⊢ Ⅎ _ n A
121 120 117 nffv ⊢ Ⅎ _ n A ⁡ k
122 118 121 nffv ⊢ Ⅎ _ n log ⁡ A ⁡ k
123 2fveq3 ⊢ n = k → log ⁡ A ⁡ n = log ⁡ A ⁡ k
124 117 122 123 2 fvmptf ⊢ k ∈ ℕ ∧ log ⁡ A ⁡ k ∈ ℂ → B ⁡ k = log ⁡ A ⁡ k
125 116 124 mpdan ⊢ k ∈ ℕ → B ⁡ k = log ⁡ A ⁡ k
126 125 fveq2d ⊢ k ∈ ℕ → e B ⁡ k = e log ⁡ A ⁡ k
127 eflog ⊢ A ⁡ k ∈ ℂ ∧ A ⁡ k ≠ 0 → e log ⁡ A ⁡ k = A ⁡ k
128 111 115 127 syl2anc ⊢ k ∈ ℕ → e log ⁡ A ⁡ k = A ⁡ k
129 76 126 128 3eqtrd ⊢ k ∈ ℕ → exp ∘ B ⁡ k = A ⁡ k
130 129 adantl ⊢ ⊤ ∧ k ∈ ℕ → exp ∘ B ⁡ k = A ⁡ k
131 6 59 62 63 130 climeq ⊢ ⊤ → exp ∘ B ⇝ e d ↔ A ⇝ e d
132 131 mptru ⊢ exp ∘ B ⇝ e d ↔ A ⇝ e d
133 53 132 sylib ⊢ d ∈ ℝ ∧ B ⇝ d → A ⇝ e d
134 breq2 ⊢ c = e d → A ⇝ c ↔ A ⇝ e d
135 134 rspcev ⊢ e d ∈ ℝ + ∧ A ⇝ e d → ∃ c ∈ ℝ + A ⇝ c
136 5 133 135 syl2anc ⊢ d ∈ ℝ ∧ B ⇝ d → ∃ c ∈ ℝ + A ⇝ c
137 136 rexlimiva ⊢ ∃ d ∈ ℝ B ⇝ d → ∃ c ∈ ℝ + A ⇝ c
138 3 137 ax-mp ⊢ ∃ c ∈ ℝ + A ⇝ c