Metamath Proof Explorer


Theorem eulerpartlemgv

Description: Lemma for eulerpart : value of the function G . (Contributed by Thierry Arnoux, 13-Nov-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 โˆ˜ ( ๐‘œ โ†พ ๐ฝ ) ) ) ) ) )
Assertion eulerpartlemgv ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ ( ๐บ โ€˜ ๐ด ) = ( ( ๐Ÿญ โ€˜ โ„• ) โ€˜ ( ๐น โ€œ ( ๐‘€ โ€˜ ( bits โˆ˜ ( ๐ด โ†พ ๐ฝ ) ) ) ) ) )

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 reseq1 โŠข ( ๐‘œ = ๐ด โ†’ ( ๐‘œ โ†พ ๐ฝ ) = ( ๐ด โ†พ ๐ฝ ) )
12 11 coeq2d โŠข ( ๐‘œ = ๐ด โ†’ ( bits โˆ˜ ( ๐‘œ โ†พ ๐ฝ ) ) = ( bits โˆ˜ ( ๐ด โ†พ ๐ฝ ) ) )
13 12 fveq2d โŠข ( ๐‘œ = ๐ด โ†’ ( ๐‘€ โ€˜ ( bits โˆ˜ ( ๐‘œ โ†พ ๐ฝ ) ) ) = ( ๐‘€ โ€˜ ( bits โˆ˜ ( ๐ด โ†พ ๐ฝ ) ) ) )
14 13 imaeq2d โŠข ( ๐‘œ = ๐ด โ†’ ( ๐น โ€œ ( ๐‘€ โ€˜ ( bits โˆ˜ ( ๐‘œ โ†พ ๐ฝ ) ) ) ) = ( ๐น โ€œ ( ๐‘€ โ€˜ ( bits โˆ˜ ( ๐ด โ†พ ๐ฝ ) ) ) ) )
15 14 fveq2d โŠข ( ๐‘œ = ๐ด โ†’ ( ( ๐Ÿญ โ€˜ โ„• ) โ€˜ ( ๐น โ€œ ( ๐‘€ โ€˜ ( bits โˆ˜ ( ๐‘œ โ†พ ๐ฝ ) ) ) ) ) = ( ( ๐Ÿญ โ€˜ โ„• ) โ€˜ ( ๐น โ€œ ( ๐‘€ โ€˜ ( bits โˆ˜ ( ๐ด โ†พ ๐ฝ ) ) ) ) ) )
16 fvex โŠข ( ( ๐Ÿญ โ€˜ โ„• ) โ€˜ ( ๐น โ€œ ( ๐‘€ โ€˜ ( bits โˆ˜ ( ๐ด โ†พ ๐ฝ ) ) ) ) ) โˆˆ V
17 15 10 16 fvmpt โŠข ( ๐ด โˆˆ ( ๐‘‡ โˆฉ ๐‘… ) โ†’ ( ๐บ โ€˜ ๐ด ) = ( ( ๐Ÿญ โ€˜ โ„• ) โ€˜ ( ๐น โ€œ ( ๐‘€ โ€˜ ( bits โˆ˜ ( ๐ด โ†พ ๐ฝ ) ) ) ) ) )