| Step |
Hyp |
Ref |
Expression |
| 1 |
|
prmnn |
⊢ ( 𝑃 ∈ ℙ → 𝑃 ∈ ℕ ) |
| 2 |
|
dvdsmodexp |
⊢ ( ( 𝑃 ∈ ℕ ∧ 𝑃 ∈ ℕ ∧ 𝑃 ∥ 𝐴 ) → ( ( 𝐴 ↑ 𝑃 ) mod 𝑃 ) = ( 𝐴 mod 𝑃 ) ) |
| 3 |
2
|
3exp |
⊢ ( 𝑃 ∈ ℕ → ( 𝑃 ∈ ℕ → ( 𝑃 ∥ 𝐴 → ( ( 𝐴 ↑ 𝑃 ) mod 𝑃 ) = ( 𝐴 mod 𝑃 ) ) ) ) |
| 4 |
1 1 3
|
sylc |
⊢ ( 𝑃 ∈ ℙ → ( 𝑃 ∥ 𝐴 → ( ( 𝐴 ↑ 𝑃 ) mod 𝑃 ) = ( 𝐴 mod 𝑃 ) ) ) |
| 5 |
4
|
adantr |
⊢ ( ( 𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ) → ( 𝑃 ∥ 𝐴 → ( ( 𝐴 ↑ 𝑃 ) mod 𝑃 ) = ( 𝐴 mod 𝑃 ) ) ) |
| 6 |
|
coprm |
⊢ ( ( 𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ) → ( ¬ 𝑃 ∥ 𝐴 ↔ ( 𝑃 gcd 𝐴 ) = 1 ) ) |
| 7 |
|
prmz |
⊢ ( 𝑃 ∈ ℙ → 𝑃 ∈ ℤ ) |
| 8 |
|
gcdcom |
⊢ ( ( 𝑃 ∈ ℤ ∧ 𝐴 ∈ ℤ ) → ( 𝑃 gcd 𝐴 ) = ( 𝐴 gcd 𝑃 ) ) |
| 9 |
7 8
|
sylan |
⊢ ( ( 𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ) → ( 𝑃 gcd 𝐴 ) = ( 𝐴 gcd 𝑃 ) ) |
| 10 |
9
|
eqeq1d |
⊢ ( ( 𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ) → ( ( 𝑃 gcd 𝐴 ) = 1 ↔ ( 𝐴 gcd 𝑃 ) = 1 ) ) |
| 11 |
6 10
|
bitrd |
⊢ ( ( 𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ) → ( ¬ 𝑃 ∥ 𝐴 ↔ ( 𝐴 gcd 𝑃 ) = 1 ) ) |
| 12 |
|
simp2 |
⊢ ( ( 𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ( 𝐴 gcd 𝑃 ) = 1 ) → 𝐴 ∈ ℤ ) |
| 13 |
1
|
3ad2ant1 |
⊢ ( ( 𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ( 𝐴 gcd 𝑃 ) = 1 ) → 𝑃 ∈ ℕ ) |
| 14 |
13
|
phicld |
⊢ ( ( 𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ( 𝐴 gcd 𝑃 ) = 1 ) → ( ϕ ‘ 𝑃 ) ∈ ℕ ) |
| 15 |
14
|
nnnn0d |
⊢ ( ( 𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ( 𝐴 gcd 𝑃 ) = 1 ) → ( ϕ ‘ 𝑃 ) ∈ ℕ0 ) |
| 16 |
|
zexpcl |
⊢ ( ( 𝐴 ∈ ℤ ∧ ( ϕ ‘ 𝑃 ) ∈ ℕ0 ) → ( 𝐴 ↑ ( ϕ ‘ 𝑃 ) ) ∈ ℤ ) |
| 17 |
12 15 16
|
syl2anc |
⊢ ( ( 𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ( 𝐴 gcd 𝑃 ) = 1 ) → ( 𝐴 ↑ ( ϕ ‘ 𝑃 ) ) ∈ ℤ ) |
| 18 |
17
|
zred |
⊢ ( ( 𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ( 𝐴 gcd 𝑃 ) = 1 ) → ( 𝐴 ↑ ( ϕ ‘ 𝑃 ) ) ∈ ℝ ) |
| 19 |
|
1red |
⊢ ( ( 𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ( 𝐴 gcd 𝑃 ) = 1 ) → 1 ∈ ℝ ) |
| 20 |
13
|
nnrpd |
⊢ ( ( 𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ( 𝐴 gcd 𝑃 ) = 1 ) → 𝑃 ∈ ℝ+ ) |
| 21 |
|
eulerth |
⊢ ( ( 𝑃 ∈ ℕ ∧ 𝐴 ∈ ℤ ∧ ( 𝐴 gcd 𝑃 ) = 1 ) → ( ( 𝐴 ↑ ( ϕ ‘ 𝑃 ) ) mod 𝑃 ) = ( 1 mod 𝑃 ) ) |
| 22 |
1 21
|
syl3an1 |
⊢ ( ( 𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ( 𝐴 gcd 𝑃 ) = 1 ) → ( ( 𝐴 ↑ ( ϕ ‘ 𝑃 ) ) mod 𝑃 ) = ( 1 mod 𝑃 ) ) |
| 23 |
|
modmul1 |
⊢ ( ( ( ( 𝐴 ↑ ( ϕ ‘ 𝑃 ) ) ∈ ℝ ∧ 1 ∈ ℝ ) ∧ ( 𝐴 ∈ ℤ ∧ 𝑃 ∈ ℝ+ ) ∧ ( ( 𝐴 ↑ ( ϕ ‘ 𝑃 ) ) mod 𝑃 ) = ( 1 mod 𝑃 ) ) → ( ( ( 𝐴 ↑ ( ϕ ‘ 𝑃 ) ) · 𝐴 ) mod 𝑃 ) = ( ( 1 · 𝐴 ) mod 𝑃 ) ) |
| 24 |
18 19 12 20 22 23
|
syl221anc |
⊢ ( ( 𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ( 𝐴 gcd 𝑃 ) = 1 ) → ( ( ( 𝐴 ↑ ( ϕ ‘ 𝑃 ) ) · 𝐴 ) mod 𝑃 ) = ( ( 1 · 𝐴 ) mod 𝑃 ) ) |
| 25 |
|
phiprm |
⊢ ( 𝑃 ∈ ℙ → ( ϕ ‘ 𝑃 ) = ( 𝑃 − 1 ) ) |
| 26 |
25
|
3ad2ant1 |
⊢ ( ( 𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ( 𝐴 gcd 𝑃 ) = 1 ) → ( ϕ ‘ 𝑃 ) = ( 𝑃 − 1 ) ) |
| 27 |
26
|
oveq2d |
⊢ ( ( 𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ( 𝐴 gcd 𝑃 ) = 1 ) → ( 𝐴 ↑ ( ϕ ‘ 𝑃 ) ) = ( 𝐴 ↑ ( 𝑃 − 1 ) ) ) |
| 28 |
27
|
oveq1d |
⊢ ( ( 𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ( 𝐴 gcd 𝑃 ) = 1 ) → ( ( 𝐴 ↑ ( ϕ ‘ 𝑃 ) ) · 𝐴 ) = ( ( 𝐴 ↑ ( 𝑃 − 1 ) ) · 𝐴 ) ) |
| 29 |
12
|
zcnd |
⊢ ( ( 𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ( 𝐴 gcd 𝑃 ) = 1 ) → 𝐴 ∈ ℂ ) |
| 30 |
|
expm1t |
⊢ ( ( 𝐴 ∈ ℂ ∧ 𝑃 ∈ ℕ ) → ( 𝐴 ↑ 𝑃 ) = ( ( 𝐴 ↑ ( 𝑃 − 1 ) ) · 𝐴 ) ) |
| 31 |
29 13 30
|
syl2anc |
⊢ ( ( 𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ( 𝐴 gcd 𝑃 ) = 1 ) → ( 𝐴 ↑ 𝑃 ) = ( ( 𝐴 ↑ ( 𝑃 − 1 ) ) · 𝐴 ) ) |
| 32 |
28 31
|
eqtr4d |
⊢ ( ( 𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ( 𝐴 gcd 𝑃 ) = 1 ) → ( ( 𝐴 ↑ ( ϕ ‘ 𝑃 ) ) · 𝐴 ) = ( 𝐴 ↑ 𝑃 ) ) |
| 33 |
32
|
oveq1d |
⊢ ( ( 𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ( 𝐴 gcd 𝑃 ) = 1 ) → ( ( ( 𝐴 ↑ ( ϕ ‘ 𝑃 ) ) · 𝐴 ) mod 𝑃 ) = ( ( 𝐴 ↑ 𝑃 ) mod 𝑃 ) ) |
| 34 |
29
|
mullidd |
⊢ ( ( 𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ( 𝐴 gcd 𝑃 ) = 1 ) → ( 1 · 𝐴 ) = 𝐴 ) |
| 35 |
34
|
oveq1d |
⊢ ( ( 𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ( 𝐴 gcd 𝑃 ) = 1 ) → ( ( 1 · 𝐴 ) mod 𝑃 ) = ( 𝐴 mod 𝑃 ) ) |
| 36 |
24 33 35
|
3eqtr3d |
⊢ ( ( 𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ( 𝐴 gcd 𝑃 ) = 1 ) → ( ( 𝐴 ↑ 𝑃 ) mod 𝑃 ) = ( 𝐴 mod 𝑃 ) ) |
| 37 |
36
|
3expia |
⊢ ( ( 𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ) → ( ( 𝐴 gcd 𝑃 ) = 1 → ( ( 𝐴 ↑ 𝑃 ) mod 𝑃 ) = ( 𝐴 mod 𝑃 ) ) ) |
| 38 |
11 37
|
sylbid |
⊢ ( ( 𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ) → ( ¬ 𝑃 ∥ 𝐴 → ( ( 𝐴 ↑ 𝑃 ) mod 𝑃 ) = ( 𝐴 mod 𝑃 ) ) ) |
| 39 |
5 38
|
pm2.61d |
⊢ ( ( 𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ) → ( ( 𝐴 ↑ 𝑃 ) mod 𝑃 ) = ( 𝐴 mod 𝑃 ) ) |