Metamath Proof Explorer


Theorem eulerthlem1

Description: Lemma for eulerth . (Contributed by Mario Carneiro, 8-May-2015)

Ref Expression
Hypotheses eulerth.1 โŠข ( ๐œ‘ โ†’ ( ๐‘ โˆˆ โ„• โˆง ๐ด โˆˆ โ„ค โˆง ( ๐ด gcd ๐‘ ) = 1 ) )
eulerth.2 โŠข ๐‘† = { ๐‘ฆ โˆˆ ( 0 ..^ ๐‘ ) โˆฃ ( ๐‘ฆ gcd ๐‘ ) = 1 }
eulerth.3 โŠข ๐‘‡ = ( 1 ... ( ฯ• โ€˜ ๐‘ ) )
eulerth.4 โŠข ( ๐œ‘ โ†’ ๐น : ๐‘‡ โ€“1-1-ontoโ†’ ๐‘† )
eulerth.5 โŠข ๐บ = ( ๐‘ฅ โˆˆ ๐‘‡ โ†ฆ ( ( ๐ด ยท ( ๐น โ€˜ ๐‘ฅ ) ) mod ๐‘ ) )
Assertion eulerthlem1 ( ๐œ‘ โ†’ ๐บ : ๐‘‡ โŸถ ๐‘† )

Proof

