Metamath Proof Explorer


Theorem etransclem7

Description: The given product is an integer. (Contributed by Glauco Siliprandi, 5-Apr-2020)

Ref Expression
Hypotheses etransclem7.n โŠข ( ๐œ‘ โ†’ ๐‘ƒ โˆˆ โ„• )
etransclem7.c โŠข ( ๐œ‘ โ†’ ๐ถ : ( 0 ... ๐‘€ ) โŸถ ( 0 ... ๐‘ ) )
etransclem7.j โŠข ( ๐œ‘ โ†’ ๐ฝ โˆˆ ( 0 ... ๐‘€ ) )
Assertion etransclem7 ( ๐œ‘ โ†’ โˆ ๐‘— โˆˆ ( 1 ... ๐‘€ ) if ( ๐‘ƒ < ( ๐ถ โ€˜ ๐‘— ) , 0 , ( ( ( ! โ€˜ ๐‘ƒ ) / ( ! โ€˜ ( ๐‘ƒ โˆ’ ( ๐ถ โ€˜ ๐‘— ) ) ) ) ยท ( ( ๐ฝ โˆ’ ๐‘— ) โ†‘ ( ๐‘ƒ โˆ’ ( ๐ถ โ€˜ ๐‘— ) ) ) ) ) โˆˆ โ„ค )

Proof

