Metamath Proof Explorer


Theorem eulerpartlemgc

Description: Lemma for eulerpart . (Contributed by Thierry Arnoux, 9-Aug-2018)

Ref Expression
Hypotheses eulerpartlems.r โŠข ๐‘… = { ๐‘“ โˆฃ ( โ—ก ๐‘“ โ€œ โ„• ) โˆˆ Fin }
eulerpartlems.s โŠข ๐‘† = ( ๐‘“ โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โ†ฆ ฮฃ ๐‘˜ โˆˆ โ„• ( ( ๐‘“ โ€˜ ๐‘˜ ) ยท ๐‘˜ ) )
Assertion eulerpartlemgc ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ( ๐‘ก โˆˆ โ„• โˆง ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) ) โ†’ ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) โ‰ค ( ๐‘† โ€˜ ๐ด ) )

Proof

Step Hyp Ref Expression
1 eulerpartlems.r โŠข ๐‘… = { ๐‘“ โˆฃ ( โ—ก ๐‘“ โ€œ โ„• ) โˆˆ Fin }
2 eulerpartlems.s โŠข ๐‘† = ( ๐‘“ โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โ†ฆ ฮฃ ๐‘˜ โˆˆ โ„• ( ( ๐‘“ โ€˜ ๐‘˜ ) ยท ๐‘˜ ) )
3 2re โŠข 2 โˆˆ โ„
4 3 a1i โŠข ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ( ๐‘ก โˆˆ โ„• โˆง ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) ) โ†’ 2 โˆˆ โ„ )
5 bitsss โŠข ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) โŠ† โ„•0
6 simprr โŠข ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ( ๐‘ก โˆˆ โ„• โˆง ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) ) โ†’ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) )
7 5 6 sselid โŠข ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ( ๐‘ก โˆˆ โ„• โˆง ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) ) โ†’ ๐‘› โˆˆ โ„•0 )
8 4 7 reexpcld โŠข ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ( ๐‘ก โˆˆ โ„• โˆง ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) ) โ†’ ( 2 โ†‘ ๐‘› ) โˆˆ โ„ )
9 simprl โŠข ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ( ๐‘ก โˆˆ โ„• โˆง ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) ) โ†’ ๐‘ก โˆˆ โ„• )
10 9 nnred โŠข ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ( ๐‘ก โˆˆ โ„• โˆง ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) ) โ†’ ๐‘ก โˆˆ โ„ )
11 8 10 remulcld โŠข ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ( ๐‘ก โˆˆ โ„• โˆง ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) ) โ†’ ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) โˆˆ โ„ )
12 1 2 eulerpartlemelr โŠข ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โ†’ ( ๐ด : โ„• โŸถ โ„•0 โˆง ( โ—ก ๐ด โ€œ โ„• ) โˆˆ Fin ) )
13 12 simpld โŠข ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โ†’ ๐ด : โ„• โŸถ โ„•0 )
14 13 ffvelcdmda โŠข ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ๐‘ก โˆˆ โ„• ) โ†’ ( ๐ด โ€˜ ๐‘ก ) โˆˆ โ„•0 )
15 14 adantrr โŠข ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ( ๐‘ก โˆˆ โ„• โˆง ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) ) โ†’ ( ๐ด โ€˜ ๐‘ก ) โˆˆ โ„•0 )
16 15 nn0red โŠข ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ( ๐‘ก โˆˆ โ„• โˆง ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) ) โ†’ ( ๐ด โ€˜ ๐‘ก ) โˆˆ โ„ )
17 16 10 remulcld โŠข ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ( ๐‘ก โˆˆ โ„• โˆง ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) ) โ†’ ( ( ๐ด โ€˜ ๐‘ก ) ยท ๐‘ก ) โˆˆ โ„ )
18 1 2 eulerpartlemsf โŠข ๐‘† : ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โŸถ โ„•0
19 18 ffvelcdmi โŠข ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โ†’ ( ๐‘† โ€˜ ๐ด ) โˆˆ โ„•0 )
20 19 adantr โŠข ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ( ๐‘ก โˆˆ โ„• โˆง ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) ) โ†’ ( ๐‘† โ€˜ ๐ด ) โˆˆ โ„•0 )
21 20 nn0red โŠข ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ( ๐‘ก โˆˆ โ„• โˆง ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) ) โ†’ ( ๐‘† โ€˜ ๐ด ) โˆˆ โ„ )
22 14 nn0red โŠข ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ๐‘ก โˆˆ โ„• ) โ†’ ( ๐ด โ€˜ ๐‘ก ) โˆˆ โ„ )
23 22 adantrr โŠข ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ( ๐‘ก โˆˆ โ„• โˆง ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) ) โ†’ ( ๐ด โ€˜ ๐‘ก ) โˆˆ โ„ )
24 9 nnrpd โŠข ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ( ๐‘ก โˆˆ โ„• โˆง ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) ) โ†’ ๐‘ก โˆˆ โ„+ )
25 24 rprege0d โŠข ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ( ๐‘ก โˆˆ โ„• โˆง ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) ) โ†’ ( ๐‘ก โˆˆ โ„ โˆง 0 โ‰ค ๐‘ก ) )
26 bitsfi โŠข ( ( ๐ด โ€˜ ๐‘ก ) โˆˆ โ„•0 โ†’ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) โˆˆ Fin )
27 15 26 syl โŠข ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ( ๐‘ก โˆˆ โ„• โˆง ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) ) โ†’ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) โˆˆ Fin )
28 3 a1i โŠข ( ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ( ๐‘ก โˆˆ โ„• โˆง ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) ) โˆง ๐‘– โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) โ†’ 2 โˆˆ โ„ )
29 5 a1i โŠข ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ( ๐‘ก โˆˆ โ„• โˆง ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) ) โ†’ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) โŠ† โ„•0 )
30 29 sselda โŠข ( ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ( ๐‘ก โˆˆ โ„• โˆง ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) ) โˆง ๐‘– โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) โ†’ ๐‘– โˆˆ โ„•0 )
31 28 30 reexpcld โŠข ( ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ( ๐‘ก โˆˆ โ„• โˆง ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) ) โˆง ๐‘– โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) โ†’ ( 2 โ†‘ ๐‘– ) โˆˆ โ„ )
32 0le2 โŠข 0 โ‰ค 2
33 32 a1i โŠข ( ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ( ๐‘ก โˆˆ โ„• โˆง ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) ) โˆง ๐‘– โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) โ†’ 0 โ‰ค 2 )
34 28 30 33 expge0d โŠข ( ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ( ๐‘ก โˆˆ โ„• โˆง ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) ) โˆง ๐‘– โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) โ†’ 0 โ‰ค ( 2 โ†‘ ๐‘– ) )
35 6 snssd โŠข ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ( ๐‘ก โˆˆ โ„• โˆง ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) ) โ†’ { ๐‘› } โŠ† ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) )
36 27 31 34 35 fsumless โŠข ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ( ๐‘ก โˆˆ โ„• โˆง ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) ) โ†’ ฮฃ ๐‘– โˆˆ { ๐‘› } ( 2 โ†‘ ๐‘– ) โ‰ค ฮฃ ๐‘– โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( 2 โ†‘ ๐‘– ) )
37 8 recnd โŠข ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ( ๐‘ก โˆˆ โ„• โˆง ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) ) โ†’ ( 2 โ†‘ ๐‘› ) โˆˆ โ„‚ )
38 oveq2 โŠข ( ๐‘– = ๐‘› โ†’ ( 2 โ†‘ ๐‘– ) = ( 2 โ†‘ ๐‘› ) )
39 38 sumsn โŠข ( ( ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) โˆง ( 2 โ†‘ ๐‘› ) โˆˆ โ„‚ ) โ†’ ฮฃ ๐‘– โˆˆ { ๐‘› } ( 2 โ†‘ ๐‘– ) = ( 2 โ†‘ ๐‘› ) )
40 6 37 39 syl2anc โŠข ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ( ๐‘ก โˆˆ โ„• โˆง ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) ) โ†’ ฮฃ ๐‘– โˆˆ { ๐‘› } ( 2 โ†‘ ๐‘– ) = ( 2 โ†‘ ๐‘› ) )
41 bitsinv1 โŠข ( ( ๐ด โ€˜ ๐‘ก ) โˆˆ โ„•0 โ†’ ฮฃ ๐‘– โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( 2 โ†‘ ๐‘– ) = ( ๐ด โ€˜ ๐‘ก ) )
42 15 41 syl โŠข ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ( ๐‘ก โˆˆ โ„• โˆง ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) ) โ†’ ฮฃ ๐‘– โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( 2 โ†‘ ๐‘– ) = ( ๐ด โ€˜ ๐‘ก ) )
43 36 40 42 3brtr3d โŠข ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ( ๐‘ก โˆˆ โ„• โˆง ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) ) โ†’ ( 2 โ†‘ ๐‘› ) โ‰ค ( ๐ด โ€˜ ๐‘ก ) )
44 lemul1a โŠข ( ( ( ( 2 โ†‘ ๐‘› ) โˆˆ โ„ โˆง ( ๐ด โ€˜ ๐‘ก ) โˆˆ โ„ โˆง ( ๐‘ก โˆˆ โ„ โˆง 0 โ‰ค ๐‘ก ) ) โˆง ( 2 โ†‘ ๐‘› ) โ‰ค ( ๐ด โ€˜ ๐‘ก ) ) โ†’ ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) โ‰ค ( ( ๐ด โ€˜ ๐‘ก ) ยท ๐‘ก ) )
45 8 23 25 43 44 syl31anc โŠข ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ( ๐‘ก โˆˆ โ„• โˆง ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) ) โ†’ ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) โ‰ค ( ( ๐ด โ€˜ ๐‘ก ) ยท ๐‘ก ) )
46 fzfid โŠข ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ๐‘ก โˆˆ ( 1 ... ( ๐‘† โ€˜ ๐ด ) ) ) โ†’ ( 1 ... ( ๐‘† โ€˜ ๐ด ) ) โˆˆ Fin )
47 elfznn โŠข ( ๐‘˜ โˆˆ ( 1 ... ( ๐‘† โ€˜ ๐ด ) ) โ†’ ๐‘˜ โˆˆ โ„• )
48 ffvelcdm โŠข ( ( ๐ด : โ„• โŸถ โ„•0 โˆง ๐‘˜ โˆˆ โ„• ) โ†’ ( ๐ด โ€˜ ๐‘˜ ) โˆˆ โ„•0 )
49 13 47 48 syl2an โŠข ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ๐‘˜ โˆˆ ( 1 ... ( ๐‘† โ€˜ ๐ด ) ) ) โ†’ ( ๐ด โ€˜ ๐‘˜ ) โˆˆ โ„•0 )
50 49 nn0red โŠข ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ๐‘˜ โˆˆ ( 1 ... ( ๐‘† โ€˜ ๐ด ) ) ) โ†’ ( ๐ด โ€˜ ๐‘˜ ) โˆˆ โ„ )
51 47 adantl โŠข ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ๐‘˜ โˆˆ ( 1 ... ( ๐‘† โ€˜ ๐ด ) ) ) โ†’ ๐‘˜ โˆˆ โ„• )
52 51 nnred โŠข ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ๐‘˜ โˆˆ ( 1 ... ( ๐‘† โ€˜ ๐ด ) ) ) โ†’ ๐‘˜ โˆˆ โ„ )
53 50 52 remulcld โŠข ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ๐‘˜ โˆˆ ( 1 ... ( ๐‘† โ€˜ ๐ด ) ) ) โ†’ ( ( ๐ด โ€˜ ๐‘˜ ) ยท ๐‘˜ ) โˆˆ โ„ )
54 53 adantlr โŠข ( ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ๐‘ก โˆˆ ( 1 ... ( ๐‘† โ€˜ ๐ด ) ) ) โˆง ๐‘˜ โˆˆ ( 1 ... ( ๐‘† โ€˜ ๐ด ) ) ) โ†’ ( ( ๐ด โ€˜ ๐‘˜ ) ยท ๐‘˜ ) โˆˆ โ„ )
55 49 nn0ge0d โŠข ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ๐‘˜ โˆˆ ( 1 ... ( ๐‘† โ€˜ ๐ด ) ) ) โ†’ 0 โ‰ค ( ๐ด โ€˜ ๐‘˜ ) )
56 0red โŠข ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ๐‘˜ โˆˆ ( 1 ... ( ๐‘† โ€˜ ๐ด ) ) ) โ†’ 0 โˆˆ โ„ )
57 51 nngt0d โŠข ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ๐‘˜ โˆˆ ( 1 ... ( ๐‘† โ€˜ ๐ด ) ) ) โ†’ 0 < ๐‘˜ )
58 56 52 57 ltled โŠข ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ๐‘˜ โˆˆ ( 1 ... ( ๐‘† โ€˜ ๐ด ) ) ) โ†’ 0 โ‰ค ๐‘˜ )
59 50 52 55 58 mulge0d โŠข ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ๐‘˜ โˆˆ ( 1 ... ( ๐‘† โ€˜ ๐ด ) ) ) โ†’ 0 โ‰ค ( ( ๐ด โ€˜ ๐‘˜ ) ยท ๐‘˜ ) )
60 59 adantlr โŠข ( ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ๐‘ก โˆˆ ( 1 ... ( ๐‘† โ€˜ ๐ด ) ) ) โˆง ๐‘˜ โˆˆ ( 1 ... ( ๐‘† โ€˜ ๐ด ) ) ) โ†’ 0 โ‰ค ( ( ๐ด โ€˜ ๐‘˜ ) ยท ๐‘˜ ) )
61 fveq2 โŠข ( ๐‘˜ = ๐‘ก โ†’ ( ๐ด โ€˜ ๐‘˜ ) = ( ๐ด โ€˜ ๐‘ก ) )
62 id โŠข ( ๐‘˜ = ๐‘ก โ†’ ๐‘˜ = ๐‘ก )
63 61 62 oveq12d โŠข ( ๐‘˜ = ๐‘ก โ†’ ( ( ๐ด โ€˜ ๐‘˜ ) ยท ๐‘˜ ) = ( ( ๐ด โ€˜ ๐‘ก ) ยท ๐‘ก ) )
64 simpr โŠข ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ๐‘ก โˆˆ ( 1 ... ( ๐‘† โ€˜ ๐ด ) ) ) โ†’ ๐‘ก โˆˆ ( 1 ... ( ๐‘† โ€˜ ๐ด ) ) )
65 46 54 60 63 64 fsumge1 โŠข ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ๐‘ก โˆˆ ( 1 ... ( ๐‘† โ€˜ ๐ด ) ) ) โ†’ ( ( ๐ด โ€˜ ๐‘ก ) ยท ๐‘ก ) โ‰ค ฮฃ ๐‘˜ โˆˆ ( 1 ... ( ๐‘† โ€˜ ๐ด ) ) ( ( ๐ด โ€˜ ๐‘˜ ) ยท ๐‘˜ ) )
66 65 adantlr โŠข ( ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ๐‘ก โˆˆ โ„• ) โˆง ๐‘ก โˆˆ ( 1 ... ( ๐‘† โ€˜ ๐ด ) ) ) โ†’ ( ( ๐ด โ€˜ ๐‘ก ) ยท ๐‘ก ) โ‰ค ฮฃ ๐‘˜ โˆˆ ( 1 ... ( ๐‘† โ€˜ ๐ด ) ) ( ( ๐ด โ€˜ ๐‘˜ ) ยท ๐‘˜ ) )
67 eldif โŠข ( ๐‘ก โˆˆ ( โ„• โˆ– ( 1 ... ( ๐‘† โ€˜ ๐ด ) ) ) โ†” ( ๐‘ก โˆˆ โ„• โˆง ยฌ ๐‘ก โˆˆ ( 1 ... ( ๐‘† โ€˜ ๐ด ) ) ) )
68 nndiffz1 โŠข ( ( ๐‘† โ€˜ ๐ด ) โˆˆ โ„•0 โ†’ ( โ„• โˆ– ( 1 ... ( ๐‘† โ€˜ ๐ด ) ) ) = ( โ„คโ‰ฅ โ€˜ ( ( ๐‘† โ€˜ ๐ด ) + 1 ) ) )
69 68 eleq2d โŠข ( ( ๐‘† โ€˜ ๐ด ) โˆˆ โ„•0 โ†’ ( ๐‘ก โˆˆ ( โ„• โˆ– ( 1 ... ( ๐‘† โ€˜ ๐ด ) ) ) โ†” ๐‘ก โˆˆ ( โ„คโ‰ฅ โ€˜ ( ( ๐‘† โ€˜ ๐ด ) + 1 ) ) ) )
70 19 69 syl โŠข ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โ†’ ( ๐‘ก โˆˆ ( โ„• โˆ– ( 1 ... ( ๐‘† โ€˜ ๐ด ) ) ) โ†” ๐‘ก โˆˆ ( โ„คโ‰ฅ โ€˜ ( ( ๐‘† โ€˜ ๐ด ) + 1 ) ) ) )
71 70 pm5.32i โŠข ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ๐‘ก โˆˆ ( โ„• โˆ– ( 1 ... ( ๐‘† โ€˜ ๐ด ) ) ) ) โ†” ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ๐‘ก โˆˆ ( โ„คโ‰ฅ โ€˜ ( ( ๐‘† โ€˜ ๐ด ) + 1 ) ) ) )
72 1 2 eulerpartlems โŠข ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ๐‘ก โˆˆ ( โ„คโ‰ฅ โ€˜ ( ( ๐‘† โ€˜ ๐ด ) + 1 ) ) ) โ†’ ( ๐ด โ€˜ ๐‘ก ) = 0 )
73 71 72 sylbi โŠข ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ๐‘ก โˆˆ ( โ„• โˆ– ( 1 ... ( ๐‘† โ€˜ ๐ด ) ) ) ) โ†’ ( ๐ด โ€˜ ๐‘ก ) = 0 )
74 73 oveq1d โŠข ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ๐‘ก โˆˆ ( โ„• โˆ– ( 1 ... ( ๐‘† โ€˜ ๐ด ) ) ) ) โ†’ ( ( ๐ด โ€˜ ๐‘ก ) ยท ๐‘ก ) = ( 0 ยท ๐‘ก ) )
75 simpr โŠข ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ๐‘ก โˆˆ ( โ„• โˆ– ( 1 ... ( ๐‘† โ€˜ ๐ด ) ) ) ) โ†’ ๐‘ก โˆˆ ( โ„• โˆ– ( 1 ... ( ๐‘† โ€˜ ๐ด ) ) ) )
76 75 eldifad โŠข ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ๐‘ก โˆˆ ( โ„• โˆ– ( 1 ... ( ๐‘† โ€˜ ๐ด ) ) ) ) โ†’ ๐‘ก โˆˆ โ„• )
77 76 nncnd โŠข ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ๐‘ก โˆˆ ( โ„• โˆ– ( 1 ... ( ๐‘† โ€˜ ๐ด ) ) ) ) โ†’ ๐‘ก โˆˆ โ„‚ )
78 77 mul02d โŠข ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ๐‘ก โˆˆ ( โ„• โˆ– ( 1 ... ( ๐‘† โ€˜ ๐ด ) ) ) ) โ†’ ( 0 ยท ๐‘ก ) = 0 )
79 74 78 eqtrd โŠข ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ๐‘ก โˆˆ ( โ„• โˆ– ( 1 ... ( ๐‘† โ€˜ ๐ด ) ) ) ) โ†’ ( ( ๐ด โ€˜ ๐‘ก ) ยท ๐‘ก ) = 0 )
80 fzfid โŠข ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โ†’ ( 1 ... ( ๐‘† โ€˜ ๐ด ) ) โˆˆ Fin )
81 80 53 59 fsumge0 โŠข ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โ†’ 0 โ‰ค ฮฃ ๐‘˜ โˆˆ ( 1 ... ( ๐‘† โ€˜ ๐ด ) ) ( ( ๐ด โ€˜ ๐‘˜ ) ยท ๐‘˜ ) )
82 81 adantr โŠข ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ๐‘ก โˆˆ ( โ„• โˆ– ( 1 ... ( ๐‘† โ€˜ ๐ด ) ) ) ) โ†’ 0 โ‰ค ฮฃ ๐‘˜ โˆˆ ( 1 ... ( ๐‘† โ€˜ ๐ด ) ) ( ( ๐ด โ€˜ ๐‘˜ ) ยท ๐‘˜ ) )
83 79 82 eqbrtrd โŠข ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ๐‘ก โˆˆ ( โ„• โˆ– ( 1 ... ( ๐‘† โ€˜ ๐ด ) ) ) ) โ†’ ( ( ๐ด โ€˜ ๐‘ก ) ยท ๐‘ก ) โ‰ค ฮฃ ๐‘˜ โˆˆ ( 1 ... ( ๐‘† โ€˜ ๐ด ) ) ( ( ๐ด โ€˜ ๐‘˜ ) ยท ๐‘˜ ) )
84 67 83 sylan2br โŠข ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ( ๐‘ก โˆˆ โ„• โˆง ยฌ ๐‘ก โˆˆ ( 1 ... ( ๐‘† โ€˜ ๐ด ) ) ) ) โ†’ ( ( ๐ด โ€˜ ๐‘ก ) ยท ๐‘ก ) โ‰ค ฮฃ ๐‘˜ โˆˆ ( 1 ... ( ๐‘† โ€˜ ๐ด ) ) ( ( ๐ด โ€˜ ๐‘˜ ) ยท ๐‘˜ ) )
85 84 anassrs โŠข ( ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ๐‘ก โˆˆ โ„• ) โˆง ยฌ ๐‘ก โˆˆ ( 1 ... ( ๐‘† โ€˜ ๐ด ) ) ) โ†’ ( ( ๐ด โ€˜ ๐‘ก ) ยท ๐‘ก ) โ‰ค ฮฃ ๐‘˜ โˆˆ ( 1 ... ( ๐‘† โ€˜ ๐ด ) ) ( ( ๐ด โ€˜ ๐‘˜ ) ยท ๐‘˜ ) )
86 66 85 pm2.61dan โŠข ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ๐‘ก โˆˆ โ„• ) โ†’ ( ( ๐ด โ€˜ ๐‘ก ) ยท ๐‘ก ) โ‰ค ฮฃ ๐‘˜ โˆˆ ( 1 ... ( ๐‘† โ€˜ ๐ด ) ) ( ( ๐ด โ€˜ ๐‘˜ ) ยท ๐‘˜ ) )
87 1 2 eulerpartlemsv3 โŠข ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โ†’ ( ๐‘† โ€˜ ๐ด ) = ฮฃ ๐‘˜ โˆˆ ( 1 ... ( ๐‘† โ€˜ ๐ด ) ) ( ( ๐ด โ€˜ ๐‘˜ ) ยท ๐‘˜ ) )
88 87 adantr โŠข ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ๐‘ก โˆˆ โ„• ) โ†’ ( ๐‘† โ€˜ ๐ด ) = ฮฃ ๐‘˜ โˆˆ ( 1 ... ( ๐‘† โ€˜ ๐ด ) ) ( ( ๐ด โ€˜ ๐‘˜ ) ยท ๐‘˜ ) )
89 86 88 breqtrrd โŠข ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ๐‘ก โˆˆ โ„• ) โ†’ ( ( ๐ด โ€˜ ๐‘ก ) ยท ๐‘ก ) โ‰ค ( ๐‘† โ€˜ ๐ด ) )
90 89 adantrr โŠข ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ( ๐‘ก โˆˆ โ„• โˆง ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) ) โ†’ ( ( ๐ด โ€˜ ๐‘ก ) ยท ๐‘ก ) โ‰ค ( ๐‘† โ€˜ ๐ด ) )
91 11 17 21 45 90 letrd โŠข ( ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โˆง ( ๐‘ก โˆˆ โ„• โˆง ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) ) โ†’ ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) โ‰ค ( ๐‘† โ€˜ ๐ด ) )