Metamath Proof Explorer


Theorem faclim

Description: An infinite product expression relating to factorials. Originally due to Euler. (Contributed by Scott Fenton, 22-Nov-2017)

Ref Expression
Hypothesis faclim.1 F = n 1 + 1 n A 1 + A n
Assertion faclim A 0 seq 1 × F A !

Proof

Step Hyp Ref Expression
1 faclim.1 F = n 1 + 1 n A 1 + A n
2 seqeq3 F = n 1 + 1 n A 1 + A n seq 1 × F = seq 1 × n 1 + 1 n A 1 + A n
3 1 2 ax-mp seq 1 × F = seq 1 × n 1 + 1 n A 1 + A n
4 oveq2 a = 0 1 + 1 n a = 1 + 1 n 0
5 oveq1 a = 0 a n = 0 n
6 5 oveq2d a = 0 1 + a n = 1 + 0 n
7 4 6 oveq12d a = 0 1 + 1 n a 1 + a n = 1 + 1 n 0 1 + 0 n
8 7 mpteq2dv a = 0 n 1 + 1 n a 1 + a n = n 1 + 1 n 0 1 + 0 n
9 8 seqeq3d a = 0 seq 1 × n 1 + 1 n a 1 + a n = seq 1 × n 1 + 1 n 0 1 + 0 n
10 fveq2 a = 0 a ! = 0 !
11 fac0 0 ! = 1
12 10 11 eqtrdi a = 0 a ! = 1
13 9 12 breq12d a = 0 seq 1 × n 1 + 1 n a 1 + a n a ! seq 1 × n 1 + 1 n 0 1 + 0 n 1
14 oveq2 a = m 1 + 1 n a = 1 + 1 n m
15 oveq1 a = m a n = m n
16 15 oveq2d a = m 1 + a n = 1 + m n
17 14 16 oveq12d a = m 1 + 1 n a 1 + a n = 1 + 1 n m 1 + m n
18 17 mpteq2dv a = m n 1 + 1 n a 1 + a n = n 1 + 1 n m 1 + m n
19 18 seqeq3d a = m seq 1 × n 1 + 1 n a 1 + a n = seq 1 × n 1 + 1 n m 1 + m n
20 fveq2 a = m a ! = m !
21 19 20 breq12d a = m seq 1 × n 1 + 1 n a 1 + a n a ! seq 1 × n 1 + 1 n m 1 + m n m !
22 oveq2 a = m + 1 1 + 1 n a = 1 + 1 n m + 1
23 oveq1 a = m + 1 a n = m + 1 n
24 23 oveq2d a = m + 1 1 + a n = 1 + m + 1 n
25 22 24 oveq12d a = m + 1 1 + 1 n a 1 + a n = 1 + 1 n m + 1 1 + m + 1 n
26 25 mpteq2dv a = m + 1 n 1 + 1 n a 1 + a n = n 1 + 1 n m + 1 1 + m + 1 n
27 26 seqeq3d a = m + 1 seq 1 × n 1 + 1 n a 1 + a n = seq 1 × n 1 + 1 n m + 1 1 + m + 1 n
28 fveq2 a = m + 1 a ! = m + 1 !
29 27 28 breq12d a = m + 1 seq 1 × n 1 + 1 n a 1 + a n a ! seq 1 × n 1 + 1 n m + 1 1 + m + 1 n m + 1 !
30 oveq2 a = A 1 + 1 n a = 1 + 1 n A
31 oveq1 a = A a n = A n
32 31 oveq2d a = A 1 + a n = 1 + A n
33 30 32 oveq12d a = A 1 + 1 n a 1 + a n = 1 + 1 n A 1 + A n
34 33 mpteq2dv a = A n 1 + 1 n a 1 + a n = n 1 + 1 n A 1 + A n
35 34 seqeq3d a = A seq 1 × n 1 + 1 n a 1 + a n = seq 1 × n 1 + 1 n A 1 + A n
36 fveq2 a = A a ! = A !
37 35 36 breq12d a = A seq 1 × n 1 + 1 n a 1 + a n a ! seq 1 × n 1 + 1 n A 1 + A n A !
38 1red n 1
39 nnrecre n 1 n
40 38 39 readdcld n 1 + 1 n
41 40 recnd n 1 + 1 n
42 41 exp0d n 1 + 1 n 0 = 1
43 nncn n n
44 nnne0 n n 0
45 43 44 div0d n 0 n = 0
46 45 oveq2d n 1 + 0 n = 1 + 0
47 1p0e1 1 + 0 = 1
48 46 47 eqtrdi n 1 + 0 n = 1
49 42 48 oveq12d n 1 + 1 n 0 1 + 0 n = 1 1
50 1div1e1 1 1 = 1
51 49 50 eqtrdi n 1 + 1 n 0 1 + 0 n = 1
52 51 mpteq2ia n 1 + 1 n 0 1 + 0 n = n 1
53 fconstmpt × 1 = n 1
54 52 53 eqtr4i n 1 + 1 n 0 1 + 0 n = × 1
55 seqeq3 n 1 + 1 n 0 1 + 0 n = × 1 seq 1 × n 1 + 1 n 0 1 + 0 n = seq 1 × × 1
56 54 55 ax-mp seq 1 × n 1 + 1 n 0 1 + 0 n = seq 1 × × 1
57 nnuz = 1
58 1zzd 1
59 57 58 climprod1 seq 1 × × 1 1
60 59 mptru seq 1 × × 1 1
61 56 60 eqbrtri seq 1 × n 1 + 1 n 0 1 + 0 n 1
62 1zzd m 0 seq 1 × n 1 + 1 n m 1 + m n m ! 1
63 simpr m 0 seq 1 × n 1 + 1 n m 1 + m n m ! seq 1 × n 1 + 1 n m 1 + m n m !
64 seqex seq 1 × n 1 + 1 n m + 1 1 + m + 1 n V
65 64 a1i m 0 seq 1 × n 1 + 1 n m 1 + m n m ! seq 1 × n 1 + 1 n m + 1 1 + m + 1 n V
66 faclimlem2 m 0 seq 1 × n 1 + m n 1 + 1 n 1 + m + 1 n m + 1
67 66 adantr m 0 seq 1 × n 1 + 1 n m 1 + m n m ! seq 1 × n 1 + m n 1 + 1 n 1 + m + 1 n m + 1
68 elnnuz a a 1
69 68 biimpi a a 1
70 69 adantl m 0 a a 1
71 1rp 1 +
72 71 a1i m 0 n 1 +
73 nnrp n n +
74 73 rpreccld n 1 n +
75 74 adantl m 0 n 1 n +
76 72 75 rpaddcld m 0 n 1 + 1 n +
77 nn0z m 0 m
78 77 adantr m 0 n m
79 76 78 rpexpcld m 0 n 1 + 1 n m +
80 1cnd m 0 n 1
81 nn0nndivcl m 0 n m n
82 81 recnd m 0 n m n
83 80 82 addcomd m 0 n 1 + m n = m n + 1
84 nn0ge0div m 0 n 0 m n
85 81 84 ge0p1rpd m 0 n m n + 1 +
86 83 85 eqeltrd m 0 n 1 + m n +
87 79 86 rpdivcld m 0 n 1 + 1 n m 1 + m n +
88 87 rpcnd m 0 n 1 + 1 n m 1 + m n
89 88 fmpttd m 0 n 1 + 1 n m 1 + m n :
90 elfznn b 1 a b
91 ffvelrn n 1 + 1 n m 1 + m n : b n 1 + 1 n m 1 + m n b
92 89 90 91 syl2an m 0 b 1 a n 1 + 1 n m 1 + m n b
93 92 adantlr m 0 a b 1 a n 1 + 1 n m 1 + m n b
94 mulcl b x b x
95 94 adantl m 0 a b x b x
96 70 93 95 seqcl m 0 a seq 1 × n 1 + 1 n m 1 + m n a
97 96 adantlr m 0 seq 1 × n 1 + 1 n m 1 + m n m ! a seq 1 × n 1 + 1 n m 1 + m n a
98 86 76 rpmulcld m 0 n 1 + m n 1 + 1 n +
99 nn0p1nn m 0 m + 1
100 99 nnrpd m 0 m + 1 +
101 rpdivcl m + 1 + n + m + 1 n +
102 100 73 101 syl2an m 0 n m + 1 n +
103 72 102 rpaddcld m 0 n 1 + m + 1 n +
104 98 103 rpdivcld m 0 n 1 + m n 1 + 1 n 1 + m + 1 n +
105 104 rpcnd m 0 n 1 + m n 1 + 1 n 1 + m + 1 n
106 105 fmpttd m 0 n 1 + m n 1 + 1 n 1 + m + 1 n :
107 ffvelrn n 1 + m n 1 + 1 n 1 + m + 1 n : b n 1 + m n 1 + 1 n 1 + m + 1 n b
108 106 90 107 syl2an m 0 b 1 a n 1 + m n 1 + 1 n 1 + m + 1 n b
109 108 adantlr m 0 a b 1 a n 1 + m n 1 + 1 n 1 + m + 1 n b
110 70 109 95 seqcl m 0 a seq 1 × n 1 + m n 1 + 1 n 1 + m + 1 n a
111 110 adantlr m 0 seq 1 × n 1 + 1 n m 1 + m n m ! a seq 1 × n 1 + m n 1 + 1 n 1 + m + 1 n a
112 faclimlem3 m 0 b 1 + 1 b m + 1 1 + m + 1 b = 1 + 1 b m 1 + m b 1 + m b 1 + 1 b 1 + m + 1 b
113 oveq2 n = b 1 n = 1 b
114 113 oveq2d n = b 1 + 1 n = 1 + 1 b
115 114 oveq1d n = b 1 + 1 n m + 1 = 1 + 1 b m + 1
116 oveq2 n = b m + 1 n = m + 1 b
117 116 oveq2d n = b 1 + m + 1 n = 1 + m + 1 b
118 115 117 oveq12d n = b 1 + 1 n m + 1 1 + m + 1 n = 1 + 1 b m + 1 1 + m + 1 b
119 eqid n 1 + 1 n m + 1 1 + m + 1 n = n 1 + 1 n m + 1 1 + m + 1 n
120 ovex 1 + 1 b m + 1 1 + m + 1 b V
121 118 119 120 fvmpt b n 1 + 1 n m + 1 1 + m + 1 n b = 1 + 1 b m + 1 1 + m + 1 b
122 121 adantl m 0 b n 1 + 1 n m + 1 1 + m + 1 n b = 1 + 1 b m + 1 1 + m + 1 b
123 114 oveq1d n = b 1 + 1 n m = 1 + 1 b m
124 oveq2 n = b m n = m b
125 124 oveq2d n = b 1 + m n = 1 + m b
126 123 125 oveq12d n = b 1 + 1 n m 1 + m n = 1 + 1 b m 1 + m b
127 eqid n 1 + 1 n m 1 + m n = n 1 + 1 n m 1 + m n
128 ovex 1 + 1 b m 1 + m b V
129 126 127 128 fvmpt b n 1 + 1 n m 1 + m n b = 1 + 1 b m 1 + m b
130 125 114 oveq12d n = b 1 + m n 1 + 1 n = 1 + m b 1 + 1 b
131 130 117 oveq12d n = b 1 + m n 1 + 1 n 1 + m + 1 n = 1 + m b 1 + 1 b 1 + m + 1 b
132 eqid n 1 + m n 1 + 1 n 1 + m + 1 n = n 1 + m n 1 + 1 n 1 + m + 1 n
133 ovex 1 + m b 1 + 1 b 1 + m + 1 b V
134 131 132 133 fvmpt b n 1 + m n 1 + 1 n 1 + m + 1 n b = 1 + m b 1 + 1 b 1 + m + 1 b
135 129 134 oveq12d b n 1 + 1 n m 1 + m n b n 1 + m n 1 + 1 n 1 + m + 1 n b = 1 + 1 b m 1 + m b 1 + m b 1 + 1 b 1 + m + 1 b
136 135 adantl m 0 b n 1 + 1 n m 1 + m n b n 1 + m n 1 + 1 n 1 + m + 1 n b = 1 + 1 b m 1 + m b 1 + m b 1 + 1 b 1 + m + 1 b
137 112 122 136 3eqtr4d m 0 b n 1 + 1 n m + 1 1 + m + 1 n b = n 1 + 1 n m 1 + m n b n 1 + m n 1 + 1 n 1 + m + 1 n b
138 90 137 sylan2 m 0 b 1 a n 1 + 1 n m + 1 1 + m + 1 n b = n 1 + 1 n m 1 + m n b n 1 + m n 1 + 1 n 1 + m + 1 n b
139 138 adantlr m 0 a b 1 a n 1 + 1 n m + 1 1 + m + 1 n b = n 1 + 1 n m 1 + m n b n 1 + m n 1 + 1 n 1 + m + 1 n b
140 70 93 109 139 prodfmul m 0 a seq 1 × n 1 + 1 n m + 1 1 + m + 1 n a = seq 1 × n 1 + 1 n m 1 + m n a seq 1 × n 1 + m n 1 + 1 n 1 + m + 1 n a
141 140 adantlr m 0 seq 1 × n 1 + 1 n m 1 + m n m ! a seq 1 × n 1 + 1 n m + 1 1 + m + 1 n a = seq 1 × n 1 + 1 n m 1 + m n a seq 1 × n 1 + m n 1 + 1 n 1 + m + 1 n a
142 57 62 63 65 67 97 111 141 climmul m 0 seq 1 × n 1 + 1 n m 1 + m n m ! seq 1 × n 1 + 1 n m + 1 1 + m + 1 n m ! m + 1
143 facp1 m 0 m + 1 ! = m ! m + 1
144 143 adantr m 0 seq 1 × n 1 + 1 n m 1 + m n m ! m + 1 ! = m ! m + 1
145 142 144 breqtrrd m 0 seq 1 × n 1 + 1 n m 1 + m n m ! seq 1 × n 1 + 1 n m + 1 1 + m + 1 n m + 1 !
146 145 ex m 0 seq 1 × n 1 + 1 n m 1 + m n m ! seq 1 × n 1 + 1 n m + 1 1 + m + 1 n m + 1 !
147 13 21 29 37 61 146 nn0ind A 0 seq 1 × n 1 + 1 n A 1 + A n A !
148 3 147 eqbrtrid A 0 seq 1 × F A !