Metamath Proof Explorer


Theorem eulerpartlemgf

Description: Lemma for eulerpart : Images under G have finite support. (Contributed by Thierry Arnoux, 29-Aug-2018)

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 โˆ˜ ( ๐‘œ โ†พ ๐ฝ ) ) ) ) ) )
Assertion eulerpartlemgf ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ ( โ—ก ( ๐บ โ€˜ ๐ด ) โ€œ โ„• ) โˆˆ Fin )

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 1 2 3 4 5 6 7 8 9 10 eulerpartlemgv โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ ( ๐บ โ€˜ ๐ด ) = ( ( ๐Ÿญ โ€˜ โ„• ) โ€˜ ( ๐น โ€œ ( ๐‘€ โ€˜ ( bits โˆ˜ ( ๐ด โ†พ ๐ฝ ) ) ) ) ) )
12 11 cnveqd โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ โ—ก ( ๐บ โ€˜ ๐ด ) = โ—ก ( ( ๐Ÿญ โ€˜ โ„• ) โ€˜ ( ๐น โ€œ ( ๐‘€ โ€˜ ( bits โˆ˜ ( ๐ด โ†พ ๐ฝ ) ) ) ) ) )
13 12 imaeq1d โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ ( โ—ก ( ๐บ โ€˜ ๐ด ) โ€œ { 1 } ) = ( โ—ก ( ( ๐Ÿญ โ€˜ โ„• ) โ€˜ ( ๐น โ€œ ( ๐‘€ โ€˜ ( bits โˆ˜ ( ๐ด โ†พ ๐ฝ ) ) ) ) ) โ€œ { 1 } ) )
14 nnex โŠข โ„• โˆˆ V
15 imassrn โŠข ( ๐น โ€œ ( ๐‘€ โ€˜ ( bits โˆ˜ ( ๐ด โ†พ ๐ฝ ) ) ) ) โІ ran ๐น
16 4 5 oddpwdc โŠข ๐น : ( ๐ฝ ร— โ„•0 ) โ€“1-1-ontoโ†’ โ„•
17 f1of โŠข ( ๐น : ( ๐ฝ ร— โ„•0 ) โ€“1-1-ontoโ†’ โ„• โ†’ ๐น : ( ๐ฝ ร— โ„•0 ) โŸถ โ„• )
18 frn โŠข ( ๐น : ( ๐ฝ ร— โ„•0 ) โŸถ โ„• โ†’ ran ๐น โІ โ„• )
19 16 17 18 mp2b โŠข ran ๐น โІ โ„•
20 15 19 sstri โŠข ( ๐น โ€œ ( ๐‘€ โ€˜ ( bits โˆ˜ ( ๐ด โ†พ ๐ฝ ) ) ) ) โІ โ„•
21 indpi1 โŠข ( ( โ„• โˆˆ V โˆง ( ๐น โ€œ ( ๐‘€ โ€˜ ( bits โˆ˜ ( ๐ด โ†พ ๐ฝ ) ) ) ) โІ โ„• ) โ†’ ( โ—ก ( ( ๐Ÿญ โ€˜ โ„• ) โ€˜ ( ๐น โ€œ ( ๐‘€ โ€˜ ( bits โˆ˜ ( ๐ด โ†พ ๐ฝ ) ) ) ) ) โ€œ { 1 } ) = ( ๐น โ€œ ( ๐‘€ โ€˜ ( bits โˆ˜ ( ๐ด โ†พ ๐ฝ ) ) ) ) )
22 14 20 21 mp2an โŠข ( โ—ก ( ( ๐Ÿญ โ€˜ โ„• ) โ€˜ ( ๐น โ€œ ( ๐‘€ โ€˜ ( bits โˆ˜ ( ๐ด โ†พ ๐ฝ ) ) ) ) ) โ€œ { 1 } ) = ( ๐น โ€œ ( ๐‘€ โ€˜ ( bits โˆ˜ ( ๐ด โ†พ ๐ฝ ) ) ) )
23 13 22 eqtrdi โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ ( โ—ก ( ๐บ โ€˜ ๐ด ) โ€œ { 1 } ) = ( ๐น โ€œ ( ๐‘€ โ€˜ ( bits โˆ˜ ( ๐ด โ†พ ๐ฝ ) ) ) ) )
24 ffun โŠข ( ๐น : ( ๐ฝ ร— โ„•0 ) โŸถ โ„• โ†’ Fun ๐น )
25 16 17 24 mp2b โŠข Fun ๐น
26 inss2 โŠข ( ๐’ซ ( ๐ฝ ร— โ„•0 ) โˆฉ Fin ) โІ Fin
27 1 2 3 4 5 6 7 8 9 10 eulerpartlemmf โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ ( bits โˆ˜ ( ๐ด โ†พ ๐ฝ ) ) โˆˆ ๐ป )
28 1 2 3 4 5 6 7 eulerpartlem1 โŠข ๐‘€ : ๐ป โ€“1-1-ontoโ†’ ( ๐’ซ ( ๐ฝ ร— โ„•0 ) โˆฉ Fin )
29 f1of โŠข ( ๐‘€ : ๐ป โ€“1-1-ontoโ†’ ( ๐’ซ ( ๐ฝ ร— โ„•0 ) โˆฉ Fin ) โ†’ ๐‘€ : ๐ป โŸถ ( ๐’ซ ( ๐ฝ ร— โ„•0 ) โˆฉ Fin ) )
30 28 29 ax-mp โŠข ๐‘€ : ๐ป โŸถ ( ๐’ซ ( ๐ฝ ร— โ„•0 ) โˆฉ Fin )
31 30 ffvelcdmi โŠข ( ( bits โˆ˜ ( ๐ด โ†พ ๐ฝ ) ) โˆˆ ๐ป โ†’ ( ๐‘€ โ€˜ ( bits โˆ˜ ( ๐ด โ†พ ๐ฝ ) ) ) โˆˆ ( ๐’ซ ( ๐ฝ ร— โ„•0 ) โˆฉ Fin ) )
32 27 31 syl โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ ( ๐‘€ โ€˜ ( bits โˆ˜ ( ๐ด โ†พ ๐ฝ ) ) ) โˆˆ ( ๐’ซ ( ๐ฝ ร— โ„•0 ) โˆฉ Fin ) )
33 26 32 sselid โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ ( ๐‘€ โ€˜ ( bits โˆ˜ ( ๐ด โ†พ ๐ฝ ) ) ) โˆˆ Fin )
34 imafi โŠข ( ( Fun ๐น โˆง ( ๐‘€ โ€˜ ( bits โˆ˜ ( ๐ด โ†พ ๐ฝ ) ) ) โˆˆ Fin ) โ†’ ( ๐น โ€œ ( ๐‘€ โ€˜ ( bits โˆ˜ ( ๐ด โ†พ ๐ฝ ) ) ) ) โˆˆ Fin )
35 25 33 34 sylancr โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ ( ๐น โ€œ ( ๐‘€ โ€˜ ( bits โˆ˜ ( ๐ด โ†พ ๐ฝ ) ) ) ) โˆˆ Fin )
36 23 35 eqeltrd โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ ( โ—ก ( ๐บ โ€˜ ๐ด ) โ€œ { 1 } ) โˆˆ Fin )
37 1 2 3 4 5 6 7 8 9 10 eulerpartgbij โŠข ๐บ : ( ๐‘‡ โˆฉ ๐‘… ) โ€“1-1-ontoโ†’ ( ( { 0 , 1 } โ†‘m โ„• ) โˆฉ ๐‘… )
38 f1of โŠข ( ๐บ : ( ๐‘‡ โˆฉ ๐‘… ) โ€“1-1-ontoโ†’ ( ( { 0 , 1 } โ†‘m โ„• ) โˆฉ ๐‘… ) โ†’ ๐บ : ( ๐‘‡ โˆฉ ๐‘… ) โŸถ ( ( { 0 , 1 } โ†‘m โ„• ) โˆฉ ๐‘… ) )
39 37 38 ax-mp โŠข ๐บ : ( ๐‘‡ โˆฉ ๐‘… ) โŸถ ( ( { 0 , 1 } โ†‘m โ„• ) โˆฉ ๐‘… )
40 39 ffvelcdmi โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ ( ๐บ โ€˜ ๐ด ) โˆˆ ( ( { 0 , 1 } โ†‘m โ„• ) โˆฉ ๐‘… ) )
41 elin โŠข ( ( ๐บ โ€˜ ๐ด ) โˆˆ ( ( { 0 , 1 } โ†‘m โ„• ) โˆฉ ๐‘… ) โ†” ( ( ๐บ โ€˜ ๐ด ) โˆˆ ( { 0 , 1 } โ†‘m โ„• ) โˆง ( ๐บ โ€˜ ๐ด ) โˆˆ ๐‘… ) )
42 41 simplbi โŠข ( ( ๐บ โ€˜ ๐ด ) โˆˆ ( ( { 0 , 1 } โ†‘m โ„• ) โˆฉ ๐‘… ) โ†’ ( ๐บ โ€˜ ๐ด ) โˆˆ ( { 0 , 1 } โ†‘m โ„• ) )
43 elmapi โŠข ( ( ๐บ โ€˜ ๐ด ) โˆˆ ( { 0 , 1 } โ†‘m โ„• ) โ†’ ( ๐บ โ€˜ ๐ด ) : โ„• โŸถ { 0 , 1 } )
44 40 42 43 3syl โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ ( ๐บ โ€˜ ๐ด ) : โ„• โŸถ { 0 , 1 } )
45 44 ffund โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ Fun ( ๐บ โ€˜ ๐ด ) )
46 ssv โŠข โ„•0 โІ V
47 dfn2 โŠข โ„• = ( โ„•0 โˆ– { 0 } )
48 ssdif โŠข ( โ„•0 โІ V โ†’ ( โ„•0 โˆ– { 0 } ) โІ ( V โˆ– { 0 } ) )
49 47 48 eqsstrid โŠข ( โ„•0 โІ V โ†’ โ„• โІ ( V โˆ– { 0 } ) )
50 46 49 ax-mp โŠข โ„• โІ ( V โˆ– { 0 } )
51 sspreima โŠข ( ( Fun ( ๐บ โ€˜ ๐ด ) โˆง โ„• โІ ( V โˆ– { 0 } ) ) โ†’ ( โ—ก ( ๐บ โ€˜ ๐ด ) โ€œ โ„• ) โІ ( โ—ก ( ๐บ โ€˜ ๐ด ) โ€œ ( V โˆ– { 0 } ) ) )
52 45 50 51 sylancl โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ ( โ—ก ( ๐บ โ€˜ ๐ด ) โ€œ โ„• ) โІ ( โ—ก ( ๐บ โ€˜ ๐ด ) โ€œ ( V โˆ– { 0 } ) ) )
53 fvex โŠข ( ๐บ โ€˜ ๐ด ) โˆˆ V
54 0nn0 โŠข 0 โˆˆ โ„•0
55 suppimacnv โŠข ( ( ( ๐บ โ€˜ ๐ด ) โˆˆ V โˆง 0 โˆˆ โ„•0 ) โ†’ ( ( ๐บ โ€˜ ๐ด ) supp 0 ) = ( โ—ก ( ๐บ โ€˜ ๐ด ) โ€œ ( V โˆ– { 0 } ) ) )
56 53 54 55 mp2an โŠข ( ( ๐บ โ€˜ ๐ด ) supp 0 ) = ( โ—ก ( ๐บ โ€˜ ๐ด ) โ€œ ( V โˆ– { 0 } ) )
57 0ne1 โŠข 0 โ‰  1
58 difprsn1 โŠข ( 0 โ‰  1 โ†’ ( { 0 , 1 } โˆ– { 0 } ) = { 1 } )
59 57 58 ax-mp โŠข ( { 0 , 1 } โˆ– { 0 } ) = { 1 }
60 59 eqcomi โŠข { 1 } = ( { 0 , 1 } โˆ– { 0 } )
61 60 ffs2 โŠข ( ( โ„• โˆˆ V โˆง 0 โˆˆ โ„•0 โˆง ( ๐บ โ€˜ ๐ด ) : โ„• โŸถ { 0 , 1 } ) โ†’ ( ( ๐บ โ€˜ ๐ด ) supp 0 ) = ( โ—ก ( ๐บ โ€˜ ๐ด ) โ€œ { 1 } ) )
62 14 54 61 mp3an12 โŠข ( ( ๐บ โ€˜ ๐ด ) : โ„• โŸถ { 0 , 1 } โ†’ ( ( ๐บ โ€˜ ๐ด ) supp 0 ) = ( โ—ก ( ๐บ โ€˜ ๐ด ) โ€œ { 1 } ) )
63 44 62 syl โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ ( ( ๐บ โ€˜ ๐ด ) supp 0 ) = ( โ—ก ( ๐บ โ€˜ ๐ด ) โ€œ { 1 } ) )
64 56 63 eqtr3id โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ ( โ—ก ( ๐บ โ€˜ ๐ด ) โ€œ ( V โˆ– { 0 } ) ) = ( โ—ก ( ๐บ โ€˜ ๐ด ) โ€œ { 1 } ) )
65 52 64 sseqtrd โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ ( โ—ก ( ๐บ โ€˜ ๐ด ) โ€œ โ„• ) โІ ( โ—ก ( ๐บ โ€˜ ๐ด ) โ€œ { 1 } ) )
66 ssfi โŠข ( ( ( โ—ก ( ๐บ โ€˜ ๐ด ) โ€œ { 1 } ) โˆˆ Fin โˆง ( โ—ก ( ๐บ โ€˜ ๐ด ) โ€œ โ„• ) โІ ( โ—ก ( ๐บ โ€˜ ๐ด ) โ€œ { 1 } ) ) โ†’ ( โ—ก ( ๐บ โ€˜ ๐ด ) โ€œ โ„• ) โˆˆ Fin )
67 36 65 66 syl2anc โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ ( โ—ก ( ๐บ โ€˜ ๐ด ) โ€œ โ„• ) โˆˆ Fin )