Metamath Proof Explorer


Theorem fprodcvg

Description: The sequence of partial products of a finite product converges to the whole product. (Contributed by Scott Fenton, 4-Dec-2017)

Ref Expression
Hypotheses prodmo.1 โŠข ๐น = ( ๐‘˜ โˆˆ โ„ค โ†ฆ if ( ๐‘˜ โˆˆ ๐ด , ๐ต , 1 ) )
prodmo.2 โŠข ( ( ๐œ‘ โˆง ๐‘˜ โˆˆ ๐ด ) โ†’ ๐ต โˆˆ โ„‚ )
prodrb.3 โŠข ( ๐œ‘ โ†’ ๐‘ โˆˆ ( โ„คโ‰ฅ โ€˜ ๐‘€ ) )
fprodcvg.4 โŠข ( ๐œ‘ โ†’ ๐ด โІ ( ๐‘€ ... ๐‘ ) )
Assertion fprodcvg ( ๐œ‘ โ†’ seq ๐‘€ ( ยท , ๐น ) โ‡ ( seq ๐‘€ ( ยท , ๐น ) โ€˜ ๐‘ ) )

Proof

Step Hyp Ref Expression
1 prodmo.1 โŠข ๐น = ( ๐‘˜ โˆˆ โ„ค โ†ฆ if ( ๐‘˜ โˆˆ ๐ด , ๐ต , 1 ) )
2 prodmo.2 โŠข ( ( ๐œ‘ โˆง ๐‘˜ โˆˆ ๐ด ) โ†’ ๐ต โˆˆ โ„‚ )
3 prodrb.3 โŠข ( ๐œ‘ โ†’ ๐‘ โˆˆ ( โ„คโ‰ฅ โ€˜ ๐‘€ ) )
4 fprodcvg.4 โŠข ( ๐œ‘ โ†’ ๐ด โІ ( ๐‘€ ... ๐‘ ) )
5 eqid โŠข ( โ„คโ‰ฅ โ€˜ ๐‘ ) = ( โ„คโ‰ฅ โ€˜ ๐‘ )
6 eluzelz โŠข ( ๐‘ โˆˆ ( โ„คโ‰ฅ โ€˜ ๐‘€ ) โ†’ ๐‘ โˆˆ โ„ค )
7 3 6 syl โŠข ( ๐œ‘ โ†’ ๐‘ โˆˆ โ„ค )
8 seqex โŠข seq ๐‘€ ( ยท , ๐น ) โˆˆ V
9 8 a1i โŠข ( ๐œ‘ โ†’ seq ๐‘€ ( ยท , ๐น ) โˆˆ V )
10 eqid โŠข ( โ„คโ‰ฅ โ€˜ ๐‘€ ) = ( โ„คโ‰ฅ โ€˜ ๐‘€ )
11 eluzel2 โŠข ( ๐‘ โˆˆ ( โ„คโ‰ฅ โ€˜ ๐‘€ ) โ†’ ๐‘€ โˆˆ โ„ค )
12 3 11 syl โŠข ( ๐œ‘ โ†’ ๐‘€ โˆˆ โ„ค )
13 eluzelz โŠข ( ๐‘˜ โˆˆ ( โ„คโ‰ฅ โ€˜ ๐‘€ ) โ†’ ๐‘˜ โˆˆ โ„ค )
14 13 adantl โŠข ( ( ๐œ‘ โˆง ๐‘˜ โˆˆ ( โ„คโ‰ฅ โ€˜ ๐‘€ ) ) โ†’ ๐‘˜ โˆˆ โ„ค )
15 iftrue โŠข ( ๐‘˜ โˆˆ ๐ด โ†’ if ( ๐‘˜ โˆˆ ๐ด , ๐ต , 1 ) = ๐ต )
16 15 adantl โŠข ( ( ( ๐œ‘ โˆง ๐‘˜ โˆˆ ( โ„คโ‰ฅ โ€˜ ๐‘€ ) ) โˆง ๐‘˜ โˆˆ ๐ด ) โ†’ if ( ๐‘˜ โˆˆ ๐ด , ๐ต , 1 ) = ๐ต )
17 2 adantlr โŠข ( ( ( ๐œ‘ โˆง ๐‘˜ โˆˆ ( โ„คโ‰ฅ โ€˜ ๐‘€ ) ) โˆง ๐‘˜ โˆˆ ๐ด ) โ†’ ๐ต โˆˆ โ„‚ )
18 16 17 eqeltrd โŠข ( ( ( ๐œ‘ โˆง ๐‘˜ โˆˆ ( โ„คโ‰ฅ โ€˜ ๐‘€ ) ) โˆง ๐‘˜ โˆˆ ๐ด ) โ†’ if ( ๐‘˜ โˆˆ ๐ด , ๐ต , 1 ) โˆˆ โ„‚ )
19 18 ex โŠข ( ( ๐œ‘ โˆง ๐‘˜ โˆˆ ( โ„คโ‰ฅ โ€˜ ๐‘€ ) ) โ†’ ( ๐‘˜ โˆˆ ๐ด โ†’ if ( ๐‘˜ โˆˆ ๐ด , ๐ต , 1 ) โˆˆ โ„‚ ) )
20 iffalse โŠข ( ยฌ ๐‘˜ โˆˆ ๐ด โ†’ if ( ๐‘˜ โˆˆ ๐ด , ๐ต , 1 ) = 1 )
21 ax-1cn โŠข 1 โˆˆ โ„‚
22 20 21 eqeltrdi โŠข ( ยฌ ๐‘˜ โˆˆ ๐ด โ†’ if ( ๐‘˜ โˆˆ ๐ด , ๐ต , 1 ) โˆˆ โ„‚ )
23 19 22 pm2.61d1 โŠข ( ( ๐œ‘ โˆง ๐‘˜ โˆˆ ( โ„คโ‰ฅ โ€˜ ๐‘€ ) ) โ†’ if ( ๐‘˜ โˆˆ ๐ด , ๐ต , 1 ) โˆˆ โ„‚ )
24 1 fvmpt2 โŠข ( ( ๐‘˜ โˆˆ โ„ค โˆง if ( ๐‘˜ โˆˆ ๐ด , ๐ต , 1 ) โˆˆ โ„‚ ) โ†’ ( ๐น โ€˜ ๐‘˜ ) = if ( ๐‘˜ โˆˆ ๐ด , ๐ต , 1 ) )
25 14 23 24 syl2anc โŠข ( ( ๐œ‘ โˆง ๐‘˜ โˆˆ ( โ„คโ‰ฅ โ€˜ ๐‘€ ) ) โ†’ ( ๐น โ€˜ ๐‘˜ ) = if ( ๐‘˜ โˆˆ ๐ด , ๐ต , 1 ) )
26 25 23 eqeltrd โŠข ( ( ๐œ‘ โˆง ๐‘˜ โˆˆ ( โ„คโ‰ฅ โ€˜ ๐‘€ ) ) โ†’ ( ๐น โ€˜ ๐‘˜ ) โˆˆ โ„‚ )
27 10 12 26 prodf โŠข ( ๐œ‘ โ†’ seq ๐‘€ ( ยท , ๐น ) : ( โ„คโ‰ฅ โ€˜ ๐‘€ ) โŸถ โ„‚ )
28 27 3 ffvelcdmd โŠข ( ๐œ‘ โ†’ ( seq ๐‘€ ( ยท , ๐น ) โ€˜ ๐‘ ) โˆˆ โ„‚ )
29 mulrid โŠข ( ๐‘š โˆˆ โ„‚ โ†’ ( ๐‘š ยท 1 ) = ๐‘š )
30 29 adantl โŠข ( ( ( ๐œ‘ โˆง ๐‘› โˆˆ ( โ„คโ‰ฅ โ€˜ ๐‘ ) ) โˆง ๐‘š โˆˆ โ„‚ ) โ†’ ( ๐‘š ยท 1 ) = ๐‘š )
31 3 adantr โŠข ( ( ๐œ‘ โˆง ๐‘› โˆˆ ( โ„คโ‰ฅ โ€˜ ๐‘ ) ) โ†’ ๐‘ โˆˆ ( โ„คโ‰ฅ โ€˜ ๐‘€ ) )
32 simpr โŠข ( ( ๐œ‘ โˆง ๐‘› โˆˆ ( โ„คโ‰ฅ โ€˜ ๐‘ ) ) โ†’ ๐‘› โˆˆ ( โ„คโ‰ฅ โ€˜ ๐‘ ) )
33 12 adantr โŠข ( ( ๐œ‘ โˆง ๐‘› โˆˆ ( โ„คโ‰ฅ โ€˜ ๐‘ ) ) โ†’ ๐‘€ โˆˆ โ„ค )
34 26 adantlr โŠข ( ( ( ๐œ‘ โˆง ๐‘› โˆˆ ( โ„คโ‰ฅ โ€˜ ๐‘ ) ) โˆง ๐‘˜ โˆˆ ( โ„คโ‰ฅ โ€˜ ๐‘€ ) ) โ†’ ( ๐น โ€˜ ๐‘˜ ) โˆˆ โ„‚ )
35 10 33 34 prodf โŠข ( ( ๐œ‘ โˆง ๐‘› โˆˆ ( โ„คโ‰ฅ โ€˜ ๐‘ ) ) โ†’ seq ๐‘€ ( ยท , ๐น ) : ( โ„คโ‰ฅ โ€˜ ๐‘€ ) โŸถ โ„‚ )
36 35 31 ffvelcdmd โŠข ( ( ๐œ‘ โˆง ๐‘› โˆˆ ( โ„คโ‰ฅ โ€˜ ๐‘ ) ) โ†’ ( seq ๐‘€ ( ยท , ๐น ) โ€˜ ๐‘ ) โˆˆ โ„‚ )
37 elfzuz โŠข ( ๐‘š โˆˆ ( ( ๐‘ + 1 ) ... ๐‘› ) โ†’ ๐‘š โˆˆ ( โ„คโ‰ฅ โ€˜ ( ๐‘ + 1 ) ) )
38 eluzelz โŠข ( ๐‘š โˆˆ ( โ„คโ‰ฅ โ€˜ ( ๐‘ + 1 ) ) โ†’ ๐‘š โˆˆ โ„ค )
39 38 adantl โŠข ( ( ๐œ‘ โˆง ๐‘š โˆˆ ( โ„คโ‰ฅ โ€˜ ( ๐‘ + 1 ) ) ) โ†’ ๐‘š โˆˆ โ„ค )
40 4 sseld โŠข ( ๐œ‘ โ†’ ( ๐‘š โˆˆ ๐ด โ†’ ๐‘š โˆˆ ( ๐‘€ ... ๐‘ ) ) )
41 fznuz โŠข ( ๐‘š โˆˆ ( ๐‘€ ... ๐‘ ) โ†’ ยฌ ๐‘š โˆˆ ( โ„คโ‰ฅ โ€˜ ( ๐‘ + 1 ) ) )
42 40 41 syl6 โŠข ( ๐œ‘ โ†’ ( ๐‘š โˆˆ ๐ด โ†’ ยฌ ๐‘š โˆˆ ( โ„คโ‰ฅ โ€˜ ( ๐‘ + 1 ) ) ) )
43 42 con2d โŠข ( ๐œ‘ โ†’ ( ๐‘š โˆˆ ( โ„คโ‰ฅ โ€˜ ( ๐‘ + 1 ) ) โ†’ ยฌ ๐‘š โˆˆ ๐ด ) )
44 43 imp โŠข ( ( ๐œ‘ โˆง ๐‘š โˆˆ ( โ„คโ‰ฅ โ€˜ ( ๐‘ + 1 ) ) ) โ†’ ยฌ ๐‘š โˆˆ ๐ด )
45 39 44 eldifd โŠข ( ( ๐œ‘ โˆง ๐‘š โˆˆ ( โ„คโ‰ฅ โ€˜ ( ๐‘ + 1 ) ) ) โ†’ ๐‘š โˆˆ ( โ„ค โˆ– ๐ด ) )
46 fveqeq2 โŠข ( ๐‘˜ = ๐‘š โ†’ ( ( ๐น โ€˜ ๐‘˜ ) = 1 โ†” ( ๐น โ€˜ ๐‘š ) = 1 ) )
47 eldifi โŠข ( ๐‘˜ โˆˆ ( โ„ค โˆ– ๐ด ) โ†’ ๐‘˜ โˆˆ โ„ค )
48 eldifn โŠข ( ๐‘˜ โˆˆ ( โ„ค โˆ– ๐ด ) โ†’ ยฌ ๐‘˜ โˆˆ ๐ด )
49 48 20 syl โŠข ( ๐‘˜ โˆˆ ( โ„ค โˆ– ๐ด ) โ†’ if ( ๐‘˜ โˆˆ ๐ด , ๐ต , 1 ) = 1 )
50 49 21 eqeltrdi โŠข ( ๐‘˜ โˆˆ ( โ„ค โˆ– ๐ด ) โ†’ if ( ๐‘˜ โˆˆ ๐ด , ๐ต , 1 ) โˆˆ โ„‚ )
51 47 50 24 syl2anc โŠข ( ๐‘˜ โˆˆ ( โ„ค โˆ– ๐ด ) โ†’ ( ๐น โ€˜ ๐‘˜ ) = if ( ๐‘˜ โˆˆ ๐ด , ๐ต , 1 ) )
52 51 49 eqtrd โŠข ( ๐‘˜ โˆˆ ( โ„ค โˆ– ๐ด ) โ†’ ( ๐น โ€˜ ๐‘˜ ) = 1 )
53 46 52 vtoclga โŠข ( ๐‘š โˆˆ ( โ„ค โˆ– ๐ด ) โ†’ ( ๐น โ€˜ ๐‘š ) = 1 )
54 45 53 syl โŠข ( ( ๐œ‘ โˆง ๐‘š โˆˆ ( โ„คโ‰ฅ โ€˜ ( ๐‘ + 1 ) ) ) โ†’ ( ๐น โ€˜ ๐‘š ) = 1 )
55 37 54 sylan2 โŠข ( ( ๐œ‘ โˆง ๐‘š โˆˆ ( ( ๐‘ + 1 ) ... ๐‘› ) ) โ†’ ( ๐น โ€˜ ๐‘š ) = 1 )
56 55 adantlr โŠข ( ( ( ๐œ‘ โˆง ๐‘› โˆˆ ( โ„คโ‰ฅ โ€˜ ๐‘ ) ) โˆง ๐‘š โˆˆ ( ( ๐‘ + 1 ) ... ๐‘› ) ) โ†’ ( ๐น โ€˜ ๐‘š ) = 1 )
57 30 31 32 36 56 seqid2 โŠข ( ( ๐œ‘ โˆง ๐‘› โˆˆ ( โ„คโ‰ฅ โ€˜ ๐‘ ) ) โ†’ ( seq ๐‘€ ( ยท , ๐น ) โ€˜ ๐‘ ) = ( seq ๐‘€ ( ยท , ๐น ) โ€˜ ๐‘› ) )
58 57 eqcomd โŠข ( ( ๐œ‘ โˆง ๐‘› โˆˆ ( โ„คโ‰ฅ โ€˜ ๐‘ ) ) โ†’ ( seq ๐‘€ ( ยท , ๐น ) โ€˜ ๐‘› ) = ( seq ๐‘€ ( ยท , ๐น ) โ€˜ ๐‘ ) )
59 5 7 9 28 58 climconst โŠข ( ๐œ‘ โ†’ seq ๐‘€ ( ยท , ๐น ) โ‡ ( seq ๐‘€ ( ยท , ๐น ) โ€˜ ๐‘ ) )