Step Hyp Ref Expression
1 etransclem7.n โŠข ( ๐œ‘ โ†’ ๐‘ƒ โˆˆ โ„• )
2 etransclem7.c โŠข ( ๐œ‘ โ†’ ๐ถ : ( 0 ... ๐‘€ ) โŸถ ( 0 ... ๐‘ ) )
3 etransclem7.j โŠข ( ๐œ‘ โ†’ ๐ฝ โˆˆ ( 0 ... ๐‘€ ) )
4 fzfid โŠข ( ๐œ‘ โ†’ ( 1 ... ๐‘€ ) โˆˆ Fin )
5 0zd โŠข ( ( ( ๐œ‘ โˆง ๐‘— โˆˆ ( 1 ... ๐‘€ ) ) โˆง ๐‘ƒ < ( ๐ถ โ€˜ ๐‘— ) ) โ†’ 0 โˆˆ โ„ค )
6 0zd โŠข ( ( ( ๐œ‘ โˆง ๐‘— โˆˆ ( 1 ... ๐‘€ ) ) โˆง ยฌ ๐‘ƒ < ( ๐ถ โ€˜ ๐‘— ) ) โ†’ 0 โˆˆ โ„ค )
7 1 nnzd โŠข ( ๐œ‘ โ†’ ๐‘ƒ โˆˆ โ„ค )
8 7 ad2antrr โŠข ( ( ( ๐œ‘ โˆง ๐‘— โˆˆ ( 1 ... ๐‘€ ) ) โˆง ยฌ ๐‘ƒ < ( ๐ถ โ€˜ ๐‘— ) ) โ†’ ๐‘ƒ โˆˆ โ„ค )
9 7 adantr โŠข ( ( ๐œ‘ โˆง ๐‘— โˆˆ ( 1 ... ๐‘€ ) ) โ†’ ๐‘ƒ โˆˆ โ„ค )
10 2 adantr โŠข ( ( ๐œ‘ โˆง ๐‘— โˆˆ ( 1 ... ๐‘€ ) ) โ†’ ๐ถ : ( 0 ... ๐‘€ ) โŸถ ( 0 ... ๐‘ ) )
11 0zd โŠข ( ๐‘— โˆˆ ( 1 ... ๐‘€ ) โ†’ 0 โˆˆ โ„ค )
12 fzp1ss โŠข ( 0 โˆˆ โ„ค โ†’ ( ( 0 + 1 ) ... ๐‘€ ) โŠ† ( 0 ... ๐‘€ ) )
13 11 12 syl โŠข ( ๐‘— โˆˆ ( 1 ... ๐‘€ ) โ†’ ( ( 0 + 1 ) ... ๐‘€ ) โŠ† ( 0 ... ๐‘€ ) )
14 id โŠข ( ๐‘— โˆˆ ( 1 ... ๐‘€ ) โ†’ ๐‘— โˆˆ ( 1 ... ๐‘€ ) )
15 1e0p1 โŠข 1 = ( 0 + 1 )
16 15 oveq1i โŠข ( 1 ... ๐‘€ ) = ( ( 0 + 1 ) ... ๐‘€ )
17 14 16 eleqtrdi โŠข ( ๐‘— โˆˆ ( 1 ... ๐‘€ ) โ†’ ๐‘— โˆˆ ( ( 0 + 1 ) ... ๐‘€ ) )
18 13 17 sseldd โŠข ( ๐‘— โˆˆ ( 1 ... ๐‘€ ) โ†’ ๐‘— โˆˆ ( 0 ... ๐‘€ ) )
19 18 adantl โŠข ( ( ๐œ‘ โˆง ๐‘— โˆˆ ( 1 ... ๐‘€ ) ) โ†’ ๐‘— โˆˆ ( 0 ... ๐‘€ ) )
20 10 19 ffvelcdmd โŠข ( ( ๐œ‘ โˆง ๐‘— โˆˆ ( 1 ... ๐‘€ ) ) โ†’ ( ๐ถ โ€˜ ๐‘— ) โˆˆ ( 0 ... ๐‘ ) )
21 20 elfzelzd โŠข ( ( ๐œ‘ โˆง ๐‘— โˆˆ ( 1 ... ๐‘€ ) ) โ†’ ( ๐ถ โ€˜ ๐‘— ) โˆˆ โ„ค )
22 9 21 zsubcld โŠข ( ( ๐œ‘ โˆง ๐‘— โˆˆ ( 1 ... ๐‘€ ) ) โ†’ ( ๐‘ƒ โˆ’ ( ๐ถ โ€˜ ๐‘— ) ) โˆˆ โ„ค )
23 22 adantr โŠข ( ( ( ๐œ‘ โˆง ๐‘— โˆˆ ( 1 ... ๐‘€ ) ) โˆง ยฌ ๐‘ƒ < ( ๐ถ โ€˜ ๐‘— ) ) โ†’ ( ๐‘ƒ โˆ’ ( ๐ถ โ€˜ ๐‘— ) ) โˆˆ โ„ค )
24 21 zred โŠข ( ( ๐œ‘ โˆง ๐‘— โˆˆ ( 1 ... ๐‘€ ) ) โ†’ ( ๐ถ โ€˜ ๐‘— ) โˆˆ โ„ )
25 24 adantr โŠข ( ( ( ๐œ‘ โˆง ๐‘— โˆˆ ( 1 ... ๐‘€ ) ) โˆง ยฌ ๐‘ƒ < ( ๐ถ โ€˜ ๐‘— ) ) โ†’ ( ๐ถ โ€˜ ๐‘— ) โˆˆ โ„ )
26 8 zred โŠข ( ( ( ๐œ‘ โˆง ๐‘— โˆˆ ( 1 ... ๐‘€ ) ) โˆง ยฌ ๐‘ƒ < ( ๐ถ โ€˜ ๐‘— ) ) โ†’ ๐‘ƒ โˆˆ โ„ )
27 simpr โŠข ( ( ( ๐œ‘ โˆง ๐‘— โˆˆ ( 1 ... ๐‘€ ) ) โˆง ยฌ ๐‘ƒ < ( ๐ถ โ€˜ ๐‘— ) ) โ†’ ยฌ ๐‘ƒ < ( ๐ถ โ€˜ ๐‘— ) )
28 25 26 27 nltled โŠข ( ( ( ๐œ‘ โˆง ๐‘— โˆˆ ( 1 ... ๐‘€ ) ) โˆง ยฌ ๐‘ƒ < ( ๐ถ โ€˜ ๐‘— ) ) โ†’ ( ๐ถ โ€˜ ๐‘— ) โ‰ค ๐‘ƒ )
29 26 25 subge0d โŠข ( ( ( ๐œ‘ โˆง ๐‘— โˆˆ ( 1 ... ๐‘€ ) ) โˆง ยฌ ๐‘ƒ < ( ๐ถ โ€˜ ๐‘— ) ) โ†’ ( 0 โ‰ค ( ๐‘ƒ โˆ’ ( ๐ถ โ€˜ ๐‘— ) ) โ†” ( ๐ถ โ€˜ ๐‘— ) โ‰ค ๐‘ƒ ) )
30 28 29 mpbird โŠข ( ( ( ๐œ‘ โˆง ๐‘— โˆˆ ( 1 ... ๐‘€ ) ) โˆง ยฌ ๐‘ƒ < ( ๐ถ โ€˜ ๐‘— ) ) โ†’ 0 โ‰ค ( ๐‘ƒ โˆ’ ( ๐ถ โ€˜ ๐‘— ) ) )
31 elfzle1 โŠข ( ( ๐ถ โ€˜ ๐‘— ) โˆˆ ( 0 ... ๐‘ ) โ†’ 0 โ‰ค ( ๐ถ โ€˜ ๐‘— ) )
32 20 31 syl โŠข ( ( ๐œ‘ โˆง ๐‘— โˆˆ ( 1 ... ๐‘€ ) ) โ†’ 0 โ‰ค ( ๐ถ โ€˜ ๐‘— ) )
33 32 adantr โŠข ( ( ( ๐œ‘ โˆง ๐‘— โˆˆ ( 1 ... ๐‘€ ) ) โˆง ยฌ ๐‘ƒ < ( ๐ถ โ€˜ ๐‘— ) ) โ†’ 0 โ‰ค ( ๐ถ โ€˜ ๐‘— ) )
34 26 25 subge02d โŠข ( ( ( ๐œ‘ โˆง ๐‘— โˆˆ ( 1 ... ๐‘€ ) ) โˆง ยฌ ๐‘ƒ < ( ๐ถ โ€˜ ๐‘— ) ) โ†’ ( 0 โ‰ค ( ๐ถ โ€˜ ๐‘— ) โ†” ( ๐‘ƒ โˆ’ ( ๐ถ โ€˜ ๐‘— ) ) โ‰ค ๐‘ƒ ) )
35 33 34 mpbid โŠข ( ( ( ๐œ‘ โˆง ๐‘— โˆˆ ( 1 ... ๐‘€ ) ) โˆง ยฌ ๐‘ƒ < ( ๐ถ โ€˜ ๐‘— ) ) โ†’ ( ๐‘ƒ โˆ’ ( ๐ถ โ€˜ ๐‘— ) ) โ‰ค ๐‘ƒ )
36 6 8 23 30 35 elfzd โŠข ( ( ( ๐œ‘ โˆง ๐‘— โˆˆ ( 1 ... ๐‘€ ) ) โˆง ยฌ ๐‘ƒ < ( ๐ถ โ€˜ ๐‘— ) ) โ†’ ( ๐‘ƒ โˆ’ ( ๐ถ โ€˜ ๐‘— ) ) โˆˆ ( 0 ... ๐‘ƒ ) )
37 permnn โŠข ( ( ๐‘ƒ โˆ’ ( ๐ถ โ€˜ ๐‘— ) ) โˆˆ ( 0 ... ๐‘ƒ ) โ†’ ( ( ! โ€˜ ๐‘ƒ ) / ( ! โ€˜ ( ๐‘ƒ โˆ’ ( ๐ถ โ€˜ ๐‘— ) ) ) ) โˆˆ โ„• )
38 36 37 syl โŠข ( ( ( ๐œ‘ โˆง ๐‘— โˆˆ ( 1 ... ๐‘€ ) ) โˆง ยฌ ๐‘ƒ < ( ๐ถ โ€˜ ๐‘— ) ) โ†’ ( ( ! โ€˜ ๐‘ƒ ) / ( ! โ€˜ ( ๐‘ƒ โˆ’ ( ๐ถ โ€˜ ๐‘— ) ) ) ) โˆˆ โ„• )
39 38 nnzd โŠข ( ( ( ๐œ‘ โˆง ๐‘— โˆˆ ( 1 ... ๐‘€ ) ) โˆง ยฌ ๐‘ƒ < ( ๐ถ โ€˜ ๐‘— ) ) โ†’ ( ( ! โ€˜ ๐‘ƒ ) / ( ! โ€˜ ( ๐‘ƒ โˆ’ ( ๐ถ โ€˜ ๐‘— ) ) ) ) โˆˆ โ„ค )
40 3 elfzelzd โŠข ( ๐œ‘ โ†’ ๐ฝ โˆˆ โ„ค )
41 40 adantr โŠข ( ( ๐œ‘ โˆง ๐‘— โˆˆ ( 1 ... ๐‘€ ) ) โ†’ ๐ฝ โˆˆ โ„ค )
42 elfzelz โŠข ( ๐‘— โˆˆ ( 1 ... ๐‘€ ) โ†’ ๐‘— โˆˆ โ„ค )
43 42 adantl โŠข ( ( ๐œ‘ โˆง ๐‘— โˆˆ ( 1 ... ๐‘€ ) ) โ†’ ๐‘— โˆˆ โ„ค )
44 41 43 zsubcld โŠข ( ( ๐œ‘ โˆง ๐‘— โˆˆ ( 1 ... ๐‘€ ) ) โ†’ ( ๐ฝ โˆ’ ๐‘— ) โˆˆ โ„ค )
45 44 adantr โŠข ( ( ( ๐œ‘ โˆง ๐‘— โˆˆ ( 1 ... ๐‘€ ) ) โˆง ยฌ ๐‘ƒ < ( ๐ถ โ€˜ ๐‘— ) ) โ†’ ( ๐ฝ โˆ’ ๐‘— ) โˆˆ โ„ค )
46 elnn0z โŠข ( ( ๐‘ƒ โˆ’ ( ๐ถ โ€˜ ๐‘— ) ) โˆˆ โ„•0 โ†” ( ( ๐‘ƒ โˆ’ ( ๐ถ โ€˜ ๐‘— ) ) โˆˆ โ„ค โˆง 0 โ‰ค ( ๐‘ƒ โˆ’ ( ๐ถ โ€˜ ๐‘— ) ) ) )
47 23 30 46 sylanbrc โŠข ( ( ( ๐œ‘ โˆง ๐‘— โˆˆ ( 1 ... ๐‘€ ) ) โˆง ยฌ ๐‘ƒ < ( ๐ถ โ€˜ ๐‘— ) ) โ†’ ( ๐‘ƒ โˆ’ ( ๐ถ โ€˜ ๐‘— ) ) โˆˆ โ„•0 )
48 zexpcl โŠข ( ( ( ๐ฝ โˆ’ ๐‘— ) โˆˆ โ„ค โˆง ( ๐‘ƒ โˆ’ ( ๐ถ โ€˜ ๐‘— ) ) โˆˆ โ„•0 ) โ†’ ( ( ๐ฝ โˆ’ ๐‘— ) โ†‘ ( ๐‘ƒ โˆ’ ( ๐ถ โ€˜ ๐‘— ) ) ) โˆˆ โ„ค )
49 45 47 48 syl2anc โŠข ( ( ( ๐œ‘ โˆง ๐‘— โˆˆ ( 1 ... ๐‘€ ) ) โˆง ยฌ ๐‘ƒ < ( ๐ถ โ€˜ ๐‘— ) ) โ†’ ( ( ๐ฝ โˆ’ ๐‘— ) โ†‘ ( ๐‘ƒ โˆ’ ( ๐ถ โ€˜ ๐‘— ) ) ) โˆˆ โ„ค )
50 39 49 zmulcld โŠข ( ( ( ๐œ‘ โˆง ๐‘— โˆˆ ( 1 ... ๐‘€ ) ) โˆง ยฌ ๐‘ƒ < ( ๐ถ โ€˜ ๐‘— ) ) โ†’ ( ( ( ! โ€˜ ๐‘ƒ ) / ( ! โ€˜ ( ๐‘ƒ โˆ’ ( ๐ถ โ€˜ ๐‘— ) ) ) ) ยท ( ( ๐ฝ โˆ’ ๐‘— ) โ†‘ ( ๐‘ƒ โˆ’ ( ๐ถ โ€˜ ๐‘— ) ) ) ) โˆˆ โ„ค )
51 5 50 ifclda โŠข ( ( ๐œ‘ โˆง ๐‘— โˆˆ ( 1 ... ๐‘€ ) ) โ†’ if ( ๐‘ƒ < ( ๐ถ โ€˜ ๐‘— ) , 0 , ( ( ( ! โ€˜ ๐‘ƒ ) / ( ! โ€˜ ( ๐‘ƒ โˆ’ ( ๐ถ โ€˜ ๐‘— ) ) ) ) ยท ( ( ๐ฝ โˆ’ ๐‘— ) โ†‘ ( ๐‘ƒ โˆ’ ( ๐ถ โ€˜ ๐‘— ) ) ) ) ) โˆˆ โ„ค )
52 4 51 fprodzcl โŠข ( ๐œ‘ โ†’ โˆ ๐‘— โˆˆ ( 1 ... ๐‘€ ) if ( ๐‘ƒ < ( ๐ถ โ€˜ ๐‘— ) , 0 , ( ( ( ! โ€˜ ๐‘ƒ ) / ( ! โ€˜ ( ๐‘ƒ โˆ’ ( ๐ถ โ€˜ ๐‘— ) ) ) ) ยท ( ( ๐ฝ โˆ’ ๐‘— ) โ†‘ ( ๐‘ƒ โˆ’ ( ๐ถ โ€˜ ๐‘— ) ) ) ) ) โˆˆ โ„ค )