ILE Home Intuitionistic Logic Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  ILE Home  >  Th. List  >  prmdiv GIF version

Theorem prmdiv 12249
Description: Show an explicit expression for the modular inverse of 𝐴 mod 𝑃. (Contributed by Mario Carneiro, 24-Jan-2015.)
Hypothesis
Ref Expression
prmdiv.1 𝑅 = ((𝐴↑(𝑃 − 2)) mod 𝑃)
Assertion
Ref Expression
prmdiv ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝑅 ∈ (1...(𝑃 − 1)) ∧ 𝑃 ∥ ((𝐴 · 𝑅) − 1)))

Proof of Theorem prmdiv
StepHypRef Expression
1 nprmdvds1 12154 . . . . . 6 (𝑃 ∈ ℙ → ¬ 𝑃 ∥ 1)
213ad2ant1 1019 . . . . 5 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → ¬ 𝑃 ∥ 1)
3 prmz 12125 . . . . . . . . . 10 (𝑃 ∈ ℙ → 𝑃 ∈ ℤ)
433ad2ant1 1019 . . . . . . . . 9 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 𝑃 ∈ ℤ)
5 simp2 999 . . . . . . . . . . 11 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 𝐴 ∈ ℤ)
6 phiprm 12237 . . . . . . . . . . . . 13 (𝑃 ∈ ℙ → (ϕ‘𝑃) = (𝑃 − 1))
763ad2ant1 1019 . . . . . . . . . . . 12 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (ϕ‘𝑃) = (𝑃 − 1))
8 prmnn 12124 . . . . . . . . . . . . . 14 (𝑃 ∈ ℙ → 𝑃 ∈ ℕ)
983ad2ant1 1019 . . . . . . . . . . . . 13 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 𝑃 ∈ ℕ)
10 nnm1nn0 9231 . . . . . . . . . . . . 13 (𝑃 ∈ ℕ → (𝑃 − 1) ∈ ℕ0)
119, 10syl 14 . . . . . . . . . . . 12 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝑃 − 1) ∈ ℕ0)
127, 11eqeltrd 2264 . . . . . . . . . . 11 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (ϕ‘𝑃) ∈ ℕ0)
13 zexpcl 10549 . . . . . . . . . . 11 ((𝐴 ∈ ℤ ∧ (ϕ‘𝑃) ∈ ℕ0) → (𝐴↑(ϕ‘𝑃)) ∈ ℤ)
145, 12, 13syl2anc 411 . . . . . . . . . 10 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝐴↑(ϕ‘𝑃)) ∈ ℤ)
15 1z 9293 . . . . . . . . . 10 1 ∈ ℤ
16 zsubcl 9308 . . . . . . . . . 10 (((𝐴↑(ϕ‘𝑃)) ∈ ℤ ∧ 1 ∈ ℤ) → ((𝐴↑(ϕ‘𝑃)) − 1) ∈ ℤ)
1714, 15, 16sylancl 413 . . . . . . . . 9 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → ((𝐴↑(ϕ‘𝑃)) − 1) ∈ ℤ)
18 prmuz2 12145 . . . . . . . . . . . . . . . 16 (𝑃 ∈ ℙ → 𝑃 ∈ (ℤ‘2))
19183ad2ant1 1019 . . . . . . . . . . . . . . 15 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 𝑃 ∈ (ℤ‘2))
20 uznn0sub 9573 . . . . . . . . . . . . . . 15 (𝑃 ∈ (ℤ‘2) → (𝑃 − 2) ∈ ℕ0)
2119, 20syl 14 . . . . . . . . . . . . . 14 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝑃 − 2) ∈ ℕ0)
22 zexpcl 10549 . . . . . . . . . . . . . 14 ((𝐴 ∈ ℤ ∧ (𝑃 − 2) ∈ ℕ0) → (𝐴↑(𝑃 − 2)) ∈ ℤ)
235, 21, 22syl2anc 411 . . . . . . . . . . . . 13 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝐴↑(𝑃 − 2)) ∈ ℤ)
24 znq 9638 . . . . . . . . . . . . 13 (((𝐴↑(𝑃 − 2)) ∈ ℤ ∧ 𝑃 ∈ ℕ) → ((𝐴↑(𝑃 − 2)) / 𝑃) ∈ ℚ)
2523, 9, 24syl2anc 411 . . . . . . . . . . . 12 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → ((𝐴↑(𝑃 − 2)) / 𝑃) ∈ ℚ)
2625flqcld 10291 . . . . . . . . . . 11 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃)) ∈ ℤ)
275, 26zmulcld 9395 . . . . . . . . . 10 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝐴 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃))) ∈ ℤ)
284, 27zmulcld 9395 . . . . . . . . 9 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝑃 · (𝐴 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃)))) ∈ ℤ)
295, 4gcdcomd 11989 . . . . . . . . . . . 12 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝐴 gcd 𝑃) = (𝑃 gcd 𝐴))
30 coprm 12158 . . . . . . . . . . . . 13 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ) → (¬ 𝑃𝐴 ↔ (𝑃 gcd 𝐴) = 1))
3130biimp3a 1355 . . . . . . . . . . . 12 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝑃 gcd 𝐴) = 1)
3229, 31eqtrd 2220 . . . . . . . . . . 11 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝐴 gcd 𝑃) = 1)
33 eulerth 12247 . . . . . . . . . . 11 ((𝑃 ∈ ℕ ∧ 𝐴 ∈ ℤ ∧ (𝐴 gcd 𝑃) = 1) → ((𝐴↑(ϕ‘𝑃)) mod 𝑃) = (1 mod 𝑃))
349, 5, 32, 33syl3anc 1248 . . . . . . . . . 10 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → ((𝐴↑(ϕ‘𝑃)) mod 𝑃) = (1 mod 𝑃))
35 1zzd 9294 . . . . . . . . . . 11 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 1 ∈ ℤ)
36 moddvds 11820 . . . . . . . . . . 11 ((𝑃 ∈ ℕ ∧ (𝐴↑(ϕ‘𝑃)) ∈ ℤ ∧ 1 ∈ ℤ) → (((𝐴↑(ϕ‘𝑃)) mod 𝑃) = (1 mod 𝑃) ↔ 𝑃 ∥ ((𝐴↑(ϕ‘𝑃)) − 1)))
379, 14, 35, 36syl3anc 1248 . . . . . . . . . 10 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (((𝐴↑(ϕ‘𝑃)) mod 𝑃) = (1 mod 𝑃) ↔ 𝑃 ∥ ((𝐴↑(ϕ‘𝑃)) − 1)))
3834, 37mpbid 147 . . . . . . . . 9 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 𝑃 ∥ ((𝐴↑(ϕ‘𝑃)) − 1))
39 dvdsmul1 11834 . . . . . . . . . 10 ((𝑃 ∈ ℤ ∧ (𝐴 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃))) ∈ ℤ) → 𝑃 ∥ (𝑃 · (𝐴 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃)))))
404, 27, 39syl2anc 411 . . . . . . . . 9 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 𝑃 ∥ (𝑃 · (𝐴 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃)))))
414, 17, 28, 38, 40dvds2subd 11848 . . . . . . . 8 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 𝑃 ∥ (((𝐴↑(ϕ‘𝑃)) − 1) − (𝑃 · (𝐴 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃))))))
425zcnd 9390 . . . . . . . . . . . 12 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 𝐴 ∈ ℂ)
4323zcnd 9390 . . . . . . . . . . . 12 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝐴↑(𝑃 − 2)) ∈ ℂ)
444, 26zmulcld 9395 . . . . . . . . . . . . 13 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝑃 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃))) ∈ ℤ)
4544zcnd 9390 . . . . . . . . . . . 12 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝑃 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃))) ∈ ℂ)
4642, 43, 45subdid 8385 . . . . . . . . . . 11 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝐴 · ((𝐴↑(𝑃 − 2)) − (𝑃 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃))))) = ((𝐴 · (𝐴↑(𝑃 − 2))) − (𝐴 · (𝑃 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃))))))
47 prmdiv.1 . . . . . . . . . . . . 13 𝑅 = ((𝐴↑(𝑃 − 2)) mod 𝑃)
48 zq 9640 . . . . . . . . . . . . . . 15 ((𝐴↑(𝑃 − 2)) ∈ ℤ → (𝐴↑(𝑃 − 2)) ∈ ℚ)
4923, 48syl 14 . . . . . . . . . . . . . 14 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝐴↑(𝑃 − 2)) ∈ ℚ)
50 nnq 9647 . . . . . . . . . . . . . . 15 (𝑃 ∈ ℕ → 𝑃 ∈ ℚ)
519, 50syl 14 . . . . . . . . . . . . . 14 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 𝑃 ∈ ℚ)
529nngt0d 8977 . . . . . . . . . . . . . 14 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 0 < 𝑃)
53 modqval 10338 . . . . . . . . . . . . . 14 (((𝐴↑(𝑃 − 2)) ∈ ℚ ∧ 𝑃 ∈ ℚ ∧ 0 < 𝑃) → ((𝐴↑(𝑃 − 2)) mod 𝑃) = ((𝐴↑(𝑃 − 2)) − (𝑃 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃)))))
5449, 51, 52, 53syl3anc 1248 . . . . . . . . . . . . 13 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → ((𝐴↑(𝑃 − 2)) mod 𝑃) = ((𝐴↑(𝑃 − 2)) − (𝑃 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃)))))
5547, 54eqtrid 2232 . . . . . . . . . . . 12 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 𝑅 = ((𝐴↑(𝑃 − 2)) − (𝑃 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃)))))
5655oveq2d 5904 . . . . . . . . . . 11 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝐴 · 𝑅) = (𝐴 · ((𝐴↑(𝑃 − 2)) − (𝑃 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃))))))
57 2m1e1 9051 . . . . . . . . . . . . . . . . 17 (2 − 1) = 1
5857oveq2i 5899 . . . . . . . . . . . . . . . 16 (𝑃 − (2 − 1)) = (𝑃 − 1)
597, 58eqtr4di 2238 . . . . . . . . . . . . . . 15 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (ϕ‘𝑃) = (𝑃 − (2 − 1)))
609nncnd 8947 . . . . . . . . . . . . . . . 16 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 𝑃 ∈ ℂ)
61 2cnd 9006 . . . . . . . . . . . . . . . 16 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 2 ∈ ℂ)
62 1cnd 7987 . . . . . . . . . . . . . . . 16 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 1 ∈ ℂ)
6360, 61, 62subsubd 8310 . . . . . . . . . . . . . . 15 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝑃 − (2 − 1)) = ((𝑃 − 2) + 1))
6459, 63eqtrd 2220 . . . . . . . . . . . . . 14 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (ϕ‘𝑃) = ((𝑃 − 2) + 1))
6564oveq2d 5904 . . . . . . . . . . . . 13 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝐴↑(ϕ‘𝑃)) = (𝐴↑((𝑃 − 2) + 1)))
6642, 21expp1d 10669 . . . . . . . . . . . . 13 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝐴↑((𝑃 − 2) + 1)) = ((𝐴↑(𝑃 − 2)) · 𝐴))
6743, 42mulcomd 7993 . . . . . . . . . . . . 13 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → ((𝐴↑(𝑃 − 2)) · 𝐴) = (𝐴 · (𝐴↑(𝑃 − 2))))
6865, 66, 673eqtrd 2224 . . . . . . . . . . . 12 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝐴↑(ϕ‘𝑃)) = (𝐴 · (𝐴↑(𝑃 − 2))))
6926zcnd 9390 . . . . . . . . . . . . 13 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃)) ∈ ℂ)
7060, 42, 69mul12d 8123 . . . . . . . . . . . 12 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝑃 · (𝐴 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃)))) = (𝐴 · (𝑃 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃)))))
7168, 70oveq12d 5906 . . . . . . . . . . 11 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → ((𝐴↑(ϕ‘𝑃)) − (𝑃 · (𝐴 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃))))) = ((𝐴 · (𝐴↑(𝑃 − 2))) − (𝐴 · (𝑃 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃))))))
7246, 56, 713eqtr4d 2230 . . . . . . . . . 10 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝐴 · 𝑅) = ((𝐴↑(ϕ‘𝑃)) − (𝑃 · (𝐴 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃))))))
7372oveq1d 5903 . . . . . . . . 9 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → ((𝐴 · 𝑅) − 1) = (((𝐴↑(ϕ‘𝑃)) − (𝑃 · (𝐴 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃))))) − 1))
7414zcnd 9390 . . . . . . . . . 10 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝐴↑(ϕ‘𝑃)) ∈ ℂ)
7528zcnd 9390 . . . . . . . . . 10 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝑃 · (𝐴 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃)))) ∈ ℂ)
7674, 75, 62sub32d 8314 . . . . . . . . 9 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (((𝐴↑(ϕ‘𝑃)) − (𝑃 · (𝐴 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃))))) − 1) = (((𝐴↑(ϕ‘𝑃)) − 1) − (𝑃 · (𝐴 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃))))))
7773, 76eqtrd 2220 . . . . . . . 8 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → ((𝐴 · 𝑅) − 1) = (((𝐴↑(ϕ‘𝑃)) − 1) − (𝑃 · (𝐴 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃))))))
7841, 77breqtrrd 4043 . . . . . . 7 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 𝑃 ∥ ((𝐴 · 𝑅) − 1))
79 oveq2 5896 . . . . . . . . 9 (𝑅 = 0 → (𝐴 · 𝑅) = (𝐴 · 0))
8079oveq1d 5903 . . . . . . . 8 (𝑅 = 0 → ((𝐴 · 𝑅) − 1) = ((𝐴 · 0) − 1))
8180breq2d 4027 . . . . . . 7 (𝑅 = 0 → (𝑃 ∥ ((𝐴 · 𝑅) − 1) ↔ 𝑃 ∥ ((𝐴 · 0) − 1)))
8278, 81syl5ibcom 155 . . . . . 6 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝑅 = 0 → 𝑃 ∥ ((𝐴 · 0) − 1)))
8342mul01d 8364 . . . . . . . . . 10 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝐴 · 0) = 0)
8483oveq1d 5903 . . . . . . . . 9 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → ((𝐴 · 0) − 1) = (0 − 1))
85 df-neg 8145 . . . . . . . . 9 -1 = (0 − 1)
8684, 85eqtr4di 2238 . . . . . . . 8 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → ((𝐴 · 0) − 1) = -1)
8786breq2d 4027 . . . . . . 7 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝑃 ∥ ((𝐴 · 0) − 1) ↔ 𝑃 ∥ -1))
88 dvdsnegb 11829 . . . . . . . 8 ((𝑃 ∈ ℤ ∧ 1 ∈ ℤ) → (𝑃 ∥ 1 ↔ 𝑃 ∥ -1))
894, 15, 88sylancl 413 . . . . . . 7 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝑃 ∥ 1 ↔ 𝑃 ∥ -1))
9087, 89bitr4d 191 . . . . . 6 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝑃 ∥ ((𝐴 · 0) − 1) ↔ 𝑃 ∥ 1))
9182, 90sylibd 149 . . . . 5 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝑅 = 0 → 𝑃 ∥ 1))
922, 91mtod 664 . . . 4 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → ¬ 𝑅 = 0)
93 zmodfz 10360 . . . . . . . 8 (((𝐴↑(𝑃 − 2)) ∈ ℤ ∧ 𝑃 ∈ ℕ) → ((𝐴↑(𝑃 − 2)) mod 𝑃) ∈ (0...(𝑃 − 1)))
9423, 9, 93syl2anc 411 . . . . . . 7 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → ((𝐴↑(𝑃 − 2)) mod 𝑃) ∈ (0...(𝑃 − 1)))
9547, 94eqeltrid 2274 . . . . . 6 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 𝑅 ∈ (0...(𝑃 − 1)))
96 nn0uz 9576 . . . . . . . 8 0 = (ℤ‘0)
9711, 96eleqtrdi 2280 . . . . . . 7 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝑃 − 1) ∈ (ℤ‘0))
98 elfzp12 10113 . . . . . . 7 ((𝑃 − 1) ∈ (ℤ‘0) → (𝑅 ∈ (0...(𝑃 − 1)) ↔ (𝑅 = 0 ∨ 𝑅 ∈ ((0 + 1)...(𝑃 − 1)))))
9997, 98syl 14 . . . . . 6 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝑅 ∈ (0...(𝑃 − 1)) ↔ (𝑅 = 0 ∨ 𝑅 ∈ ((0 + 1)...(𝑃 − 1)))))
10095, 99mpbid 147 . . . . 5 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝑅 = 0 ∨ 𝑅 ∈ ((0 + 1)...(𝑃 − 1))))
101100ord 725 . . . 4 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (¬ 𝑅 = 0 → 𝑅 ∈ ((0 + 1)...(𝑃 − 1))))
10292, 101mpd 13 . . 3 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 𝑅 ∈ ((0 + 1)...(𝑃 − 1)))
103 1e0p1 9439 . . . 4 1 = (0 + 1)
104103oveq1i 5898 . . 3 (1...(𝑃 − 1)) = ((0 + 1)...(𝑃 − 1))
105102, 104eleqtrrdi 2281 . 2 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 𝑅 ∈ (1...(𝑃 − 1)))
106105, 78jca 306 1 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝑅 ∈ (1...(𝑃 − 1)) ∧ 𝑃 ∥ ((𝐴 · 𝑅) − 1)))
Colors of variables: wff set class
Syntax hints:  ¬ wn 3  wi 4  wa 104  wb 105  wo 709  w3a 979   = wceq 1363  wcel 2158   class class class wbr 4015  cfv 5228  (class class class)co 5888  0cc0 7825  1c1 7826   + caddc 7828   · cmul 7830   < clt 8006  cmin 8142  -cneg 8143   / cdiv 8643  cn 8933  2c2 8984  0cn0 9190  cz 9267  cuz 9542  cq 9633  ...cfz 10022  cfl 10282   mod cmo 10336  cexp 10533  cdvds 11808   gcd cgcd 11957  cprime 12121  ϕcphi 12223
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-ia1 106  ax-ia2 107  ax-ia3 108  ax-in1 615  ax-in2 616  ax-io 710  ax-5 1457  ax-7 1458  ax-gen 1459  ax-ie1 1503  ax-ie2 1504  ax-8 1514  ax-10 1515  ax-11 1516  ax-i12 1517  ax-bndl 1519  ax-4 1520  ax-17 1536  ax-i9 1540  ax-ial 1544  ax-i5r 1545  ax-13 2160  ax-14 2161  ax-ext 2169  ax-coll 4130  ax-sep 4133  ax-nul 4141  ax-pow 4186  ax-pr 4221  ax-un 4445  ax-setind 4548  ax-iinf 4599  ax-cnex 7916  ax-resscn 7917  ax-1cn 7918  ax-1re 7919  ax-icn 7920  ax-addcl 7921  ax-addrcl 7922  ax-mulcl 7923  ax-mulrcl 7924  ax-addcom 7925  ax-mulcom 7926  ax-addass 7927  ax-mulass 7928  ax-distr 7929  ax-i2m1 7930  ax-0lt1 7931  ax-1rid 7932  ax-0id 7933  ax-rnegex 7934  ax-precex 7935  ax-cnre 7936  ax-pre-ltirr 7937  ax-pre-ltwlin 7938  ax-pre-lttrn 7939  ax-pre-apti 7940  ax-pre-ltadd 7941  ax-pre-mulgt0 7942  ax-pre-mulext 7943  ax-arch 7944  ax-caucvg 7945
This theorem depends on definitions:  df-bi 117  df-stab 832  df-dc 836  df-3or 980  df-3an 981  df-tru 1366  df-fal 1369  df-nf 1471  df-sb 1773  df-eu 2039  df-mo 2040  df-clab 2174  df-cleq 2180  df-clel 2183  df-nfc 2318  df-ne 2358  df-nel 2453  df-ral 2470  df-rex 2471  df-reu 2472  df-rmo 2473  df-rab 2474  df-v 2751  df-sbc 2975  df-csb 3070  df-dif 3143  df-un 3145  df-in 3147  df-ss 3154  df-nul 3435  df-if 3547  df-pw 3589  df-sn 3610  df-pr 3611  df-op 3613  df-uni 3822  df-int 3857  df-iun 3900  df-br 4016  df-opab 4077  df-mpt 4078  df-tr 4114  df-id 4305  df-po 4308  df-iso 4309  df-iord 4378  df-on 4380  df-ilim 4381  df-suc 4383  df-iom 4602  df-xp 4644  df-rel 4645  df-cnv 4646  df-co 4647  df-dm 4648  df-rn 4649  df-res 4650  df-ima 4651  df-iota 5190  df-fun 5230  df-fn 5231  df-f 5232  df-f1 5233  df-fo 5234  df-f1o 5235  df-fv 5236  df-isom 5237  df-riota 5844  df-ov 5891  df-oprab 5892  df-mpo 5893  df-1st 6155  df-2nd 6156  df-recs 6320  df-irdg 6385  df-frec 6406  df-1o 6431  df-2o 6432  df-oadd 6435  df-er 6549  df-en 6755  df-dom 6756  df-fin 6757  df-sup 6997  df-pnf 8008  df-mnf 8009  df-xr 8010  df-ltxr 8011  df-le 8012  df-sub 8144  df-neg 8145  df-reap 8546  df-ap 8553  df-div 8644  df-inn 8934  df-2 8992  df-3 8993  df-4 8994  df-n0 9191  df-z 9268  df-uz 9543  df-q 9634  df-rp 9668  df-fz 10023  df-fzo 10157  df-fl 10284  df-mod 10337  df-seqfrec 10460  df-exp 10534  df-ihash 10770  df-cj 10865  df-re 10866  df-im 10867  df-rsqrt 11021  df-abs 11022  df-clim 11301  df-proddc 11573  df-dvds 11809  df-gcd 11958  df-prm 12122  df-phi 12225
This theorem is referenced by:  prmdiveq  12250  prmdivdiv  12251  modprminv  12263
  Copyright terms: Public domain W3C validator