Metamath Proof Explorer


Theorem eulerpartlemgs2

Description: Lemma for eulerpart : The G function also preserves partition sums. (Contributed by Thierry Arnoux, 10-Sep-2017)

Ref Expression
Hypotheses eulerpart.p โŠข ๐‘ƒ = { ๐‘“ โˆˆ ( โ„•0 โ†‘m โ„• ) โˆฃ ( ( โ—ก ๐‘“ โ€œ โ„• ) โˆˆ Fin โˆง ฮฃ ๐‘˜ โˆˆ โ„• ( ( ๐‘“ โ€˜ ๐‘˜ ) ยท ๐‘˜ ) = ๐‘ ) }
eulerpart.o โŠข ๐‘‚ = { ๐‘” โˆˆ ๐‘ƒ โˆฃ โˆ€ ๐‘› โˆˆ ( โ—ก ๐‘” โ€œ โ„• ) ยฌ 2 โˆฅ ๐‘› }
eulerpart.d โŠข ๐ท = { ๐‘” โˆˆ ๐‘ƒ โˆฃ โˆ€ ๐‘› โˆˆ โ„• ( ๐‘” โ€˜ ๐‘› ) โ‰ค 1 }
eulerpart.j โŠข ๐ฝ = { ๐‘ง โˆˆ โ„• โˆฃ ยฌ 2 โˆฅ ๐‘ง }
eulerpart.f โŠข ๐น = ( ๐‘ฅ โˆˆ ๐ฝ , ๐‘ฆ โˆˆ โ„•0 โ†ฆ ( ( 2 โ†‘ ๐‘ฆ ) ยท ๐‘ฅ ) )
eulerpart.h โŠข ๐ป = { ๐‘Ÿ โˆˆ ( ( ๐’ซ โ„•0 โˆฉ Fin ) โ†‘m ๐ฝ ) โˆฃ ( ๐‘Ÿ supp โˆ… ) โˆˆ Fin }
eulerpart.m โŠข ๐‘€ = ( ๐‘Ÿ โˆˆ ๐ป โ†ฆ { โŸจ ๐‘ฅ , ๐‘ฆ โŸฉ โˆฃ ( ๐‘ฅ โˆˆ ๐ฝ โˆง ๐‘ฆ โˆˆ ( ๐‘Ÿ โ€˜ ๐‘ฅ ) ) } )
eulerpart.r โŠข ๐‘… = { ๐‘“ โˆฃ ( โ—ก ๐‘“ โ€œ โ„• ) โˆˆ Fin }
eulerpart.t โŠข ๐‘‡ = { ๐‘“ โˆˆ ( โ„•0 โ†‘m โ„• ) โˆฃ ( โ—ก ๐‘“ โ€œ โ„• ) โŠ† ๐ฝ }
eulerpart.g โŠข ๐บ = ( ๐‘œ โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†ฆ ( ( ๐Ÿญ โ€˜ โ„• ) โ€˜ ( ๐น โ€œ ( ๐‘€ โ€˜ ( bits โˆ˜ ( ๐‘œ โ†พ ๐ฝ ) ) ) ) ) )
eulerpart.s โŠข ๐‘† = ( ๐‘“ โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โ†ฆ ฮฃ ๐‘˜ โˆˆ โ„• ( ( ๐‘“ โ€˜ ๐‘˜ ) ยท ๐‘˜ ) )
Assertion eulerpartlemgs2 ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ ( ๐‘† โ€˜ ( ๐บ โ€˜ ๐ด ) ) = ( ๐‘† โ€˜ ๐ด ) )

Proof

