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

Theorem prmdiv 12800
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 12705 . . . . . 6 (𝑃 ∈ ℙ → ¬ 𝑃 ∥ 1)
213ad2ant1 1042 . . . . 5 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → ¬ 𝑃 ∥ 1)
3 prmz 12676 . . . . . . . . . 10 (𝑃 ∈ ℙ → 𝑃 ∈ ℤ)
433ad2ant1 1042 . . . . . . . . 9 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 𝑃 ∈ ℤ)
5 simp2 1022 . . . . . . . . . . 11 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 𝐴 ∈ ℤ)
6 phiprm 12788 . . . . . . . . . . . . 13 (𝑃 ∈ ℙ → (ϕ‘𝑃) = (𝑃 − 1))
763ad2ant1 1042 . . . . . . . . . . . 12 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (ϕ‘𝑃) = (𝑃 − 1))
8 prmnn 12675 . . . . . . . . . . . . . 14 (𝑃 ∈ ℙ → 𝑃 ∈ ℕ)
983ad2ant1 1042 . . . . . . . . . . . . 13 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 𝑃 ∈ ℕ)
10 nnm1nn0 9436 . . . . . . . . . . . . 13 (𝑃 ∈ ℕ → (𝑃 − 1) ∈ ℕ0)
119, 10syl 14 . . . . . . . . . . . 12 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝑃 − 1) ∈ ℕ0)
127, 11eqeltrd 2306 . . . . . . . . . . 11 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (ϕ‘𝑃) ∈ ℕ0)
13 zexpcl 10809 . . . . . . . . . . 11 ((𝐴 ∈ ℤ ∧ (ϕ‘𝑃) ∈ ℕ0) → (𝐴↑(ϕ‘𝑃)) ∈ ℤ)
145, 12, 13syl2anc 411 . . . . . . . . . 10 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝐴↑(ϕ‘𝑃)) ∈ ℤ)
15 1z 9498 . . . . . . . . . 10 1 ∈ ℤ
16 zsubcl 9513 . . . . . . . . . 10 (((𝐴↑(ϕ‘𝑃)) ∈ ℤ ∧ 1 ∈ ℤ) → ((𝐴↑(ϕ‘𝑃)) − 1) ∈ ℤ)
1714, 15, 16sylancl 413 . . . . . . . . 9 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → ((𝐴↑(ϕ‘𝑃)) − 1) ∈ ℤ)
18 prmuz2 12696 . . . . . . . . . . . . . . . 16 (𝑃 ∈ ℙ → 𝑃 ∈ (ℤ‘2))
19183ad2ant1 1042 . . . . . . . . . . . . . . 15 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 𝑃 ∈ (ℤ‘2))
20 uznn0sub 9781 . . . . . . . . . . . . . . 15 (𝑃 ∈ (ℤ‘2) → (𝑃 − 2) ∈ ℕ0)
2119, 20syl 14 . . . . . . . . . . . . . 14 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝑃 − 2) ∈ ℕ0)
22 zexpcl 10809 . . . . . . . . . . . . . 14 ((𝐴 ∈ ℤ ∧ (𝑃 − 2) ∈ ℕ0) → (𝐴↑(𝑃 − 2)) ∈ ℤ)
235, 21, 22syl2anc 411 . . . . . . . . . . . . 13 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝐴↑(𝑃 − 2)) ∈ ℤ)
24 znq 9851 . . . . . . . . . . . . 13 (((𝐴↑(𝑃 − 2)) ∈ ℤ ∧ 𝑃 ∈ ℕ) → ((𝐴↑(𝑃 − 2)) / 𝑃) ∈ ℚ)
2523, 9, 24syl2anc 411 . . . . . . . . . . . 12 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → ((𝐴↑(𝑃 − 2)) / 𝑃) ∈ ℚ)
2625flqcld 10530 . . . . . . . . . . 11 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃)) ∈ ℤ)
275, 26zmulcld 9601 . . . . . . . . . 10 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝐴 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃))) ∈ ℤ)
284, 27zmulcld 9601 . . . . . . . . 9 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝑃 · (𝐴 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃)))) ∈ ℤ)
295, 4gcdcomd 12538 . . . . . . . . . . . 12 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝐴 gcd 𝑃) = (𝑃 gcd 𝐴))
30 coprm 12709 . . . . . . . . . . . . 13 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ) → (¬ 𝑃𝐴 ↔ (𝑃 gcd 𝐴) = 1))
3130biimp3a 1379 . . . . . . . . . . . 12 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝑃 gcd 𝐴) = 1)
3229, 31eqtrd 2262 . . . . . . . . . . 11 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝐴 gcd 𝑃) = 1)
33 eulerth 12798 . . . . . . . . . . 11 ((𝑃 ∈ ℕ ∧ 𝐴 ∈ ℤ ∧ (𝐴 gcd 𝑃) = 1) → ((𝐴↑(ϕ‘𝑃)) mod 𝑃) = (1 mod 𝑃))
349, 5, 32, 33syl3anc 1271 . . . . . . . . . 10 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → ((𝐴↑(ϕ‘𝑃)) mod 𝑃) = (1 mod 𝑃))
35 1zzd 9499 . . . . . . . . . . 11 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 1 ∈ ℤ)
36 moddvds 12353 . . . . . . . . . . 11 ((𝑃 ∈ ℕ ∧ (𝐴↑(ϕ‘𝑃)) ∈ ℤ ∧ 1 ∈ ℤ) → (((𝐴↑(ϕ‘𝑃)) mod 𝑃) = (1 mod 𝑃) ↔ 𝑃 ∥ ((𝐴↑(ϕ‘𝑃)) − 1)))
379, 14, 35, 36syl3anc 1271 . . . . . . . . . 10 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (((𝐴↑(ϕ‘𝑃)) mod 𝑃) = (1 mod 𝑃) ↔ 𝑃 ∥ ((𝐴↑(ϕ‘𝑃)) − 1)))
3834, 37mpbid 147 . . . . . . . . 9 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 𝑃 ∥ ((𝐴↑(ϕ‘𝑃)) − 1))
39 dvdsmul1 12367 . . . . . . . . . 10 ((𝑃 ∈ ℤ ∧ (𝐴 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃))) ∈ ℤ) → 𝑃 ∥ (𝑃 · (𝐴 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃)))))
404, 27, 39syl2anc 411 . . . . . . . . 9 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 𝑃 ∥ (𝑃 · (𝐴 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃)))))
414, 17, 28, 38, 40dvds2subd 12381 . . . . . . . 8 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 𝑃 ∥ (((𝐴↑(ϕ‘𝑃)) − 1) − (𝑃 · (𝐴 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃))))))
425zcnd 9596 . . . . . . . . . . . 12 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 𝐴 ∈ ℂ)
4323zcnd 9596 . . . . . . . . . . . 12 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝐴↑(𝑃 − 2)) ∈ ℂ)
444, 26zmulcld 9601 . . . . . . . . . . . . 13 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝑃 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃))) ∈ ℤ)
4544zcnd 9596 . . . . . . . . . . . 12 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝑃 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃))) ∈ ℂ)
4642, 43, 45subdid 8586 . . . . . . . . . . 11 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝐴 · ((𝐴↑(𝑃 − 2)) − (𝑃 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃))))) = ((𝐴 · (𝐴↑(𝑃 − 2))) − (𝐴 · (𝑃 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃))))))
47 prmdiv.1 . . . . . . . . . . . . 13 𝑅 = ((𝐴↑(𝑃 − 2)) mod 𝑃)
48 zq 9853 . . . . . . . . . . . . . . 15 ((𝐴↑(𝑃 − 2)) ∈ ℤ → (𝐴↑(𝑃 − 2)) ∈ ℚ)
4923, 48syl 14 . . . . . . . . . . . . . 14 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝐴↑(𝑃 − 2)) ∈ ℚ)
50 nnq 9860 . . . . . . . . . . . . . . 15 (𝑃 ∈ ℕ → 𝑃 ∈ ℚ)
519, 50syl 14 . . . . . . . . . . . . . 14 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 𝑃 ∈ ℚ)
529nngt0d 9180 . . . . . . . . . . . . . 14 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 0 < 𝑃)
53 modqval 10579 . . . . . . . . . . . . . 14 (((𝐴↑(𝑃 − 2)) ∈ ℚ ∧ 𝑃 ∈ ℚ ∧ 0 < 𝑃) → ((𝐴↑(𝑃 − 2)) mod 𝑃) = ((𝐴↑(𝑃 − 2)) − (𝑃 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃)))))
5449, 51, 52, 53syl3anc 1271 . . . . . . . . . . . . 13 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → ((𝐴↑(𝑃 − 2)) mod 𝑃) = ((𝐴↑(𝑃 − 2)) − (𝑃 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃)))))
5547, 54eqtrid 2274 . . . . . . . . . . . 12 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 𝑅 = ((𝐴↑(𝑃 − 2)) − (𝑃 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃)))))
5655oveq2d 6029 . . . . . . . . . . 11 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝐴 · 𝑅) = (𝐴 · ((𝐴↑(𝑃 − 2)) − (𝑃 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃))))))
57 2m1e1 9254 . . . . . . . . . . . . . . . . 17 (2 − 1) = 1
5857oveq2i 6024 . . . . . . . . . . . . . . . 16 (𝑃 − (2 − 1)) = (𝑃 − 1)
597, 58eqtr4di 2280 . . . . . . . . . . . . . . 15 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (ϕ‘𝑃) = (𝑃 − (2 − 1)))
609nncnd 9150 . . . . . . . . . . . . . . . 16 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 𝑃 ∈ ℂ)
61 2cnd 9209 . . . . . . . . . . . . . . . 16 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 2 ∈ ℂ)
62 1cnd 8188 . . . . . . . . . . . . . . . 16 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 1 ∈ ℂ)
6360, 61, 62subsubd 8511 . . . . . . . . . . . . . . 15 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝑃 − (2 − 1)) = ((𝑃 − 2) + 1))
6459, 63eqtrd 2262 . . . . . . . . . . . . . 14 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (ϕ‘𝑃) = ((𝑃 − 2) + 1))
6564oveq2d 6029 . . . . . . . . . . . . 13 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝐴↑(ϕ‘𝑃)) = (𝐴↑((𝑃 − 2) + 1)))
6642, 21expp1d 10929 . . . . . . . . . . . . 13 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝐴↑((𝑃 − 2) + 1)) = ((𝐴↑(𝑃 − 2)) · 𝐴))
6743, 42mulcomd 8194 . . . . . . . . . . . . 13 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → ((𝐴↑(𝑃 − 2)) · 𝐴) = (𝐴 · (𝐴↑(𝑃 − 2))))
6865, 66, 673eqtrd 2266 . . . . . . . . . . . 12 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝐴↑(ϕ‘𝑃)) = (𝐴 · (𝐴↑(𝑃 − 2))))
6926zcnd 9596 . . . . . . . . . . . . 13 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃)) ∈ ℂ)
7060, 42, 69mul12d 8324 . . . . . . . . . . . 12 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝑃 · (𝐴 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃)))) = (𝐴 · (𝑃 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃)))))
7168, 70oveq12d 6031 . . . . . . . . . . 11 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → ((𝐴↑(ϕ‘𝑃)) − (𝑃 · (𝐴 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃))))) = ((𝐴 · (𝐴↑(𝑃 − 2))) − (𝐴 · (𝑃 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃))))))
7246, 56, 713eqtr4d 2272 . . . . . . . . . 10 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝐴 · 𝑅) = ((𝐴↑(ϕ‘𝑃)) − (𝑃 · (𝐴 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃))))))
7372oveq1d 6028 . . . . . . . . 9 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → ((𝐴 · 𝑅) − 1) = (((𝐴↑(ϕ‘𝑃)) − (𝑃 · (𝐴 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃))))) − 1))
7414zcnd 9596 . . . . . . . . . 10 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝐴↑(ϕ‘𝑃)) ∈ ℂ)
7528zcnd 9596 . . . . . . . . . 10 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝑃 · (𝐴 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃)))) ∈ ℂ)
7674, 75, 62sub32d 8515 . . . . . . . . 9 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (((𝐴↑(ϕ‘𝑃)) − (𝑃 · (𝐴 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃))))) − 1) = (((𝐴↑(ϕ‘𝑃)) − 1) − (𝑃 · (𝐴 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃))))))
7773, 76eqtrd 2262 . . . . . . . 8 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → ((𝐴 · 𝑅) − 1) = (((𝐴↑(ϕ‘𝑃)) − 1) − (𝑃 · (𝐴 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃))))))
7841, 77breqtrrd 4114 . . . . . . 7 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 𝑃 ∥ ((𝐴 · 𝑅) − 1))
79 oveq2 6021 . . . . . . . . 9 (𝑅 = 0 → (𝐴 · 𝑅) = (𝐴 · 0))
8079oveq1d 6028 . . . . . . . 8 (𝑅 = 0 → ((𝐴 · 𝑅) − 1) = ((𝐴 · 0) − 1))
8180breq2d 4098 . . . . . . 7 (𝑅 = 0 → (𝑃 ∥ ((𝐴 · 𝑅) − 1) ↔ 𝑃 ∥ ((𝐴 · 0) − 1)))
8278, 81syl5ibcom 155 . . . . . 6 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝑅 = 0 → 𝑃 ∥ ((𝐴 · 0) − 1)))
8342mul01d 8565 . . . . . . . . . 10 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝐴 · 0) = 0)
8483oveq1d 6028 . . . . . . . . 9 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → ((𝐴 · 0) − 1) = (0 − 1))
85 df-neg 8346 . . . . . . . . 9 -1 = (0 − 1)
8684, 85eqtr4di 2280 . . . . . . . 8 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → ((𝐴 · 0) − 1) = -1)
8786breq2d 4098 . . . . . . 7 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝑃 ∥ ((𝐴 · 0) − 1) ↔ 𝑃 ∥ -1))
88 dvdsnegb 12362 . . . . . . . 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 667 . . . 4 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → ¬ 𝑅 = 0)
93 zmodfz 10601 . . . . . . . 8 (((𝐴↑(𝑃 − 2)) ∈ ℤ ∧ 𝑃 ∈ ℕ) → ((𝐴↑(𝑃 − 2)) mod 𝑃) ∈ (0...(𝑃 − 1)))
9423, 9, 93syl2anc 411 . . . . . . 7 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → ((𝐴↑(𝑃 − 2)) mod 𝑃) ∈ (0...(𝑃 − 1)))
9547, 94eqeltrid 2316 . . . . . 6 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 𝑅 ∈ (0...(𝑃 − 1)))
96 nn0uz 9784 . . . . . . . 8 0 = (ℤ‘0)
9711, 96eleqtrdi 2322 . . . . . . 7 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝑃 − 1) ∈ (ℤ‘0))
98 elfzp12 10327 . . . . . . 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 729 . . . 4 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (¬ 𝑅 = 0 → 𝑅 ∈ ((0 + 1)...(𝑃 − 1))))
10292, 101mpd 13 . . 3 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 𝑅 ∈ ((0 + 1)...(𝑃 − 1)))
103 1e0p1 9645 . . . 4 1 = (0 + 1)
104103oveq1i 6023 . . 3 (1...(𝑃 − 1)) = ((0 + 1)...(𝑃 − 1))
105102, 104eleqtrrdi 2323 . 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 713  w3a 1002   = wceq 1395  wcel 2200   class class class wbr 4086  cfv 5324  (class class class)co 6013  0cc0 8025  1c1 8026   + caddc 8028   · cmul 8030   < clt 8207  cmin 8343  -cneg 8344   / cdiv 8845  cn 9136  2c2 9187  0cn0 9395  cz 9472  cuz 9748  cq 9846  ...cfz 10236  cfl 10521   mod cmo 10577  cexp 10793  cdvds 12341   gcd cgcd 12517  cprime 12672  ϕcphi 12774
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 617  ax-in2 618  ax-io 714  ax-5 1493  ax-7 1494  ax-gen 1495  ax-ie1 1539  ax-ie2 1540  ax-8 1550  ax-10 1551  ax-11 1552  ax-i12 1553  ax-bndl 1555  ax-4 1556  ax-17 1572  ax-i9 1576  ax-ial 1580  ax-i5r 1581  ax-13 2202  ax-14 2203  ax-ext 2211  ax-coll 4202  ax-sep 4205  ax-nul 4213  ax-pow 4262  ax-pr 4297  ax-un 4528  ax-setind 4633  ax-iinf 4684  ax-cnex 8116  ax-resscn 8117  ax-1cn 8118  ax-1re 8119  ax-icn 8120  ax-addcl 8121  ax-addrcl 8122  ax-mulcl 8123  ax-mulrcl 8124  ax-addcom 8125  ax-mulcom 8126  ax-addass 8127  ax-mulass 8128  ax-distr 8129  ax-i2m1 8130  ax-0lt1 8131  ax-1rid 8132  ax-0id 8133  ax-rnegex 8134  ax-precex 8135  ax-cnre 8136  ax-pre-ltirr 8137  ax-pre-ltwlin 8138  ax-pre-lttrn 8139  ax-pre-apti 8140  ax-pre-ltadd 8141  ax-pre-mulgt0 8142  ax-pre-mulext 8143  ax-arch 8144  ax-caucvg 8145
This theorem depends on definitions:  df-bi 117  df-stab 836  df-dc 840  df-3or 1003  df-3an 1004  df-tru 1398  df-fal 1401  df-nf 1507  df-sb 1809  df-eu 2080  df-mo 2081  df-clab 2216  df-cleq 2222  df-clel 2225  df-nfc 2361  df-ne 2401  df-nel 2496  df-ral 2513  df-rex 2514  df-reu 2515  df-rmo 2516  df-rab 2517  df-v 2802  df-sbc 3030  df-csb 3126  df-dif 3200  df-un 3202  df-in 3204  df-ss 3211  df-nul 3493  df-if 3604  df-pw 3652  df-sn 3673  df-pr 3674  df-op 3676  df-uni 3892  df-int 3927  df-iun 3970  df-br 4087  df-opab 4149  df-mpt 4150  df-tr 4186  df-id 4388  df-po 4391  df-iso 4392  df-iord 4461  df-on 4463  df-ilim 4464  df-suc 4466  df-iom 4687  df-xp 4729  df-rel 4730  df-cnv 4731  df-co 4732  df-dm 4733  df-rn 4734  df-res 4735  df-ima 4736  df-iota 5284  df-fun 5326  df-fn 5327  df-f 5328  df-f1 5329  df-fo 5330  df-f1o 5331  df-fv 5332  df-isom 5333  df-riota 5966  df-ov 6016  df-oprab 6017  df-mpo 6018  df-1st 6298  df-2nd 6299  df-recs 6466  df-irdg 6531  df-frec 6552  df-1o 6577  df-2o 6578  df-oadd 6581  df-er 6697  df-en 6905  df-dom 6906  df-fin 6907  df-sup 7177  df-pnf 8209  df-mnf 8210  df-xr 8211  df-ltxr 8212  df-le 8213  df-sub 8345  df-neg 8346  df-reap 8748  df-ap 8755  df-div 8846  df-inn 9137  df-2 9195  df-3 9196  df-4 9197  df-n0 9396  df-z 9473  df-uz 9749  df-q 9847  df-rp 9882  df-fz 10237  df-fzo 10371  df-fl 10523  df-mod 10578  df-seqfrec 10703  df-exp 10794  df-ihash 11031  df-cj 11396  df-re 11397  df-im 11398  df-rsqrt 11552  df-abs 11553  df-clim 11833  df-proddc 12105  df-dvds 12342  df-gcd 12518  df-prm 12673  df-phi 12776
This theorem is referenced by:  prmdiveq  12801  prmdivdiv  12802  modprminv  12815
  Copyright terms: Public domain W3C validator