Step Hyp Ref Expression
1 eulerth.1 โŠข ( ๐œ‘ โ†’ ( ๐‘ โˆˆ โ„• โˆง ๐ด โˆˆ โ„ค โˆง ( ๐ด gcd ๐‘ ) = 1 ) )
2 eulerth.2 โŠข ๐‘† = { ๐‘ฆ โˆˆ ( 0 ..^ ๐‘ ) โˆฃ ( ๐‘ฆ gcd ๐‘ ) = 1 }
3 eulerth.3 โŠข ๐‘‡ = ( 1 ... ( ฯ• โ€˜ ๐‘ ) )
4 eulerth.4 โŠข ( ๐œ‘ โ†’ ๐น : ๐‘‡ โ€“1-1-ontoโ†’ ๐‘† )
5 eulerth.5 โŠข ๐บ = ( ๐‘ฅ โˆˆ ๐‘‡ โ†ฆ ( ( ๐ด ยท ( ๐น โ€˜ ๐‘ฅ ) ) mod ๐‘ ) )
6 1 simp2d โŠข ( ๐œ‘ โ†’ ๐ด โˆˆ โ„ค )
7 6 adantr โŠข ( ( ๐œ‘ โˆง ๐‘ฅ โˆˆ ๐‘‡ ) โ†’ ๐ด โˆˆ โ„ค )
8 f1of โŠข ( ๐น : ๐‘‡ โ€“1-1-ontoโ†’ ๐‘† โ†’ ๐น : ๐‘‡ โŸถ ๐‘† )
9 4 8 syl โŠข ( ๐œ‘ โ†’ ๐น : ๐‘‡ โŸถ ๐‘† )
10 9 ffvelcdmda โŠข ( ( ๐œ‘ โˆง ๐‘ฅ โˆˆ ๐‘‡ ) โ†’ ( ๐น โ€˜ ๐‘ฅ ) โˆˆ ๐‘† )
11 oveq1 โŠข ( ๐‘ฆ = ( ๐น โ€˜ ๐‘ฅ ) โ†’ ( ๐‘ฆ gcd ๐‘ ) = ( ( ๐น โ€˜ ๐‘ฅ ) gcd ๐‘ ) )
12 11 eqeq1d โŠข ( ๐‘ฆ = ( ๐น โ€˜ ๐‘ฅ ) โ†’ ( ( ๐‘ฆ gcd ๐‘ ) = 1 โ†” ( ( ๐น โ€˜ ๐‘ฅ ) gcd ๐‘ ) = 1 ) )
13 12 2 elrab2 โŠข ( ( ๐น โ€˜ ๐‘ฅ ) โˆˆ ๐‘† โ†” ( ( ๐น โ€˜ ๐‘ฅ ) โˆˆ ( 0 ..^ ๐‘ ) โˆง ( ( ๐น โ€˜ ๐‘ฅ ) gcd ๐‘ ) = 1 ) )
14 10 13 sylib โŠข ( ( ๐œ‘ โˆง ๐‘ฅ โˆˆ ๐‘‡ ) โ†’ ( ( ๐น โ€˜ ๐‘ฅ ) โˆˆ ( 0 ..^ ๐‘ ) โˆง ( ( ๐น โ€˜ ๐‘ฅ ) gcd ๐‘ ) = 1 ) )
15 14 simpld โŠข ( ( ๐œ‘ โˆง ๐‘ฅ โˆˆ ๐‘‡ ) โ†’ ( ๐น โ€˜ ๐‘ฅ ) โˆˆ ( 0 ..^ ๐‘ ) )
16 elfzoelz โŠข ( ( ๐น โ€˜ ๐‘ฅ ) โˆˆ ( 0 ..^ ๐‘ ) โ†’ ( ๐น โ€˜ ๐‘ฅ ) โˆˆ โ„ค )
17 15 16 syl โŠข ( ( ๐œ‘ โˆง ๐‘ฅ โˆˆ ๐‘‡ ) โ†’ ( ๐น โ€˜ ๐‘ฅ ) โˆˆ โ„ค )
18 7 17 zmulcld โŠข ( ( ๐œ‘ โˆง ๐‘ฅ โˆˆ ๐‘‡ ) โ†’ ( ๐ด ยท ( ๐น โ€˜ ๐‘ฅ ) ) โˆˆ โ„ค )
19 1 simp1d โŠข ( ๐œ‘ โ†’ ๐‘ โˆˆ โ„• )
20 19 adantr โŠข ( ( ๐œ‘ โˆง ๐‘ฅ โˆˆ ๐‘‡ ) โ†’ ๐‘ โˆˆ โ„• )
21 zmodfzo โŠข ( ( ( ๐ด ยท ( ๐น โ€˜ ๐‘ฅ ) ) โˆˆ โ„ค โˆง ๐‘ โˆˆ โ„• ) โ†’ ( ( ๐ด ยท ( ๐น โ€˜ ๐‘ฅ ) ) mod ๐‘ ) โˆˆ ( 0 ..^ ๐‘ ) )
22 18 20 21 syl2anc โŠข ( ( ๐œ‘ โˆง ๐‘ฅ โˆˆ ๐‘‡ ) โ†’ ( ( ๐ด ยท ( ๐น โ€˜ ๐‘ฅ ) ) mod ๐‘ ) โˆˆ ( 0 ..^ ๐‘ ) )
23 modgcd โŠข ( ( ( ๐ด ยท ( ๐น โ€˜ ๐‘ฅ ) ) โˆˆ โ„ค โˆง ๐‘ โˆˆ โ„• ) โ†’ ( ( ( ๐ด ยท ( ๐น โ€˜ ๐‘ฅ ) ) mod ๐‘ ) gcd ๐‘ ) = ( ( ๐ด ยท ( ๐น โ€˜ ๐‘ฅ ) ) gcd ๐‘ ) )
24 18 20 23 syl2anc โŠข ( ( ๐œ‘ โˆง ๐‘ฅ โˆˆ ๐‘‡ ) โ†’ ( ( ( ๐ด ยท ( ๐น โ€˜ ๐‘ฅ ) ) mod ๐‘ ) gcd ๐‘ ) = ( ( ๐ด ยท ( ๐น โ€˜ ๐‘ฅ ) ) gcd ๐‘ ) )
25 19 nnzd โŠข ( ๐œ‘ โ†’ ๐‘ โˆˆ โ„ค )
26 25 adantr โŠข ( ( ๐œ‘ โˆง ๐‘ฅ โˆˆ ๐‘‡ ) โ†’ ๐‘ โˆˆ โ„ค )
27 18 26 gcdcomd โŠข ( ( ๐œ‘ โˆง ๐‘ฅ โˆˆ ๐‘‡ ) โ†’ ( ( ๐ด ยท ( ๐น โ€˜ ๐‘ฅ ) ) gcd ๐‘ ) = ( ๐‘ gcd ( ๐ด ยท ( ๐น โ€˜ ๐‘ฅ ) ) ) )
28 25 6 gcdcomd โŠข ( ๐œ‘ โ†’ ( ๐‘ gcd ๐ด ) = ( ๐ด gcd ๐‘ ) )
29 1 simp3d โŠข ( ๐œ‘ โ†’ ( ๐ด gcd ๐‘ ) = 1 )
30 28 29 eqtrd โŠข ( ๐œ‘ โ†’ ( ๐‘ gcd ๐ด ) = 1 )
31 30 adantr โŠข ( ( ๐œ‘ โˆง ๐‘ฅ โˆˆ ๐‘‡ ) โ†’ ( ๐‘ gcd ๐ด ) = 1 )
32 26 17 gcdcomd โŠข ( ( ๐œ‘ โˆง ๐‘ฅ โˆˆ ๐‘‡ ) โ†’ ( ๐‘ gcd ( ๐น โ€˜ ๐‘ฅ ) ) = ( ( ๐น โ€˜ ๐‘ฅ ) gcd ๐‘ ) )
33 14 simprd โŠข ( ( ๐œ‘ โˆง ๐‘ฅ โˆˆ ๐‘‡ ) โ†’ ( ( ๐น โ€˜ ๐‘ฅ ) gcd ๐‘ ) = 1 )
34 32 33 eqtrd โŠข ( ( ๐œ‘ โˆง ๐‘ฅ โˆˆ ๐‘‡ ) โ†’ ( ๐‘ gcd ( ๐น โ€˜ ๐‘ฅ ) ) = 1 )
35 rpmul โŠข ( ( ๐‘ โˆˆ โ„ค โˆง ๐ด โˆˆ โ„ค โˆง ( ๐น โ€˜ ๐‘ฅ ) โˆˆ โ„ค ) โ†’ ( ( ( ๐‘ gcd ๐ด ) = 1 โˆง ( ๐‘ gcd ( ๐น โ€˜ ๐‘ฅ ) ) = 1 ) โ†’ ( ๐‘ gcd ( ๐ด ยท ( ๐น โ€˜ ๐‘ฅ ) ) ) = 1 ) )
36 26 7 17 35 syl3anc โŠข ( ( ๐œ‘ โˆง ๐‘ฅ โˆˆ ๐‘‡ ) โ†’ ( ( ( ๐‘ gcd ๐ด ) = 1 โˆง ( ๐‘ gcd ( ๐น โ€˜ ๐‘ฅ ) ) = 1 ) โ†’ ( ๐‘ gcd ( ๐ด ยท ( ๐น โ€˜ ๐‘ฅ ) ) ) = 1 ) )
37 31 34 36 mp2and โŠข ( ( ๐œ‘ โˆง ๐‘ฅ โˆˆ ๐‘‡ ) โ†’ ( ๐‘ gcd ( ๐ด ยท ( ๐น โ€˜ ๐‘ฅ ) ) ) = 1 )
38 24 27 37 3eqtrd โŠข ( ( ๐œ‘ โˆง ๐‘ฅ โˆˆ ๐‘‡ ) โ†’ ( ( ( ๐ด ยท ( ๐น โ€˜ ๐‘ฅ ) ) mod ๐‘ ) gcd ๐‘ ) = 1 )
39 oveq1 โŠข ( ๐‘ฆ = ( ( ๐ด ยท ( ๐น โ€˜ ๐‘ฅ ) ) mod ๐‘ ) โ†’ ( ๐‘ฆ gcd ๐‘ ) = ( ( ( ๐ด ยท ( ๐น โ€˜ ๐‘ฅ ) ) mod ๐‘ ) gcd ๐‘ ) )
40 39 eqeq1d โŠข ( ๐‘ฆ = ( ( ๐ด ยท ( ๐น โ€˜ ๐‘ฅ ) ) mod ๐‘ ) โ†’ ( ( ๐‘ฆ gcd ๐‘ ) = 1 โ†” ( ( ( ๐ด ยท ( ๐น โ€˜ ๐‘ฅ ) ) mod ๐‘ ) gcd ๐‘ ) = 1 ) )
41 40 2 elrab2 โŠข ( ( ( ๐ด ยท ( ๐น โ€˜ ๐‘ฅ ) ) mod ๐‘ ) โˆˆ ๐‘† โ†” ( ( ( ๐ด ยท ( ๐น โ€˜ ๐‘ฅ ) ) mod ๐‘ ) โˆˆ ( 0 ..^ ๐‘ ) โˆง ( ( ( ๐ด ยท ( ๐น โ€˜ ๐‘ฅ ) ) mod ๐‘ ) gcd ๐‘ ) = 1 ) )
42 22 38 41 sylanbrc โŠข ( ( ๐œ‘ โˆง ๐‘ฅ โˆˆ ๐‘‡ ) โ†’ ( ( ๐ด ยท ( ๐น โ€˜ ๐‘ฅ ) ) mod ๐‘ ) โˆˆ ๐‘† )
43 42 5 fmptd โŠข ( ๐œ‘ โ†’ ๐บ : ๐‘‡ โŸถ ๐‘† )