Step |
Hyp |
Ref |
Expression |
1 |
|
phicl |
โข ( ๐ โ โ โ ( ฯ โ ๐ ) โ โ ) |
2 |
1
|
nnnn0d |
โข ( ๐ โ โ โ ( ฯ โ ๐ ) โ โ0 ) |
3 |
|
hashfz1 |
โข ( ( ฯ โ ๐ ) โ โ0 โ ( โฏ โ ( 1 ... ( ฯ โ ๐ ) ) ) = ( ฯ โ ๐ ) ) |
4 |
2 3
|
syl |
โข ( ๐ โ โ โ ( โฏ โ ( 1 ... ( ฯ โ ๐ ) ) ) = ( ฯ โ ๐ ) ) |
5 |
|
dfphi2 |
โข ( ๐ โ โ โ ( ฯ โ ๐ ) = ( โฏ โ { ๐ โ ( 0 ..^ ๐ ) โฃ ( ๐ gcd ๐ ) = 1 } ) ) |
6 |
4 5
|
eqtrd |
โข ( ๐ โ โ โ ( โฏ โ ( 1 ... ( ฯ โ ๐ ) ) ) = ( โฏ โ { ๐ โ ( 0 ..^ ๐ ) โฃ ( ๐ gcd ๐ ) = 1 } ) ) |
7 |
6
|
3ad2ant1 |
โข ( ( ๐ โ โ โง ๐ด โ โค โง ( ๐ด gcd ๐ ) = 1 ) โ ( โฏ โ ( 1 ... ( ฯ โ ๐ ) ) ) = ( โฏ โ { ๐ โ ( 0 ..^ ๐ ) โฃ ( ๐ gcd ๐ ) = 1 } ) ) |
8 |
|
fzfi |
โข ( 1 ... ( ฯ โ ๐ ) ) โ Fin |
9 |
|
fzofi |
โข ( 0 ..^ ๐ ) โ Fin |
10 |
|
ssrab2 |
โข { ๐ โ ( 0 ..^ ๐ ) โฃ ( ๐ gcd ๐ ) = 1 } โ ( 0 ..^ ๐ ) |
11 |
|
ssfi |
โข ( ( ( 0 ..^ ๐ ) โ Fin โง { ๐ โ ( 0 ..^ ๐ ) โฃ ( ๐ gcd ๐ ) = 1 } โ ( 0 ..^ ๐ ) ) โ { ๐ โ ( 0 ..^ ๐ ) โฃ ( ๐ gcd ๐ ) = 1 } โ Fin ) |
12 |
9 10 11
|
mp2an |
โข { ๐ โ ( 0 ..^ ๐ ) โฃ ( ๐ gcd ๐ ) = 1 } โ Fin |
13 |
|
hashen |
โข ( ( ( 1 ... ( ฯ โ ๐ ) ) โ Fin โง { ๐ โ ( 0 ..^ ๐ ) โฃ ( ๐ gcd ๐ ) = 1 } โ Fin ) โ ( ( โฏ โ ( 1 ... ( ฯ โ ๐ ) ) ) = ( โฏ โ { ๐ โ ( 0 ..^ ๐ ) โฃ ( ๐ gcd ๐ ) = 1 } ) โ ( 1 ... ( ฯ โ ๐ ) ) โ { ๐ โ ( 0 ..^ ๐ ) โฃ ( ๐ gcd ๐ ) = 1 } ) ) |
14 |
8 12 13
|
mp2an |
โข ( ( โฏ โ ( 1 ... ( ฯ โ ๐ ) ) ) = ( โฏ โ { ๐ โ ( 0 ..^ ๐ ) โฃ ( ๐ gcd ๐ ) = 1 } ) โ ( 1 ... ( ฯ โ ๐ ) ) โ { ๐ โ ( 0 ..^ ๐ ) โฃ ( ๐ gcd ๐ ) = 1 } ) |
15 |
7 14
|
sylib |
โข ( ( ๐ โ โ โง ๐ด โ โค โง ( ๐ด gcd ๐ ) = 1 ) โ ( 1 ... ( ฯ โ ๐ ) ) โ { ๐ โ ( 0 ..^ ๐ ) โฃ ( ๐ gcd ๐ ) = 1 } ) |
16 |
|
bren |
โข ( ( 1 ... ( ฯ โ ๐ ) ) โ { ๐ โ ( 0 ..^ ๐ ) โฃ ( ๐ gcd ๐ ) = 1 } โ โ ๐ ๐ : ( 1 ... ( ฯ โ ๐ ) ) โ1-1-ontoโ { ๐ โ ( 0 ..^ ๐ ) โฃ ( ๐ gcd ๐ ) = 1 } ) |
17 |
15 16
|
sylib |
โข ( ( ๐ โ โ โง ๐ด โ โค โง ( ๐ด gcd ๐ ) = 1 ) โ โ ๐ ๐ : ( 1 ... ( ฯ โ ๐ ) ) โ1-1-ontoโ { ๐ โ ( 0 ..^ ๐ ) โฃ ( ๐ gcd ๐ ) = 1 } ) |
18 |
|
simpl |
โข ( ( ( ๐ โ โ โง ๐ด โ โค โง ( ๐ด gcd ๐ ) = 1 ) โง ๐ : ( 1 ... ( ฯ โ ๐ ) ) โ1-1-ontoโ { ๐ โ ( 0 ..^ ๐ ) โฃ ( ๐ gcd ๐ ) = 1 } ) โ ( ๐ โ โ โง ๐ด โ โค โง ( ๐ด gcd ๐ ) = 1 ) ) |
19 |
|
oveq1 |
โข ( ๐ = ๐ฆ โ ( ๐ gcd ๐ ) = ( ๐ฆ gcd ๐ ) ) |
20 |
19
|
eqeq1d |
โข ( ๐ = ๐ฆ โ ( ( ๐ gcd ๐ ) = 1 โ ( ๐ฆ gcd ๐ ) = 1 ) ) |
21 |
20
|
cbvrabv |
โข { ๐ โ ( 0 ..^ ๐ ) โฃ ( ๐ gcd ๐ ) = 1 } = { ๐ฆ โ ( 0 ..^ ๐ ) โฃ ( ๐ฆ gcd ๐ ) = 1 } |
22 |
|
eqid |
โข ( 1 ... ( ฯ โ ๐ ) ) = ( 1 ... ( ฯ โ ๐ ) ) |
23 |
|
simpr |
โข ( ( ( ๐ โ โ โง ๐ด โ โค โง ( ๐ด gcd ๐ ) = 1 ) โง ๐ : ( 1 ... ( ฯ โ ๐ ) ) โ1-1-ontoโ { ๐ โ ( 0 ..^ ๐ ) โฃ ( ๐ gcd ๐ ) = 1 } ) โ ๐ : ( 1 ... ( ฯ โ ๐ ) ) โ1-1-ontoโ { ๐ โ ( 0 ..^ ๐ ) โฃ ( ๐ gcd ๐ ) = 1 } ) |
24 |
|
fveq2 |
โข ( ๐ = ๐ฅ โ ( ๐ โ ๐ ) = ( ๐ โ ๐ฅ ) ) |
25 |
24
|
oveq2d |
โข ( ๐ = ๐ฅ โ ( ๐ด ยท ( ๐ โ ๐ ) ) = ( ๐ด ยท ( ๐ โ ๐ฅ ) ) ) |
26 |
25
|
oveq1d |
โข ( ๐ = ๐ฅ โ ( ( ๐ด ยท ( ๐ โ ๐ ) ) mod ๐ ) = ( ( ๐ด ยท ( ๐ โ ๐ฅ ) ) mod ๐ ) ) |
27 |
26
|
cbvmptv |
โข ( ๐ โ ( 1 ... ( ฯ โ ๐ ) ) โฆ ( ( ๐ด ยท ( ๐ โ ๐ ) ) mod ๐ ) ) = ( ๐ฅ โ ( 1 ... ( ฯ โ ๐ ) ) โฆ ( ( ๐ด ยท ( ๐ โ ๐ฅ ) ) mod ๐ ) ) |
28 |
18 21 22 23 27
|
eulerthlem2 |
โข ( ( ( ๐ โ โ โง ๐ด โ โค โง ( ๐ด gcd ๐ ) = 1 ) โง ๐ : ( 1 ... ( ฯ โ ๐ ) ) โ1-1-ontoโ { ๐ โ ( 0 ..^ ๐ ) โฃ ( ๐ gcd ๐ ) = 1 } ) โ ( ( ๐ด โ ( ฯ โ ๐ ) ) mod ๐ ) = ( 1 mod ๐ ) ) |
29 |
17 28
|
exlimddv |
โข ( ( ๐ โ โ โง ๐ด โ โค โง ( ๐ด gcd ๐ ) = 1 ) โ ( ( ๐ด โ ( ฯ โ ๐ ) ) mod ๐ ) = ( 1 mod ๐ ) ) |