Step Hyp Ref Expression
1 eulerpart.p โŠข ๐‘ƒ = { ๐‘“ โˆˆ ( โ„•0 โ†‘m โ„• ) โˆฃ ( ( โ—ก ๐‘“ โ€œ โ„• ) โˆˆ Fin โˆง ฮฃ ๐‘˜ โˆˆ โ„• ( ( ๐‘“ โ€˜ ๐‘˜ ) ยท ๐‘˜ ) = ๐‘ ) }
2 eulerpart.o โŠข ๐‘‚ = { ๐‘” โˆˆ ๐‘ƒ โˆฃ โˆ€ ๐‘› โˆˆ ( โ—ก ๐‘” โ€œ โ„• ) ยฌ 2 โˆฅ ๐‘› }
3 eulerpart.d โŠข ๐ท = { ๐‘” โˆˆ ๐‘ƒ โˆฃ โˆ€ ๐‘› โˆˆ โ„• ( ๐‘” โ€˜ ๐‘› ) โ‰ค 1 }
4 eulerpart.j โŠข ๐ฝ = { ๐‘ง โˆˆ โ„• โˆฃ ยฌ 2 โˆฅ ๐‘ง }
5 eulerpart.f โŠข ๐น = ( ๐‘ฅ โˆˆ ๐ฝ , ๐‘ฆ โˆˆ โ„•0 โ†ฆ ( ( 2 โ†‘ ๐‘ฆ ) ยท ๐‘ฅ ) )
6 eulerpart.h โŠข ๐ป = { ๐‘Ÿ โˆˆ ( ( ๐’ซ โ„•0 โˆฉ Fin ) โ†‘m ๐ฝ ) โˆฃ ( ๐‘Ÿ supp โˆ… ) โˆˆ Fin }
7 eulerpart.m โŠข ๐‘€ = ( ๐‘Ÿ โˆˆ ๐ป โ†ฆ { โŸจ ๐‘ฅ , ๐‘ฆ โŸฉ โˆฃ ( ๐‘ฅ โˆˆ ๐ฝ โˆง ๐‘ฆ โˆˆ ( ๐‘Ÿ โ€˜ ๐‘ฅ ) ) } )
8 eulerpart.r โŠข ๐‘… = { ๐‘“ โˆฃ ( โ—ก ๐‘“ โ€œ โ„• ) โˆˆ Fin }
9 eulerpart.t โŠข ๐‘‡ = { ๐‘“ โˆˆ ( โ„•0 โ†‘m โ„• ) โˆฃ ( โ—ก ๐‘“ โ€œ โ„• ) โŠ† ๐ฝ }
10 eulerpart.g โŠข ๐บ = ( ๐‘œ โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†ฆ ( ( ๐Ÿญ โ€˜ โ„• ) โ€˜ ( ๐น โ€œ ( ๐‘€ โ€˜ ( bits โˆ˜ ( ๐‘œ โ†พ ๐ฝ ) ) ) ) ) )
11 eulerpart.s โŠข ๐‘† = ( ๐‘“ โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โ†ฆ ฮฃ ๐‘˜ โˆˆ โ„• ( ( ๐‘“ โ€˜ ๐‘˜ ) ยท ๐‘˜ ) )
12 cnvimass โŠข ( โ—ก ( ๐บ โ€˜ ๐ด ) โ€œ โ„• ) โŠ† dom ( ๐บ โ€˜ ๐ด )
13 1 2 3 4 5 6 7 8 9 10 eulerpartgbij โŠข ๐บ : ( ๐‘‡ โˆฉ ๐‘… ) โ€“1-1-ontoโ†’ ( ( { 0 , 1 } โ†‘m โ„• ) โˆฉ ๐‘… )
14 f1of โŠข ( ๐บ : ( ๐‘‡ โˆฉ ๐‘… ) โ€“1-1-ontoโ†’ ( ( { 0 , 1 } โ†‘m โ„• ) โˆฉ ๐‘… ) โ†’ ๐บ : ( ๐‘‡ โˆฉ ๐‘… ) โŸถ ( ( { 0 , 1 } โ†‘m โ„• ) โˆฉ ๐‘… ) )
15 13 14 ax-mp โŠข ๐บ : ( ๐‘‡ โˆฉ ๐‘… ) โŸถ ( ( { 0 , 1 } โ†‘m โ„• ) โˆฉ ๐‘… )
16 15 ffvelcdmi โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ ( ๐บ โ€˜ ๐ด ) โˆˆ ( ( { 0 , 1 } โ†‘m โ„• ) โˆฉ ๐‘… ) )
17 elin โŠข ( ( ๐บ โ€˜ ๐ด ) โˆˆ ( ( { 0 , 1 } โ†‘m โ„• ) โˆฉ ๐‘… ) โ†” ( ( ๐บ โ€˜ ๐ด ) โˆˆ ( { 0 , 1 } โ†‘m โ„• ) โˆง ( ๐บ โ€˜ ๐ด ) โˆˆ ๐‘… ) )
18 16 17 sylib โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ ( ( ๐บ โ€˜ ๐ด ) โˆˆ ( { 0 , 1 } โ†‘m โ„• ) โˆง ( ๐บ โ€˜ ๐ด ) โˆˆ ๐‘… ) )
19 18 simpld โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ ( ๐บ โ€˜ ๐ด ) โˆˆ ( { 0 , 1 } โ†‘m โ„• ) )
20 elmapi โŠข ( ( ๐บ โ€˜ ๐ด ) โˆˆ ( { 0 , 1 } โ†‘m โ„• ) โ†’ ( ๐บ โ€˜ ๐ด ) : โ„• โŸถ { 0 , 1 } )
21 fdm โŠข ( ( ๐บ โ€˜ ๐ด ) : โ„• โŸถ { 0 , 1 } โ†’ dom ( ๐บ โ€˜ ๐ด ) = โ„• )
22 19 20 21 3syl โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ dom ( ๐บ โ€˜ ๐ด ) = โ„• )
23 12 22 sseqtrid โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ ( โ—ก ( ๐บ โ€˜ ๐ด ) โ€œ โ„• ) โŠ† โ„• )
24 23 sselda โŠข ( ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โˆง ๐‘˜ โˆˆ ( โ—ก ( ๐บ โ€˜ ๐ด ) โ€œ โ„• ) ) โ†’ ๐‘˜ โˆˆ โ„• )
25 1 2 3 4 5 6 7 8 9 10 eulerpartlemgvv โŠข ( ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โˆง ๐‘˜ โˆˆ โ„• ) โ†’ ( ( ๐บ โ€˜ ๐ด ) โ€˜ ๐‘˜ ) = if ( โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘˜ , 1 , 0 ) )
26 25 oveq1d โŠข ( ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โˆง ๐‘˜ โˆˆ โ„• ) โ†’ ( ( ( ๐บ โ€˜ ๐ด ) โ€˜ ๐‘˜ ) ยท ๐‘˜ ) = ( if ( โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘˜ , 1 , 0 ) ยท ๐‘˜ ) )
27 24 26 syldan โŠข ( ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โˆง ๐‘˜ โˆˆ ( โ—ก ( ๐บ โ€˜ ๐ด ) โ€œ โ„• ) ) โ†’ ( ( ( ๐บ โ€˜ ๐ด ) โ€˜ ๐‘˜ ) ยท ๐‘˜ ) = ( if ( โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘˜ , 1 , 0 ) ยท ๐‘˜ ) )
28 27 sumeq2dv โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ ฮฃ ๐‘˜ โˆˆ ( โ—ก ( ๐บ โ€˜ ๐ด ) โ€œ โ„• ) ( ( ( ๐บ โ€˜ ๐ด ) โ€˜ ๐‘˜ ) ยท ๐‘˜ ) = ฮฃ ๐‘˜ โˆˆ ( โ—ก ( ๐บ โ€˜ ๐ด ) โ€œ โ„• ) ( if ( โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘˜ , 1 , 0 ) ยท ๐‘˜ ) )
29 eqeq2 โŠข ( ๐‘š = ๐‘˜ โ†’ ( ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘š โ†” ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘˜ ) )
30 29 2rexbidv โŠข ( ๐‘š = ๐‘˜ โ†’ ( โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘š โ†” โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘˜ ) )
31 30 elrab โŠข ( ๐‘˜ โˆˆ { ๐‘š โˆˆ โ„• โˆฃ โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘š } โ†” ( ๐‘˜ โˆˆ โ„• โˆง โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘˜ ) )
32 31 simprbi โŠข ( ๐‘˜ โˆˆ { ๐‘š โˆˆ โ„• โˆฃ โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘š } โ†’ โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘˜ )
33 32 iftrued โŠข ( ๐‘˜ โˆˆ { ๐‘š โˆˆ โ„• โˆฃ โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘š } โ†’ if ( โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘˜ , 1 , 0 ) = 1 )
34 33 oveq1d โŠข ( ๐‘˜ โˆˆ { ๐‘š โˆˆ โ„• โˆฃ โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘š } โ†’ ( if ( โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘˜ , 1 , 0 ) ยท ๐‘˜ ) = ( 1 ยท ๐‘˜ ) )
35 elrabi โŠข ( ๐‘˜ โˆˆ { ๐‘š โˆˆ โ„• โˆฃ โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘š } โ†’ ๐‘˜ โˆˆ โ„• )
36 35 nncnd โŠข ( ๐‘˜ โˆˆ { ๐‘š โˆˆ โ„• โˆฃ โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘š } โ†’ ๐‘˜ โˆˆ โ„‚ )
37 36 mullidd โŠข ( ๐‘˜ โˆˆ { ๐‘š โˆˆ โ„• โˆฃ โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘š } โ†’ ( 1 ยท ๐‘˜ ) = ๐‘˜ )
38 34 37 eqtrd โŠข ( ๐‘˜ โˆˆ { ๐‘š โˆˆ โ„• โˆฃ โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘š } โ†’ ( if ( โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘˜ , 1 , 0 ) ยท ๐‘˜ ) = ๐‘˜ )
39 38 sumeq2i โŠข ฮฃ ๐‘˜ โˆˆ { ๐‘š โˆˆ โ„• โˆฃ โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘š } ( if ( โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘˜ , 1 , 0 ) ยท ๐‘˜ ) = ฮฃ ๐‘˜ โˆˆ { ๐‘š โˆˆ โ„• โˆฃ โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘š } ๐‘˜
40 id โŠข ( ๐‘˜ = ( ( 2 โ†‘ ( 2nd โ€˜ ๐‘ค ) ) ยท ( 1st โ€˜ ๐‘ค ) ) โ†’ ๐‘˜ = ( ( 2 โ†‘ ( 2nd โ€˜ ๐‘ค ) ) ยท ( 1st โ€˜ ๐‘ค ) ) )
41 1 2 3 4 5 6 7 8 9 10 eulerpartlemgf โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ ( โ—ก ( ๐บ โ€˜ ๐ด ) โ€œ โ„• ) โˆˆ Fin )
42 35 adantl โŠข ( ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โˆง ๐‘˜ โˆˆ { ๐‘š โˆˆ โ„• โˆฃ โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘š } ) โ†’ ๐‘˜ โˆˆ โ„• )
43 42 25 syldan โŠข ( ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โˆง ๐‘˜ โˆˆ { ๐‘š โˆˆ โ„• โˆฃ โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘š } ) โ†’ ( ( ๐บ โ€˜ ๐ด ) โ€˜ ๐‘˜ ) = if ( โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘˜ , 1 , 0 ) )
44 32 adantl โŠข ( ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โˆง ๐‘˜ โˆˆ { ๐‘š โˆˆ โ„• โˆฃ โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘š } ) โ†’ โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘˜ )
45 44 iftrued โŠข ( ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โˆง ๐‘˜ โˆˆ { ๐‘š โˆˆ โ„• โˆฃ โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘š } ) โ†’ if ( โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘˜ , 1 , 0 ) = 1 )
46 43 45 eqtrd โŠข ( ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โˆง ๐‘˜ โˆˆ { ๐‘š โˆˆ โ„• โˆฃ โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘š } ) โ†’ ( ( ๐บ โ€˜ ๐ด ) โ€˜ ๐‘˜ ) = 1 )
47 1nn โŠข 1 โˆˆ โ„•
48 46 47 eqeltrdi โŠข ( ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โˆง ๐‘˜ โˆˆ { ๐‘š โˆˆ โ„• โˆฃ โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘š } ) โ†’ ( ( ๐บ โ€˜ ๐ด ) โ€˜ ๐‘˜ ) โˆˆ โ„• )
49 19 20 syl โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ ( ๐บ โ€˜ ๐ด ) : โ„• โŸถ { 0 , 1 } )
50 ffn โŠข ( ( ๐บ โ€˜ ๐ด ) : โ„• โŸถ { 0 , 1 } โ†’ ( ๐บ โ€˜ ๐ด ) Fn โ„• )
51 elpreima โŠข ( ( ๐บ โ€˜ ๐ด ) Fn โ„• โ†’ ( ๐‘˜ โˆˆ ( โ—ก ( ๐บ โ€˜ ๐ด ) โ€œ โ„• ) โ†” ( ๐‘˜ โˆˆ โ„• โˆง ( ( ๐บ โ€˜ ๐ด ) โ€˜ ๐‘˜ ) โˆˆ โ„• ) ) )
52 49 50 51 3syl โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ ( ๐‘˜ โˆˆ ( โ—ก ( ๐บ โ€˜ ๐ด ) โ€œ โ„• ) โ†” ( ๐‘˜ โˆˆ โ„• โˆง ( ( ๐บ โ€˜ ๐ด ) โ€˜ ๐‘˜ ) โˆˆ โ„• ) ) )
53 52 adantr โŠข ( ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โˆง ๐‘˜ โˆˆ { ๐‘š โˆˆ โ„• โˆฃ โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘š } ) โ†’ ( ๐‘˜ โˆˆ ( โ—ก ( ๐บ โ€˜ ๐ด ) โ€œ โ„• ) โ†” ( ๐‘˜ โˆˆ โ„• โˆง ( ( ๐บ โ€˜ ๐ด ) โ€˜ ๐‘˜ ) โˆˆ โ„• ) ) )
54 42 48 53 mpbir2and โŠข ( ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โˆง ๐‘˜ โˆˆ { ๐‘š โˆˆ โ„• โˆฃ โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘š } ) โ†’ ๐‘˜ โˆˆ ( โ—ก ( ๐บ โ€˜ ๐ด ) โ€œ โ„• ) )
55 54 ex โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ ( ๐‘˜ โˆˆ { ๐‘š โˆˆ โ„• โˆฃ โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘š } โ†’ ๐‘˜ โˆˆ ( โ—ก ( ๐บ โ€˜ ๐ด ) โ€œ โ„• ) ) )
56 55 ssrdv โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ { ๐‘š โˆˆ โ„• โˆฃ โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘š } โŠ† ( โ—ก ( ๐บ โ€˜ ๐ด ) โ€œ โ„• ) )
57 ssfi โŠข ( ( ( โ—ก ( ๐บ โ€˜ ๐ด ) โ€œ โ„• ) โˆˆ Fin โˆง { ๐‘š โˆˆ โ„• โˆฃ โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘š } โŠ† ( โ—ก ( ๐บ โ€˜ ๐ด ) โ€œ โ„• ) ) โ†’ { ๐‘š โˆˆ โ„• โˆฃ โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘š } โˆˆ Fin )
58 41 56 57 syl2anc โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ { ๐‘š โˆˆ โ„• โˆฃ โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘š } โˆˆ Fin )
59 cnvexg โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ โ—ก ๐ด โˆˆ V )
60 imaexg โŠข ( โ—ก ๐ด โˆˆ V โ†’ ( โ—ก ๐ด โ€œ โ„• ) โˆˆ V )
61 inex1g โŠข ( ( โ—ก ๐ด โ€œ โ„• ) โˆˆ V โ†’ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) โˆˆ V )
62 59 60 61 3syl โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) โˆˆ V )
63 vsnex โŠข { ๐‘ก } โˆˆ V
64 fvex โŠข ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) โˆˆ V
65 63 64 xpex โŠข ( { ๐‘ก } ร— ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) โˆˆ V
66 65 rgenw โŠข โˆ€ ๐‘ก โˆˆ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) ( { ๐‘ก } ร— ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) โˆˆ V
67 iunexg โŠข ( ( ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) โˆˆ V โˆง โˆ€ ๐‘ก โˆˆ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) ( { ๐‘ก } ร— ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) โˆˆ V ) โ†’ โˆช ๐‘ก โˆˆ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) ( { ๐‘ก } ร— ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) โˆˆ V )
68 62 66 67 sylancl โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ โˆช ๐‘ก โˆˆ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) ( { ๐‘ก } ร— ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) โˆˆ V )
69 eqid โŠข โˆช ๐‘ก โˆˆ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) ( { ๐‘ก } ร— ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) = โˆช ๐‘ก โˆˆ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) ( { ๐‘ก } ร— ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) )
70 1 2 3 4 5 6 7 8 9 10 69 eulerpartlemgh โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ ( ๐น โ†พ โˆช ๐‘ก โˆˆ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) ( { ๐‘ก } ร— ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) ) : โˆช ๐‘ก โˆˆ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) ( { ๐‘ก } ร— ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) โ€“1-1-ontoโ†’ { ๐‘š โˆˆ โ„• โˆฃ โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘š } )
71 f1oeng โŠข ( ( โˆช ๐‘ก โˆˆ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) ( { ๐‘ก } ร— ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) โˆˆ V โˆง ( ๐น โ†พ โˆช ๐‘ก โˆˆ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) ( { ๐‘ก } ร— ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) ) : โˆช ๐‘ก โˆˆ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) ( { ๐‘ก } ร— ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) โ€“1-1-ontoโ†’ { ๐‘š โˆˆ โ„• โˆฃ โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘š } ) โ†’ โˆช ๐‘ก โˆˆ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) ( { ๐‘ก } ร— ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) โ‰ˆ { ๐‘š โˆˆ โ„• โˆฃ โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘š } )
72 68 70 71 syl2anc โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ โˆช ๐‘ก โˆˆ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) ( { ๐‘ก } ร— ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) โ‰ˆ { ๐‘š โˆˆ โ„• โˆฃ โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘š } )
73 enfii โŠข ( ( { ๐‘š โˆˆ โ„• โˆฃ โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘š } โˆˆ Fin โˆง โˆช ๐‘ก โˆˆ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) ( { ๐‘ก } ร— ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) โ‰ˆ { ๐‘š โˆˆ โ„• โˆฃ โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘š } ) โ†’ โˆช ๐‘ก โˆˆ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) ( { ๐‘ก } ร— ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) โˆˆ Fin )
74 58 72 73 syl2anc โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ โˆช ๐‘ก โˆˆ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) ( { ๐‘ก } ร— ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) โˆˆ Fin )
75 fvres โŠข ( ๐‘ค โˆˆ โˆช ๐‘ก โˆˆ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) ( { ๐‘ก } ร— ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) โ†’ ( ( ๐น โ†พ โˆช ๐‘ก โˆˆ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) ( { ๐‘ก } ร— ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) ) โ€˜ ๐‘ค ) = ( ๐น โ€˜ ๐‘ค ) )
76 75 adantl โŠข ( ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โˆง ๐‘ค โˆˆ โˆช ๐‘ก โˆˆ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) ( { ๐‘ก } ร— ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) ) โ†’ ( ( ๐น โ†พ โˆช ๐‘ก โˆˆ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) ( { ๐‘ก } ร— ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) ) โ€˜ ๐‘ค ) = ( ๐น โ€˜ ๐‘ค ) )
77 inss2 โŠข ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) โŠ† ๐ฝ
78 simpr โŠข ( ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โˆง ๐‘ก โˆˆ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) ) โ†’ ๐‘ก โˆˆ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) )
79 77 78 sselid โŠข ( ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โˆง ๐‘ก โˆˆ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) ) โ†’ ๐‘ก โˆˆ ๐ฝ )
80 79 snssd โŠข ( ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โˆง ๐‘ก โˆˆ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) ) โ†’ { ๐‘ก } โŠ† ๐ฝ )
81 bitsss โŠข ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) โŠ† โ„•0
82 xpss12 โŠข ( ( { ๐‘ก } โŠ† ๐ฝ โˆง ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) โŠ† โ„•0 ) โ†’ ( { ๐‘ก } ร— ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) โŠ† ( ๐ฝ ร— โ„•0 ) )
83 80 81 82 sylancl โŠข ( ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โˆง ๐‘ก โˆˆ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) ) โ†’ ( { ๐‘ก } ร— ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) โŠ† ( ๐ฝ ร— โ„•0 ) )
84 83 ralrimiva โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ โˆ€ ๐‘ก โˆˆ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) ( { ๐‘ก } ร— ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) โŠ† ( ๐ฝ ร— โ„•0 ) )
85 iunss โŠข ( โˆช ๐‘ก โˆˆ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) ( { ๐‘ก } ร— ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) โŠ† ( ๐ฝ ร— โ„•0 ) โ†” โˆ€ ๐‘ก โˆˆ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) ( { ๐‘ก } ร— ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) โŠ† ( ๐ฝ ร— โ„•0 ) )
86 84 85 sylibr โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ โˆช ๐‘ก โˆˆ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) ( { ๐‘ก } ร— ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) โŠ† ( ๐ฝ ร— โ„•0 ) )
87 86 sselda โŠข ( ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โˆง ๐‘ค โˆˆ โˆช ๐‘ก โˆˆ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) ( { ๐‘ก } ร— ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) ) โ†’ ๐‘ค โˆˆ ( ๐ฝ ร— โ„•0 ) )
88 4 5 oddpwdcv โŠข ( ๐‘ค โˆˆ ( ๐ฝ ร— โ„•0 ) โ†’ ( ๐น โ€˜ ๐‘ค ) = ( ( 2 โ†‘ ( 2nd โ€˜ ๐‘ค ) ) ยท ( 1st โ€˜ ๐‘ค ) ) )
89 87 88 syl โŠข ( ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โˆง ๐‘ค โˆˆ โˆช ๐‘ก โˆˆ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) ( { ๐‘ก } ร— ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) ) โ†’ ( ๐น โ€˜ ๐‘ค ) = ( ( 2 โ†‘ ( 2nd โ€˜ ๐‘ค ) ) ยท ( 1st โ€˜ ๐‘ค ) ) )
90 76 89 eqtrd โŠข ( ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โˆง ๐‘ค โˆˆ โˆช ๐‘ก โˆˆ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) ( { ๐‘ก } ร— ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) ) โ†’ ( ( ๐น โ†พ โˆช ๐‘ก โˆˆ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) ( { ๐‘ก } ร— ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) ) โ€˜ ๐‘ค ) = ( ( 2 โ†‘ ( 2nd โ€˜ ๐‘ค ) ) ยท ( 1st โ€˜ ๐‘ค ) ) )
91 42 nncnd โŠข ( ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โˆง ๐‘˜ โˆˆ { ๐‘š โˆˆ โ„• โˆฃ โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘š } ) โ†’ ๐‘˜ โˆˆ โ„‚ )
92 40 74 70 90 91 fsumf1o โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ ฮฃ ๐‘˜ โˆˆ { ๐‘š โˆˆ โ„• โˆฃ โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘š } ๐‘˜ = ฮฃ ๐‘ค โˆˆ โˆช ๐‘ก โˆˆ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) ( { ๐‘ก } ร— ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) ( ( 2 โ†‘ ( 2nd โ€˜ ๐‘ค ) ) ยท ( 1st โ€˜ ๐‘ค ) ) )
93 39 92 eqtrid โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ ฮฃ ๐‘˜ โˆˆ { ๐‘š โˆˆ โ„• โˆฃ โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘š } ( if ( โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘˜ , 1 , 0 ) ยท ๐‘˜ ) = ฮฃ ๐‘ค โˆˆ โˆช ๐‘ก โˆˆ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) ( { ๐‘ก } ร— ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) ( ( 2 โ†‘ ( 2nd โ€˜ ๐‘ค ) ) ยท ( 1st โ€˜ ๐‘ค ) ) )
94 ax-1cn โŠข 1 โˆˆ โ„‚
95 0cn โŠข 0 โˆˆ โ„‚
96 94 95 ifcli โŠข if ( โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘˜ , 1 , 0 ) โˆˆ โ„‚
97 96 a1i โŠข ( ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โˆง ๐‘˜ โˆˆ { ๐‘š โˆˆ โ„• โˆฃ โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘š } ) โ†’ if ( โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘˜ , 1 , 0 ) โˆˆ โ„‚ )
98 ssrab2 โŠข { ๐‘š โˆˆ โ„• โˆฃ โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘š } โŠ† โ„•
99 simpr โŠข ( ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โˆง ๐‘˜ โˆˆ { ๐‘š โˆˆ โ„• โˆฃ โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘š } ) โ†’ ๐‘˜ โˆˆ { ๐‘š โˆˆ โ„• โˆฃ โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘š } )
100 98 99 sselid โŠข ( ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โˆง ๐‘˜ โˆˆ { ๐‘š โˆˆ โ„• โˆฃ โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘š } ) โ†’ ๐‘˜ โˆˆ โ„• )
101 100 nncnd โŠข ( ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โˆง ๐‘˜ โˆˆ { ๐‘š โˆˆ โ„• โˆฃ โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘š } ) โ†’ ๐‘˜ โˆˆ โ„‚ )
102 97 101 mulcld โŠข ( ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โˆง ๐‘˜ โˆˆ { ๐‘š โˆˆ โ„• โˆฃ โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘š } ) โ†’ ( if ( โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘˜ , 1 , 0 ) ยท ๐‘˜ ) โˆˆ โ„‚ )
103 simpr โŠข ( ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โˆง ๐‘˜ โˆˆ ( ( โ—ก ( ๐บ โ€˜ ๐ด ) โ€œ โ„• ) โˆ– { ๐‘š โˆˆ โ„• โˆฃ โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘š } ) ) โ†’ ๐‘˜ โˆˆ ( ( โ—ก ( ๐บ โ€˜ ๐ด ) โ€œ โ„• ) โˆ– { ๐‘š โˆˆ โ„• โˆฃ โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘š } ) )
104 103 eldifbd โŠข ( ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โˆง ๐‘˜ โˆˆ ( ( โ—ก ( ๐บ โ€˜ ๐ด ) โ€œ โ„• ) โˆ– { ๐‘š โˆˆ โ„• โˆฃ โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘š } ) ) โ†’ ยฌ ๐‘˜ โˆˆ { ๐‘š โˆˆ โ„• โˆฃ โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘š } )
105 23 ssdifssd โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ ( ( โ—ก ( ๐บ โ€˜ ๐ด ) โ€œ โ„• ) โˆ– { ๐‘š โˆˆ โ„• โˆฃ โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘š } ) โŠ† โ„• )
106 105 sselda โŠข ( ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โˆง ๐‘˜ โˆˆ ( ( โ—ก ( ๐บ โ€˜ ๐ด ) โ€œ โ„• ) โˆ– { ๐‘š โˆˆ โ„• โˆฃ โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘š } ) ) โ†’ ๐‘˜ โˆˆ โ„• )
107 31 notbii โŠข ( ยฌ ๐‘˜ โˆˆ { ๐‘š โˆˆ โ„• โˆฃ โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘š } โ†” ยฌ ( ๐‘˜ โˆˆ โ„• โˆง โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘˜ ) )
108 imnan โŠข ( ( ๐‘˜ โˆˆ โ„• โ†’ ยฌ โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘˜ ) โ†” ยฌ ( ๐‘˜ โˆˆ โ„• โˆง โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘˜ ) )
109 107 108 sylbb2 โŠข ( ยฌ ๐‘˜ โˆˆ { ๐‘š โˆˆ โ„• โˆฃ โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘š } โ†’ ( ๐‘˜ โˆˆ โ„• โ†’ ยฌ โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘˜ ) )
110 104 106 109 sylc โŠข ( ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โˆง ๐‘˜ โˆˆ ( ( โ—ก ( ๐บ โ€˜ ๐ด ) โ€œ โ„• ) โˆ– { ๐‘š โˆˆ โ„• โˆฃ โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘š } ) ) โ†’ ยฌ โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘˜ )
111 110 iffalsed โŠข ( ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โˆง ๐‘˜ โˆˆ ( ( โ—ก ( ๐บ โ€˜ ๐ด ) โ€œ โ„• ) โˆ– { ๐‘š โˆˆ โ„• โˆฃ โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘š } ) ) โ†’ if ( โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘˜ , 1 , 0 ) = 0 )
112 111 oveq1d โŠข ( ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โˆง ๐‘˜ โˆˆ ( ( โ—ก ( ๐บ โ€˜ ๐ด ) โ€œ โ„• ) โˆ– { ๐‘š โˆˆ โ„• โˆฃ โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘š } ) ) โ†’ ( if ( โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘˜ , 1 , 0 ) ยท ๐‘˜ ) = ( 0 ยท ๐‘˜ ) )
113 nnsscn โŠข โ„• โŠ† โ„‚
114 105 113 sstrdi โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ ( ( โ—ก ( ๐บ โ€˜ ๐ด ) โ€œ โ„• ) โˆ– { ๐‘š โˆˆ โ„• โˆฃ โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘š } ) โŠ† โ„‚ )
115 114 sselda โŠข ( ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โˆง ๐‘˜ โˆˆ ( ( โ—ก ( ๐บ โ€˜ ๐ด ) โ€œ โ„• ) โˆ– { ๐‘š โˆˆ โ„• โˆฃ โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘š } ) ) โ†’ ๐‘˜ โˆˆ โ„‚ )
116 115 mul02d โŠข ( ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โˆง ๐‘˜ โˆˆ ( ( โ—ก ( ๐บ โ€˜ ๐ด ) โ€œ โ„• ) โˆ– { ๐‘š โˆˆ โ„• โˆฃ โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘š } ) ) โ†’ ( 0 ยท ๐‘˜ ) = 0 )
117 112 116 eqtrd โŠข ( ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โˆง ๐‘˜ โˆˆ ( ( โ—ก ( ๐บ โ€˜ ๐ด ) โ€œ โ„• ) โˆ– { ๐‘š โˆˆ โ„• โˆฃ โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘š } ) ) โ†’ ( if ( โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘˜ , 1 , 0 ) ยท ๐‘˜ ) = 0 )
118 56 102 117 41 fsumss โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ ฮฃ ๐‘˜ โˆˆ { ๐‘š โˆˆ โ„• โˆฃ โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘š } ( if ( โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘˜ , 1 , 0 ) ยท ๐‘˜ ) = ฮฃ ๐‘˜ โˆˆ ( โ—ก ( ๐บ โ€˜ ๐ด ) โ€œ โ„• ) ( if ( โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘˜ , 1 , 0 ) ยท ๐‘˜ ) )
119 93 118 eqtr3d โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ ฮฃ ๐‘ค โˆˆ โˆช ๐‘ก โˆˆ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) ( { ๐‘ก } ร— ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) ( ( 2 โ†‘ ( 2nd โ€˜ ๐‘ค ) ) ยท ( 1st โ€˜ ๐‘ค ) ) = ฮฃ ๐‘˜ โˆˆ ( โ—ก ( ๐บ โ€˜ ๐ด ) โ€œ โ„• ) ( if ( โˆƒ ๐‘ก โˆˆ โ„• โˆƒ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ๐‘˜ , 1 , 0 ) ยท ๐‘˜ ) )
120 1 2 3 4 5 6 7 8 9 eulerpartlemt0 โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†” ( ๐ด โˆˆ ( โ„•0 โ†‘m โ„• ) โˆง ( โ—ก ๐ด โ€œ โ„• ) โˆˆ Fin โˆง ( โ—ก ๐ด โ€œ โ„• ) โŠ† ๐ฝ ) )
121 120 simp1bi โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ ๐ด โˆˆ ( โ„•0 โ†‘m โ„• ) )
122 elmapi โŠข ( ๐ด โˆˆ ( โ„•0 โ†‘m โ„• ) โ†’ ๐ด : โ„• โŸถ โ„•0 )
123 121 122 syl โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ ๐ด : โ„• โŸถ โ„•0 )
124 123 adantr โŠข ( ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โˆง ๐‘ก โˆˆ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) ) โ†’ ๐ด : โ„• โŸถ โ„•0 )
125 cnvimass โŠข ( โ—ก ๐ด โ€œ โ„• ) โŠ† dom ๐ด
126 125 123 fssdm โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ ( โ—ก ๐ด โ€œ โ„• ) โŠ† โ„• )
127 126 adantr โŠข ( ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โˆง ๐‘ก โˆˆ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) ) โ†’ ( โ—ก ๐ด โ€œ โ„• ) โŠ† โ„• )
128 inss1 โŠข ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) โŠ† ( โ—ก ๐ด โ€œ โ„• )
129 128 78 sselid โŠข ( ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โˆง ๐‘ก โˆˆ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) ) โ†’ ๐‘ก โˆˆ ( โ—ก ๐ด โ€œ โ„• ) )
130 127 129 sseldd โŠข ( ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โˆง ๐‘ก โˆˆ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) ) โ†’ ๐‘ก โˆˆ โ„• )
131 124 130 ffvelcdmd โŠข ( ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โˆง ๐‘ก โˆˆ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) ) โ†’ ( ๐ด โ€˜ ๐‘ก ) โˆˆ โ„•0 )
132 bitsfi โŠข ( ( ๐ด โ€˜ ๐‘ก ) โˆˆ โ„•0 โ†’ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) โˆˆ Fin )
133 131 132 syl โŠข ( ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โˆง ๐‘ก โˆˆ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) ) โ†’ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) โˆˆ Fin )
134 130 nncnd โŠข ( ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โˆง ๐‘ก โˆˆ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) ) โ†’ ๐‘ก โˆˆ โ„‚ )
135 2cnd โŠข ( ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โˆง ( ๐‘ก โˆˆ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) โˆง ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) ) โ†’ 2 โˆˆ โ„‚ )
136 simprr โŠข ( ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โˆง ( ๐‘ก โˆˆ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) โˆง ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) ) โ†’ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) )
137 81 136 sselid โŠข ( ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โˆง ( ๐‘ก โˆˆ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) โˆง ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) ) โ†’ ๐‘› โˆˆ โ„•0 )
138 135 137 expcld โŠข ( ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โˆง ( ๐‘ก โˆˆ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) โˆง ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) ) โ†’ ( 2 โ†‘ ๐‘› ) โˆˆ โ„‚ )
139 138 anassrs โŠข ( ( ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โˆง ๐‘ก โˆˆ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) ) โˆง ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) โ†’ ( 2 โ†‘ ๐‘› ) โˆˆ โ„‚ )
140 133 134 139 fsummulc1 โŠข ( ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โˆง ๐‘ก โˆˆ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) ) โ†’ ( ฮฃ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ฮฃ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) )
141 140 sumeq2dv โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ ฮฃ ๐‘ก โˆˆ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) ( ฮฃ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ฮฃ ๐‘ก โˆˆ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) ฮฃ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) )
142 bitsinv1 โŠข ( ( ๐ด โ€˜ ๐‘ก ) โˆˆ โ„•0 โ†’ ฮฃ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( 2 โ†‘ ๐‘› ) = ( ๐ด โ€˜ ๐‘ก ) )
143 142 oveq1d โŠข ( ( ๐ด โ€˜ ๐‘ก ) โˆˆ โ„•0 โ†’ ( ฮฃ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ( ( ๐ด โ€˜ ๐‘ก ) ยท ๐‘ก ) )
144 131 143 syl โŠข ( ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โˆง ๐‘ก โˆˆ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) ) โ†’ ( ฮฃ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ( ( ๐ด โ€˜ ๐‘ก ) ยท ๐‘ก ) )
145 144 sumeq2dv โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ ฮฃ ๐‘ก โˆˆ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) ( ฮฃ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ฮฃ ๐‘ก โˆˆ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) ( ( ๐ด โ€˜ ๐‘ก ) ยท ๐‘ก ) )
146 vex โŠข ๐‘ก โˆˆ V
147 vex โŠข ๐‘› โˆˆ V
148 146 147 op2ndd โŠข ( ๐‘ค = โŸจ ๐‘ก , ๐‘› โŸฉ โ†’ ( 2nd โ€˜ ๐‘ค ) = ๐‘› )
149 148 oveq2d โŠข ( ๐‘ค = โŸจ ๐‘ก , ๐‘› โŸฉ โ†’ ( 2 โ†‘ ( 2nd โ€˜ ๐‘ค ) ) = ( 2 โ†‘ ๐‘› ) )
150 146 147 op1std โŠข ( ๐‘ค = โŸจ ๐‘ก , ๐‘› โŸฉ โ†’ ( 1st โ€˜ ๐‘ค ) = ๐‘ก )
151 149 150 oveq12d โŠข ( ๐‘ค = โŸจ ๐‘ก , ๐‘› โŸฉ โ†’ ( ( 2 โ†‘ ( 2nd โ€˜ ๐‘ค ) ) ยท ( 1st โ€˜ ๐‘ค ) ) = ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) )
152 inss2 โŠข ( ๐‘‡ โˆฉ ๐‘… ) โŠ† ๐‘…
153 152 sseli โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ ๐ด โˆˆ ๐‘… )
154 cnveq โŠข ( ๐‘“ = ๐ด โ†’ โ—ก ๐‘“ = โ—ก ๐ด )
155 154 imaeq1d โŠข ( ๐‘“ = ๐ด โ†’ ( โ—ก ๐‘“ โ€œ โ„• ) = ( โ—ก ๐ด โ€œ โ„• ) )
156 155 eleq1d โŠข ( ๐‘“ = ๐ด โ†’ ( ( โ—ก ๐‘“ โ€œ โ„• ) โˆˆ Fin โ†” ( โ—ก ๐ด โ€œ โ„• ) โˆˆ Fin ) )
157 156 8 elab2g โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ ( ๐ด โˆˆ ๐‘… โ†” ( โ—ก ๐ด โ€œ โ„• ) โˆˆ Fin ) )
158 153 157 mpbid โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ ( โ—ก ๐ด โ€œ โ„• ) โˆˆ Fin )
159 ssfi โŠข ( ( ( โ—ก ๐ด โ€œ โ„• ) โˆˆ Fin โˆง ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) โŠ† ( โ—ก ๐ด โ€œ โ„• ) ) โ†’ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) โˆˆ Fin )
160 158 128 159 sylancl โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) โˆˆ Fin )
161 134 adantrr โŠข ( ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โˆง ( ๐‘ก โˆˆ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) โˆง ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) ) โ†’ ๐‘ก โˆˆ โ„‚ )
162 138 161 mulcld โŠข ( ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โˆง ( ๐‘ก โˆˆ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) โˆง ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) ) โ†’ ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) โˆˆ โ„‚ )
163 151 160 133 162 fsum2d โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ ฮฃ ๐‘ก โˆˆ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) ฮฃ ๐‘› โˆˆ ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ( ( 2 โ†‘ ๐‘› ) ยท ๐‘ก ) = ฮฃ ๐‘ค โˆˆ โˆช ๐‘ก โˆˆ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) ( { ๐‘ก } ร— ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) ( ( 2 โ†‘ ( 2nd โ€˜ ๐‘ค ) ) ยท ( 1st โ€˜ ๐‘ค ) ) )
164 141 145 163 3eqtr3d โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ ฮฃ ๐‘ก โˆˆ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) ( ( ๐ด โ€˜ ๐‘ก ) ยท ๐‘ก ) = ฮฃ ๐‘ค โˆˆ โˆช ๐‘ก โˆˆ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) ( { ๐‘ก } ร— ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) ( ( 2 โ†‘ ( 2nd โ€˜ ๐‘ค ) ) ยท ( 1st โ€˜ ๐‘ค ) ) )
165 inss1 โŠข ( ๐‘‡ โˆฉ ๐‘… ) โŠ† ๐‘‡
166 165 sseli โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ ๐ด โˆˆ ๐‘‡ )
167 155 sseq1d โŠข ( ๐‘“ = ๐ด โ†’ ( ( โ—ก ๐‘“ โ€œ โ„• ) โŠ† ๐ฝ โ†” ( โ—ก ๐ด โ€œ โ„• ) โŠ† ๐ฝ ) )
168 167 9 elrab2 โŠข ( ๐ด โˆˆ ๐‘‡ โ†” ( ๐ด โˆˆ ( โ„•0 โ†‘m โ„• ) โˆง ( โ—ก ๐ด โ€œ โ„• ) โŠ† ๐ฝ ) )
169 168 simprbi โŠข ( ๐ด โˆˆ ๐‘‡ โ†’ ( โ—ก ๐ด โ€œ โ„• ) โŠ† ๐ฝ )
170 166 169 syl โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ ( โ—ก ๐ด โ€œ โ„• ) โŠ† ๐ฝ )
171 df-ss โŠข ( ( โ—ก ๐ด โ€œ โ„• ) โŠ† ๐ฝ โ†” ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) = ( โ—ก ๐ด โ€œ โ„• ) )
172 170 171 sylib โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) = ( โ—ก ๐ด โ€œ โ„• ) )
173 172 sumeq1d โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ ฮฃ ๐‘ก โˆˆ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) ( ( ๐ด โ€˜ ๐‘ก ) ยท ๐‘ก ) = ฮฃ ๐‘ก โˆˆ ( โ—ก ๐ด โ€œ โ„• ) ( ( ๐ด โ€˜ ๐‘ก ) ยท ๐‘ก ) )
174 164 173 eqtr3d โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ ฮฃ ๐‘ค โˆˆ โˆช ๐‘ก โˆˆ ( ( โ—ก ๐ด โ€œ โ„• ) โˆฉ ๐ฝ ) ( { ๐‘ก } ร— ( bits โ€˜ ( ๐ด โ€˜ ๐‘ก ) ) ) ( ( 2 โ†‘ ( 2nd โ€˜ ๐‘ค ) ) ยท ( 1st โ€˜ ๐‘ค ) ) = ฮฃ ๐‘ก โˆˆ ( โ—ก ๐ด โ€œ โ„• ) ( ( ๐ด โ€˜ ๐‘ก ) ยท ๐‘ก ) )
175 28 119 174 3eqtr2d โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ ฮฃ ๐‘˜ โˆˆ ( โ—ก ( ๐บ โ€˜ ๐ด ) โ€œ โ„• ) ( ( ( ๐บ โ€˜ ๐ด ) โ€˜ ๐‘˜ ) ยท ๐‘˜ ) = ฮฃ ๐‘ก โˆˆ ( โ—ก ๐ด โ€œ โ„• ) ( ( ๐ด โ€˜ ๐‘ก ) ยท ๐‘ก ) )
176 fveq2 โŠข ( ๐‘˜ = ๐‘ก โ†’ ( ๐ด โ€˜ ๐‘˜ ) = ( ๐ด โ€˜ ๐‘ก ) )
177 id โŠข ( ๐‘˜ = ๐‘ก โ†’ ๐‘˜ = ๐‘ก )
178 176 177 oveq12d โŠข ( ๐‘˜ = ๐‘ก โ†’ ( ( ๐ด โ€˜ ๐‘˜ ) ยท ๐‘˜ ) = ( ( ๐ด โ€˜ ๐‘ก ) ยท ๐‘ก ) )
179 178 cbvsumv โŠข ฮฃ ๐‘˜ โˆˆ ( โ—ก ๐ด โ€œ โ„• ) ( ( ๐ด โ€˜ ๐‘˜ ) ยท ๐‘˜ ) = ฮฃ ๐‘ก โˆˆ ( โ—ก ๐ด โ€œ โ„• ) ( ( ๐ด โ€˜ ๐‘ก ) ยท ๐‘ก )
180 175 179 eqtr4di โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ ฮฃ ๐‘˜ โˆˆ ( โ—ก ( ๐บ โ€˜ ๐ด ) โ€œ โ„• ) ( ( ( ๐บ โ€˜ ๐ด ) โ€˜ ๐‘˜ ) ยท ๐‘˜ ) = ฮฃ ๐‘˜ โˆˆ ( โ—ก ๐ด โ€œ โ„• ) ( ( ๐ด โ€˜ ๐‘˜ ) ยท ๐‘˜ ) )
181 0nn0 โŠข 0 โˆˆ โ„•0
182 1nn0 โŠข 1 โˆˆ โ„•0
183 prssi โŠข ( ( 0 โˆˆ โ„•0 โˆง 1 โˆˆ โ„•0 ) โ†’ { 0 , 1 } โŠ† โ„•0 )
184 181 182 183 mp2an โŠข { 0 , 1 } โŠ† โ„•0
185 fss โŠข ( ( ( ๐บ โ€˜ ๐ด ) : โ„• โŸถ { 0 , 1 } โˆง { 0 , 1 } โŠ† โ„•0 ) โ†’ ( ๐บ โ€˜ ๐ด ) : โ„• โŸถ โ„•0 )
186 184 185 mpan2 โŠข ( ( ๐บ โ€˜ ๐ด ) : โ„• โŸถ { 0 , 1 } โ†’ ( ๐บ โ€˜ ๐ด ) : โ„• โŸถ โ„•0 )
187 nn0ex โŠข โ„•0 โˆˆ V
188 nnex โŠข โ„• โˆˆ V
189 187 188 elmap โŠข ( ( ๐บ โ€˜ ๐ด ) โˆˆ ( โ„•0 โ†‘m โ„• ) โ†” ( ๐บ โ€˜ ๐ด ) : โ„• โŸถ โ„•0 )
190 189 biimpri โŠข ( ( ๐บ โ€˜ ๐ด ) : โ„• โŸถ โ„•0 โ†’ ( ๐บ โ€˜ ๐ด ) โˆˆ ( โ„•0 โ†‘m โ„• ) )
191 20 186 190 3syl โŠข ( ( ๐บ โ€˜ ๐ด ) โˆˆ ( { 0 , 1 } โ†‘m โ„• ) โ†’ ( ๐บ โ€˜ ๐ด ) โˆˆ ( โ„•0 โ†‘m โ„• ) )
192 191 anim1i โŠข ( ( ( ๐บ โ€˜ ๐ด ) โˆˆ ( { 0 , 1 } โ†‘m โ„• ) โˆง ( ๐บ โ€˜ ๐ด ) โˆˆ ๐‘… ) โ†’ ( ( ๐บ โ€˜ ๐ด ) โˆˆ ( โ„•0 โ†‘m โ„• ) โˆง ( ๐บ โ€˜ ๐ด ) โˆˆ ๐‘… ) )
193 elin โŠข ( ( ๐บ โ€˜ ๐ด ) โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โ†” ( ( ๐บ โ€˜ ๐ด ) โˆˆ ( โ„•0 โ†‘m โ„• ) โˆง ( ๐บ โ€˜ ๐ด ) โˆˆ ๐‘… ) )
194 192 17 193 3imtr4i โŠข ( ( ๐บ โ€˜ ๐ด ) โˆˆ ( ( { 0 , 1 } โ†‘m โ„• ) โˆฉ ๐‘… ) โ†’ ( ๐บ โ€˜ ๐ด ) โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) )
195 8 11 eulerpartlemsv2 โŠข ( ( ๐บ โ€˜ ๐ด ) โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โ†’ ( ๐‘† โ€˜ ( ๐บ โ€˜ ๐ด ) ) = ฮฃ ๐‘˜ โˆˆ ( โ—ก ( ๐บ โ€˜ ๐ด ) โ€œ โ„• ) ( ( ( ๐บ โ€˜ ๐ด ) โ€˜ ๐‘˜ ) ยท ๐‘˜ ) )
196 16 194 195 3syl โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ ( ๐‘† โ€˜ ( ๐บ โ€˜ ๐ด ) ) = ฮฃ ๐‘˜ โˆˆ ( โ—ก ( ๐บ โ€˜ ๐ด ) โ€œ โ„• ) ( ( ( ๐บ โ€˜ ๐ด ) โ€˜ ๐‘˜ ) ยท ๐‘˜ ) )
197 121 153 elind โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) )
198 8 11 eulerpartlemsv2 โŠข ( ๐ด โˆˆ ( ( โ„•0 โ†‘m โ„• ) โˆฉ ๐‘… ) โ†’ ( ๐‘† โ€˜ ๐ด ) = ฮฃ ๐‘˜ โˆˆ ( โ—ก ๐ด โ€œ โ„• ) ( ( ๐ด โ€˜ ๐‘˜ ) ยท ๐‘˜ ) )
199 197 198 syl โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ ( ๐‘† โ€˜ ๐ด ) = ฮฃ ๐‘˜ โˆˆ ( โ—ก ๐ด โ€œ โ„• ) ( ( ๐ด โ€˜ ๐‘˜ ) ยท ๐‘˜ ) )
200 180 196 199 3eqtr4d โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ ( ๐‘† โ€˜ ( ๐บ โ€˜ ๐ด ) ) = ( ๐‘† โ€˜ ๐ด ) )