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

Theorem prmdiv 12430
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 12335 . . . . . 6 (𝑃 ∈ ℙ → ¬ 𝑃 ∥ 1)
213ad2ant1 1020 . . . . 5 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → ¬ 𝑃 ∥ 1)
3 prmz 12306 . . . . . . . . . 10 (𝑃 ∈ ℙ → 𝑃 ∈ ℤ)
433ad2ant1 1020 . . . . . . . . 9 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 𝑃 ∈ ℤ)
5 simp2 1000 . . . . . . . . . . 11 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 𝐴 ∈ ℤ)
6 phiprm 12418 . . . . . . . . . . . . 13 (𝑃 ∈ ℙ → (ϕ‘𝑃) = (𝑃 − 1))
763ad2ant1 1020 . . . . . . . . . . . 12 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (ϕ‘𝑃) = (𝑃 − 1))
8 prmnn 12305 . . . . . . . . . . . . . 14 (𝑃 ∈ ℙ → 𝑃 ∈ ℕ)
983ad2ant1 1020 . . . . . . . . . . . . 13 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 𝑃 ∈ ℕ)
10 nnm1nn0 9309 . . . . . . . . . . . . 13 (𝑃 ∈ ℕ → (𝑃 − 1) ∈ ℕ0)
119, 10syl 14 . . . . . . . . . . . 12 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝑃 − 1) ∈ ℕ0)
127, 11eqeltrd 2273 . . . . . . . . . . 11 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (ϕ‘𝑃) ∈ ℕ0)
13 zexpcl 10665 . . . . . . . . . . 11 ((𝐴 ∈ ℤ ∧ (ϕ‘𝑃) ∈ ℕ0) → (𝐴↑(ϕ‘𝑃)) ∈ ℤ)
145, 12, 13syl2anc 411 . . . . . . . . . 10 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝐴↑(ϕ‘𝑃)) ∈ ℤ)
15 1z 9371 . . . . . . . . . 10 1 ∈ ℤ
16 zsubcl 9386 . . . . . . . . . 10 (((𝐴↑(ϕ‘𝑃)) ∈ ℤ ∧ 1 ∈ ℤ) → ((𝐴↑(ϕ‘𝑃)) − 1) ∈ ℤ)
1714, 15, 16sylancl 413 . . . . . . . . 9 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → ((𝐴↑(ϕ‘𝑃)) − 1) ∈ ℤ)
18 prmuz2 12326 . . . . . . . . . . . . . . . 16 (𝑃 ∈ ℙ → 𝑃 ∈ (ℤ‘2))
19183ad2ant1 1020 . . . . . . . . . . . . . . 15 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 𝑃 ∈ (ℤ‘2))
20 uznn0sub 9652 . . . . . . . . . . . . . . 15 (𝑃 ∈ (ℤ‘2) → (𝑃 − 2) ∈ ℕ0)
2119, 20syl 14 . . . . . . . . . . . . . 14 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝑃 − 2) ∈ ℕ0)
22 zexpcl 10665 . . . . . . . . . . . . . 14 ((𝐴 ∈ ℤ ∧ (𝑃 − 2) ∈ ℕ0) → (𝐴↑(𝑃 − 2)) ∈ ℤ)
235, 21, 22syl2anc 411 . . . . . . . . . . . . 13 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝐴↑(𝑃 − 2)) ∈ ℤ)
24 znq 9717 . . . . . . . . . . . . 13 (((𝐴↑(𝑃 − 2)) ∈ ℤ ∧ 𝑃 ∈ ℕ) → ((𝐴↑(𝑃 − 2)) / 𝑃) ∈ ℚ)
2523, 9, 24syl2anc 411 . . . . . . . . . . . 12 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → ((𝐴↑(𝑃 − 2)) / 𝑃) ∈ ℚ)
2625flqcld 10386 . . . . . . . . . . 11 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃)) ∈ ℤ)
275, 26zmulcld 9473 . . . . . . . . . 10 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝐴 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃))) ∈ ℤ)
284, 27zmulcld 9473 . . . . . . . . 9 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝑃 · (𝐴 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃)))) ∈ ℤ)
295, 4gcdcomd 12168 . . . . . . . . . . . 12 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝐴 gcd 𝑃) = (𝑃 gcd 𝐴))
30 coprm 12339 . . . . . . . . . . . . 13 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ) → (¬ 𝑃𝐴 ↔ (𝑃 gcd 𝐴) = 1))
3130biimp3a 1356 . . . . . . . . . . . 12 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝑃 gcd 𝐴) = 1)
3229, 31eqtrd 2229 . . . . . . . . . . 11 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝐴 gcd 𝑃) = 1)
33 eulerth 12428 . . . . . . . . . . 11 ((𝑃 ∈ ℕ ∧ 𝐴 ∈ ℤ ∧ (𝐴 gcd 𝑃) = 1) → ((𝐴↑(ϕ‘𝑃)) mod 𝑃) = (1 mod 𝑃))
349, 5, 32, 33syl3anc 1249 . . . . . . . . . 10 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → ((𝐴↑(ϕ‘𝑃)) mod 𝑃) = (1 mod 𝑃))
35 1zzd 9372 . . . . . . . . . . 11 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 1 ∈ ℤ)
36 moddvds 11983 . . . . . . . . . . 11 ((𝑃 ∈ ℕ ∧ (𝐴↑(ϕ‘𝑃)) ∈ ℤ ∧ 1 ∈ ℤ) → (((𝐴↑(ϕ‘𝑃)) mod 𝑃) = (1 mod 𝑃) ↔ 𝑃 ∥ ((𝐴↑(ϕ‘𝑃)) − 1)))
379, 14, 35, 36syl3anc 1249 . . . . . . . . . 10 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (((𝐴↑(ϕ‘𝑃)) mod 𝑃) = (1 mod 𝑃) ↔ 𝑃 ∥ ((𝐴↑(ϕ‘𝑃)) − 1)))
3834, 37mpbid 147 . . . . . . . . 9 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 𝑃 ∥ ((𝐴↑(ϕ‘𝑃)) − 1))
39 dvdsmul1 11997 . . . . . . . . . 10 ((𝑃 ∈ ℤ ∧ (𝐴 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃))) ∈ ℤ) → 𝑃 ∥ (𝑃 · (𝐴 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃)))))
404, 27, 39syl2anc 411 . . . . . . . . 9 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 𝑃 ∥ (𝑃 · (𝐴 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃)))))
414, 17, 28, 38, 40dvds2subd 12011 . . . . . . . 8 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 𝑃 ∥ (((𝐴↑(ϕ‘𝑃)) − 1) − (𝑃 · (𝐴 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃))))))
425zcnd 9468 . . . . . . . . . . . 12 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 𝐴 ∈ ℂ)
4323zcnd 9468 . . . . . . . . . . . 12 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝐴↑(𝑃 − 2)) ∈ ℂ)
444, 26zmulcld 9473 . . . . . . . . . . . . 13 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝑃 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃))) ∈ ℤ)
4544zcnd 9468 . . . . . . . . . . . 12 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝑃 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃))) ∈ ℂ)
4642, 43, 45subdid 8459 . . . . . . . . . . 11 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝐴 · ((𝐴↑(𝑃 − 2)) − (𝑃 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃))))) = ((𝐴 · (𝐴↑(𝑃 − 2))) − (𝐴 · (𝑃 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃))))))
47 prmdiv.1 . . . . . . . . . . . . 13 𝑅 = ((𝐴↑(𝑃 − 2)) mod 𝑃)
48 zq 9719 . . . . . . . . . . . . . . 15 ((𝐴↑(𝑃 − 2)) ∈ ℤ → (𝐴↑(𝑃 − 2)) ∈ ℚ)
4923, 48syl 14 . . . . . . . . . . . . . 14 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝐴↑(𝑃 − 2)) ∈ ℚ)
50 nnq 9726 . . . . . . . . . . . . . . 15 (𝑃 ∈ ℕ → 𝑃 ∈ ℚ)
519, 50syl 14 . . . . . . . . . . . . . 14 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 𝑃 ∈ ℚ)
529nngt0d 9053 . . . . . . . . . . . . . 14 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 0 < 𝑃)
53 modqval 10435 . . . . . . . . . . . . . 14 (((𝐴↑(𝑃 − 2)) ∈ ℚ ∧ 𝑃 ∈ ℚ ∧ 0 < 𝑃) → ((𝐴↑(𝑃 − 2)) mod 𝑃) = ((𝐴↑(𝑃 − 2)) − (𝑃 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃)))))
5449, 51, 52, 53syl3anc 1249 . . . . . . . . . . . . 13 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → ((𝐴↑(𝑃 − 2)) mod 𝑃) = ((𝐴↑(𝑃 − 2)) − (𝑃 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃)))))
5547, 54eqtrid 2241 . . . . . . . . . . . 12 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 𝑅 = ((𝐴↑(𝑃 − 2)) − (𝑃 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃)))))
5655oveq2d 5941 . . . . . . . . . . 11 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝐴 · 𝑅) = (𝐴 · ((𝐴↑(𝑃 − 2)) − (𝑃 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃))))))
57 2m1e1 9127 . . . . . . . . . . . . . . . . 17 (2 − 1) = 1
5857oveq2i 5936 . . . . . . . . . . . . . . . 16 (𝑃 − (2 − 1)) = (𝑃 − 1)
597, 58eqtr4di 2247 . . . . . . . . . . . . . . 15 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (ϕ‘𝑃) = (𝑃 − (2 − 1)))
609nncnd 9023 . . . . . . . . . . . . . . . 16 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 𝑃 ∈ ℂ)
61 2cnd 9082 . . . . . . . . . . . . . . . 16 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 2 ∈ ℂ)
62 1cnd 8061 . . . . . . . . . . . . . . . 16 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 1 ∈ ℂ)
6360, 61, 62subsubd 8384 . . . . . . . . . . . . . . 15 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝑃 − (2 − 1)) = ((𝑃 − 2) + 1))
6459, 63eqtrd 2229 . . . . . . . . . . . . . 14 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (ϕ‘𝑃) = ((𝑃 − 2) + 1))
6564oveq2d 5941 . . . . . . . . . . . . 13 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝐴↑(ϕ‘𝑃)) = (𝐴↑((𝑃 − 2) + 1)))
6642, 21expp1d 10785 . . . . . . . . . . . . 13 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝐴↑((𝑃 − 2) + 1)) = ((𝐴↑(𝑃 − 2)) · 𝐴))
6743, 42mulcomd 8067 . . . . . . . . . . . . 13 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → ((𝐴↑(𝑃 − 2)) · 𝐴) = (𝐴 · (𝐴↑(𝑃 − 2))))
6865, 66, 673eqtrd 2233 . . . . . . . . . . . 12 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝐴↑(ϕ‘𝑃)) = (𝐴 · (𝐴↑(𝑃 − 2))))
6926zcnd 9468 . . . . . . . . . . . . 13 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃)) ∈ ℂ)
7060, 42, 69mul12d 8197 . . . . . . . . . . . 12 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝑃 · (𝐴 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃)))) = (𝐴 · (𝑃 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃)))))
7168, 70oveq12d 5943 . . . . . . . . . . 11 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → ((𝐴↑(ϕ‘𝑃)) − (𝑃 · (𝐴 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃))))) = ((𝐴 · (𝐴↑(𝑃 − 2))) − (𝐴 · (𝑃 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃))))))
7246, 56, 713eqtr4d 2239 . . . . . . . . . 10 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝐴 · 𝑅) = ((𝐴↑(ϕ‘𝑃)) − (𝑃 · (𝐴 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃))))))
7372oveq1d 5940 . . . . . . . . 9 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → ((𝐴 · 𝑅) − 1) = (((𝐴↑(ϕ‘𝑃)) − (𝑃 · (𝐴 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃))))) − 1))
7414zcnd 9468 . . . . . . . . . 10 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝐴↑(ϕ‘𝑃)) ∈ ℂ)
7528zcnd 9468 . . . . . . . . . 10 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝑃 · (𝐴 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃)))) ∈ ℂ)
7674, 75, 62sub32d 8388 . . . . . . . . 9 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (((𝐴↑(ϕ‘𝑃)) − (𝑃 · (𝐴 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃))))) − 1) = (((𝐴↑(ϕ‘𝑃)) − 1) − (𝑃 · (𝐴 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃))))))
7773, 76eqtrd 2229 . . . . . . . 8 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → ((𝐴 · 𝑅) − 1) = (((𝐴↑(ϕ‘𝑃)) − 1) − (𝑃 · (𝐴 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃))))))
7841, 77breqtrrd 4062 . . . . . . 7 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 𝑃 ∥ ((𝐴 · 𝑅) − 1))
79 oveq2 5933 . . . . . . . . 9 (𝑅 = 0 → (𝐴 · 𝑅) = (𝐴 · 0))
8079oveq1d 5940 . . . . . . . 8 (𝑅 = 0 → ((𝐴 · 𝑅) − 1) = ((𝐴 · 0) − 1))
8180breq2d 4046 . . . . . . 7 (𝑅 = 0 → (𝑃 ∥ ((𝐴 · 𝑅) − 1) ↔ 𝑃 ∥ ((𝐴 · 0) − 1)))
8278, 81syl5ibcom 155 . . . . . 6 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝑅 = 0 → 𝑃 ∥ ((𝐴 · 0) − 1)))
8342mul01d 8438 . . . . . . . . . 10 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝐴 · 0) = 0)
8483oveq1d 5940 . . . . . . . . 9 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → ((𝐴 · 0) − 1) = (0 − 1))
85 df-neg 8219 . . . . . . . . 9 -1 = (0 − 1)
8684, 85eqtr4di 2247 . . . . . . . 8 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → ((𝐴 · 0) − 1) = -1)
8786breq2d 4046 . . . . . . 7 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝑃 ∥ ((𝐴 · 0) − 1) ↔ 𝑃 ∥ -1))
88 dvdsnegb 11992 . . . . . . . 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 10457 . . . . . . . 8 (((𝐴↑(𝑃 − 2)) ∈ ℤ ∧ 𝑃 ∈ ℕ) → ((𝐴↑(𝑃 − 2)) mod 𝑃) ∈ (0...(𝑃 − 1)))
9423, 9, 93syl2anc 411 . . . . . . 7 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → ((𝐴↑(𝑃 − 2)) mod 𝑃) ∈ (0...(𝑃 − 1)))
9547, 94eqeltrid 2283 . . . . . 6 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 𝑅 ∈ (0...(𝑃 − 1)))
96 nn0uz 9655 . . . . . . . 8 0 = (ℤ‘0)
9711, 96eleqtrdi 2289 . . . . . . 7 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝑃 − 1) ∈ (ℤ‘0))
98 elfzp12 10193 . . . . . . 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 9517 . . . 4 1 = (0 + 1)
104103oveq1i 5935 . . 3 (1...(𝑃 − 1)) = ((0 + 1)...(𝑃 − 1))
105102, 104eleqtrrdi 2290 . 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 980   = wceq 1364  wcel 2167   class class class wbr 4034  cfv 5259  (class class class)co 5925  0cc0 7898  1c1 7899   + caddc 7901   · cmul 7903   < clt 8080  cmin 8216  -cneg 8217   / cdiv 8718  cn 9009  2c2 9060  0cn0 9268  cz 9345  cuz 9620  cq 9712  ...cfz 10102  cfl 10377   mod cmo 10433  cexp 10649  cdvds 11971   gcd cgcd 12147  cprime 12302  ϕcphi 12404
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 1461  ax-7 1462  ax-gen 1463  ax-ie1 1507  ax-ie2 1508  ax-8 1518  ax-10 1519  ax-11 1520  ax-i12 1521  ax-bndl 1523  ax-4 1524  ax-17 1540  ax-i9 1544  ax-ial 1548  ax-i5r 1549  ax-13 2169  ax-14 2170  ax-ext 2178  ax-coll 4149  ax-sep 4152  ax-nul 4160  ax-pow 4208  ax-pr 4243  ax-un 4469  ax-setind 4574  ax-iinf 4625  ax-cnex 7989  ax-resscn 7990  ax-1cn 7991  ax-1re 7992  ax-icn 7993  ax-addcl 7994  ax-addrcl 7995  ax-mulcl 7996  ax-mulrcl 7997  ax-addcom 7998  ax-mulcom 7999  ax-addass 8000  ax-mulass 8001  ax-distr 8002  ax-i2m1 8003  ax-0lt1 8004  ax-1rid 8005  ax-0id 8006  ax-rnegex 8007  ax-precex 8008  ax-cnre 8009  ax-pre-ltirr 8010  ax-pre-ltwlin 8011  ax-pre-lttrn 8012  ax-pre-apti 8013  ax-pre-ltadd 8014  ax-pre-mulgt0 8015  ax-pre-mulext 8016  ax-arch 8017  ax-caucvg 8018
This theorem depends on definitions:  df-bi 117  df-stab 832  df-dc 836  df-3or 981  df-3an 982  df-tru 1367  df-fal 1370  df-nf 1475  df-sb 1777  df-eu 2048  df-mo 2049  df-clab 2183  df-cleq 2189  df-clel 2192  df-nfc 2328  df-ne 2368  df-nel 2463  df-ral 2480  df-rex 2481  df-reu 2482  df-rmo 2483  df-rab 2484  df-v 2765  df-sbc 2990  df-csb 3085  df-dif 3159  df-un 3161  df-in 3163  df-ss 3170  df-nul 3452  df-if 3563  df-pw 3608  df-sn 3629  df-pr 3630  df-op 3632  df-uni 3841  df-int 3876  df-iun 3919  df-br 4035  df-opab 4096  df-mpt 4097  df-tr 4133  df-id 4329  df-po 4332  df-iso 4333  df-iord 4402  df-on 4404  df-ilim 4405  df-suc 4407  df-iom 4628  df-xp 4670  df-rel 4671  df-cnv 4672  df-co 4673  df-dm 4674  df-rn 4675  df-res 4676  df-ima 4677  df-iota 5220  df-fun 5261  df-fn 5262  df-f 5263  df-f1 5264  df-fo 5265  df-f1o 5266  df-fv 5267  df-isom 5268  df-riota 5880  df-ov 5928  df-oprab 5929  df-mpo 5930  df-1st 6207  df-2nd 6208  df-recs 6372  df-irdg 6437  df-frec 6458  df-1o 6483  df-2o 6484  df-oadd 6487  df-er 6601  df-en 6809  df-dom 6810  df-fin 6811  df-sup 7059  df-pnf 8082  df-mnf 8083  df-xr 8084  df-ltxr 8085  df-le 8086  df-sub 8218  df-neg 8219  df-reap 8621  df-ap 8628  df-div 8719  df-inn 9010  df-2 9068  df-3 9069  df-4 9070  df-n0 9269  df-z 9346  df-uz 9621  df-q 9713  df-rp 9748  df-fz 10103  df-fzo 10237  df-fl 10379  df-mod 10434  df-seqfrec 10559  df-exp 10650  df-ihash 10887  df-cj 11026  df-re 11027  df-im 11028  df-rsqrt 11182  df-abs 11183  df-clim 11463  df-proddc 11735  df-dvds 11972  df-gcd 12148  df-prm 12303  df-phi 12406
This theorem is referenced by:  prmdiveq  12431  prmdivdiv  12432  modprminv  12445
  Copyright terms: Public domain W3C validator