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

Theorem prmdiv 13035
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 12937 . . . . . 6 (𝑃 ∈ ℙ → ¬ 𝑃 ∥ 1)
213ad2ant1 1049 . . . . 5 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → ¬ 𝑃 ∥ 1)
3 prmz 12907 . . . . . . . . . 10 (𝑃 ∈ ℙ → 𝑃 ∈ ℤ)
433ad2ant1 1049 . . . . . . . . 9 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 𝑃 ∈ ℤ)
5 simp2 1029 . . . . . . . . . . 11 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 𝐴 ∈ ℤ)
6 phiprm 13023 . . . . . . . . . . . . 13 (𝑃 ∈ ℙ → (ϕ‘𝑃) = (𝑃 − 1))
763ad2ant1 1049 . . . . . . . . . . . 12 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (ϕ‘𝑃) = (𝑃 − 1))
8 prmnn 12906 . . . . . . . . . . . . . 14 (𝑃 ∈ ℙ → 𝑃 ∈ ℕ)
983ad2ant1 1049 . . . . . . . . . . . . 13 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 𝑃 ∈ ℕ)
10 nnm1nn0 9609 . . . . . . . . . . . . 13 (𝑃 ∈ ℕ → (𝑃 − 1) ∈ ℕ0)
119, 10syl 14 . . . . . . . . . . . 12 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝑃 − 1) ∈ ℕ0)
127, 11eqeltrd 2315 . . . . . . . . . . 11 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (ϕ‘𝑃) ∈ ℕ0)
13 zexpcl 11005 . . . . . . . . . . 11 ((𝐴 ∈ ℤ ∧ (ϕ‘𝑃) ∈ ℕ0) → (𝐴↑(ϕ‘𝑃)) ∈ ℤ)
145, 12, 13syl2anc 415 . . . . . . . . . 10 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝐴↑(ϕ‘𝑃)) ∈ ℤ)
15 1z 9675 . . . . . . . . . 10 1 ∈ ℤ
16 zsubcl 9690 . . . . . . . . . 10 (((𝐴↑(ϕ‘𝑃)) ∈ ℤ ∧ 1 ∈ ℤ) → ((𝐴↑(ϕ‘𝑃)) − 1) ∈ ℤ)
1714, 15, 16sylancl 417 . . . . . . . . 9 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → ((𝐴↑(ϕ‘𝑃)) − 1) ∈ ℤ)
18 prmuz2 12928 . . . . . . . . . . . . . . . 16 (𝑃 ∈ ℙ → 𝑃 ∈ (ℤ‘2))
19183ad2ant1 1049 . . . . . . . . . . . . . . 15 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 𝑃 ∈ (ℤ‘2))
20 uznn0sub 9964 . . . . . . . . . . . . . . 15 (𝑃 ∈ (ℤ‘2) → (𝑃 − 2) ∈ ℕ0)
2119, 20syl 14 . . . . . . . . . . . . . 14 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝑃 − 2) ∈ ℕ0)
22 zexpcl 11005 . . . . . . . . . . . . . 14 ((𝐴 ∈ ℤ ∧ (𝑃 − 2) ∈ ℕ0) → (𝐴↑(𝑃 − 2)) ∈ ℤ)
235, 21, 22syl2anc 415 . . . . . . . . . . . . 13 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝐴↑(𝑃 − 2)) ∈ ℤ)
24 znq 10034 . . . . . . . . . . . . 13 (((𝐴↑(𝑃 − 2)) ∈ ℤ ∧ 𝑃 ∈ ℕ) → ((𝐴↑(𝑃 − 2)) / 𝑃) ∈ ℚ)
2523, 9, 24syl2anc 415 . . . . . . . . . . . 12 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → ((𝐴↑(𝑃 − 2)) / 𝑃) ∈ ℚ)
2625flqcld 10725 . . . . . . . . . . 11 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃)) ∈ ℤ)
275, 26zmulcld 9779 . . . . . . . . . 10 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝐴 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃))) ∈ ℤ)
284, 27zmulcld 9779 . . . . . . . . 9 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝑃 · (𝐴 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃)))) ∈ ℤ)
295, 4gcdcomd 12769 . . . . . . . . . . . 12 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝐴 gcd 𝑃) = (𝑃 gcd 𝐴))
30 coprm 12941 . . . . . . . . . . . . 13 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ) → (¬ 𝑃𝐴 ↔ (𝑃 gcd 𝐴) = 1))
3130biimp3a 1386 . . . . . . . . . . . 12 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝑃 gcd 𝐴) = 1)
3229, 31eqtrd 2271 . . . . . . . . . . 11 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝐴 gcd 𝑃) = 1)
33 eulerth 13033 . . . . . . . . . . 11 ((𝑃 ∈ ℕ ∧ 𝐴 ∈ ℤ ∧ (𝐴 gcd 𝑃) = 1) → ((𝐴↑(ϕ‘𝑃)) mod 𝑃) = (1 mod 𝑃))
349, 5, 32, 33syl3anc 1278 . . . . . . . . . 10 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → ((𝐴↑(ϕ‘𝑃)) mod 𝑃) = (1 mod 𝑃))
35 1zzd 9676 . . . . . . . . . . 11 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 1 ∈ ℤ)
36 moddvds 12584 . . . . . . . . . . 11 ((𝑃 ∈ ℕ ∧ (𝐴↑(ϕ‘𝑃)) ∈ ℤ ∧ 1 ∈ ℤ) → (((𝐴↑(ϕ‘𝑃)) mod 𝑃) = (1 mod 𝑃) ↔ 𝑃 ∥ ((𝐴↑(ϕ‘𝑃)) − 1)))
379, 14, 35, 36syl3anc 1278 . . . . . . . . . 10 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (((𝐴↑(ϕ‘𝑃)) mod 𝑃) = (1 mod 𝑃) ↔ 𝑃 ∥ ((𝐴↑(ϕ‘𝑃)) − 1)))
3834, 37mpbid 147 . . . . . . . . 9 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 𝑃 ∥ ((𝐴↑(ϕ‘𝑃)) − 1))
39 dvdsmul1 12598 . . . . . . . . . 10 ((𝑃 ∈ ℤ ∧ (𝐴 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃))) ∈ ℤ) → 𝑃 ∥ (𝑃 · (𝐴 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃)))))
404, 27, 39syl2anc 415 . . . . . . . . 9 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 𝑃 ∥ (𝑃 · (𝐴 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃)))))
414, 17, 28, 38, 40dvds2subd 12612 . . . . . . . 8 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 𝑃 ∥ (((𝐴↑(ϕ‘𝑃)) − 1) − (𝑃 · (𝐴 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃))))))
425zcnd 9774 . . . . . . . . . . . 12 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 𝐴 ∈ ℂ)
4323zcnd 9774 . . . . . . . . . . . 12 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝐴↑(𝑃 − 2)) ∈ ℂ)
444, 26zmulcld 9779 . . . . . . . . . . . . 13 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝑃 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃))) ∈ ℤ)
4544zcnd 9774 . . . . . . . . . . . 12 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝑃 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃))) ∈ ℂ)
4642, 43, 45subdid 8743 . . . . . . . . . . 11 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝐴 · ((𝐴↑(𝑃 − 2)) − (𝑃 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃))))) = ((𝐴 · (𝐴↑(𝑃 − 2))) − (𝐴 · (𝑃 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃))))))
47 prmdiv.1 . . . . . . . . . . . . 13 𝑅 = ((𝐴↑(𝑃 − 2)) mod 𝑃)
48 zq 10036 . . . . . . . . . . . . . . 15 ((𝐴↑(𝑃 − 2)) ∈ ℤ → (𝐴↑(𝑃 − 2)) ∈ ℚ)
4923, 48syl 14 . . . . . . . . . . . . . 14 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝐴↑(𝑃 − 2)) ∈ ℚ)
50 nnq 10043 . . . . . . . . . . . . . . 15 (𝑃 ∈ ℕ → 𝑃 ∈ ℚ)
519, 50syl 14 . . . . . . . . . . . . . 14 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 𝑃 ∈ ℚ)
529nngt0d 9351 . . . . . . . . . . . . . 14 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 0 < 𝑃)
53 modqval 10775 . . . . . . . . . . . . . 14 (((𝐴↑(𝑃 − 2)) ∈ ℚ ∧ 𝑃 ∈ ℚ ∧ 0 < 𝑃) → ((𝐴↑(𝑃 − 2)) mod 𝑃) = ((𝐴↑(𝑃 − 2)) − (𝑃 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃)))))
5449, 51, 52, 53syl3anc 1278 . . . . . . . . . . . . 13 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → ((𝐴↑(𝑃 − 2)) mod 𝑃) = ((𝐴↑(𝑃 − 2)) − (𝑃 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃)))))
5547, 54eqtrid 2283 . . . . . . . . . . . 12 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 𝑅 = ((𝐴↑(𝑃 − 2)) − (𝑃 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃)))))
5655oveq2d 6101 . . . . . . . . . . 11 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝐴 · 𝑅) = (𝐴 · ((𝐴↑(𝑃 − 2)) − (𝑃 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃))))))
57 2m1e1 9425 . . . . . . . . . . . . . . . . 17 (2 − 1) = 1
5857oveq2i 6096 . . . . . . . . . . . . . . . 16 (𝑃 − (2 − 1)) = (𝑃 − 1)
597, 58eqtr4di 2289 . . . . . . . . . . . . . . 15 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (ϕ‘𝑃) = (𝑃 − (2 − 1)))
609nncnd 9321 . . . . . . . . . . . . . . . 16 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 𝑃 ∈ ℂ)
61 2cnd 9380 . . . . . . . . . . . . . . . 16 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 2 ∈ ℂ)
62 1cnd 8343 . . . . . . . . . . . . . . . 16 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 1 ∈ ℂ)
6360, 61, 62subsubd 8667 . . . . . . . . . . . . . . 15 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝑃 − (2 − 1)) = ((𝑃 − 2) + 1))
6459, 63eqtrd 2271 . . . . . . . . . . . . . 14 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (ϕ‘𝑃) = ((𝑃 − 2) + 1))
6564oveq2d 6101 . . . . . . . . . . . . 13 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝐴↑(ϕ‘𝑃)) = (𝐴↑((𝑃 − 2) + 1)))
6642, 21expp1d 11126 . . . . . . . . . . . . 13 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝐴↑((𝑃 − 2) + 1)) = ((𝐴↑(𝑃 − 2)) · 𝐴))
6743, 42mulcomd 8348 . . . . . . . . . . . . 13 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → ((𝐴↑(𝑃 − 2)) · 𝐴) = (𝐴 · (𝐴↑(𝑃 − 2))))
6865, 66, 673eqtrd 2275 . . . . . . . . . . . 12 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝐴↑(ϕ‘𝑃)) = (𝐴 · (𝐴↑(𝑃 − 2))))
6926zcnd 9774 . . . . . . . . . . . . 13 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃)) ∈ ℂ)
7060, 42, 69mul12d 8480 . . . . . . . . . . . 12 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝑃 · (𝐴 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃)))) = (𝐴 · (𝑃 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃)))))
7168, 70oveq12d 6103 . . . . . . . . . . 11 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → ((𝐴↑(ϕ‘𝑃)) − (𝑃 · (𝐴 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃))))) = ((𝐴 · (𝐴↑(𝑃 − 2))) − (𝐴 · (𝑃 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃))))))
7246, 56, 713eqtr4d 2281 . . . . . . . . . 10 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝐴 · 𝑅) = ((𝐴↑(ϕ‘𝑃)) − (𝑃 · (𝐴 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃))))))
7372oveq1d 6100 . . . . . . . . 9 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → ((𝐴 · 𝑅) − 1) = (((𝐴↑(ϕ‘𝑃)) − (𝑃 · (𝐴 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃))))) − 1))
7414zcnd 9774 . . . . . . . . . 10 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝐴↑(ϕ‘𝑃)) ∈ ℂ)
7528zcnd 9774 . . . . . . . . . 10 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝑃 · (𝐴 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃)))) ∈ ℂ)
7674, 75, 62sub32d 8671 . . . . . . . . 9 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (((𝐴↑(ϕ‘𝑃)) − (𝑃 · (𝐴 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃))))) − 1) = (((𝐴↑(ϕ‘𝑃)) − 1) − (𝑃 · (𝐴 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃))))))
7773, 76eqtrd 2271 . . . . . . . 8 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → ((𝐴 · 𝑅) − 1) = (((𝐴↑(ϕ‘𝑃)) − 1) − (𝑃 · (𝐴 · (⌊‘((𝐴↑(𝑃 − 2)) / 𝑃))))))
7841, 77breqtrrd 4158 . . . . . . 7 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 𝑃 ∥ ((𝐴 · 𝑅) − 1))
79 oveq2 6093 . . . . . . . . 9 (𝑅 = 0 → (𝐴 · 𝑅) = (𝐴 · 0))
8079oveq1d 6100 . . . . . . . 8 (𝑅 = 0 → ((𝐴 · 𝑅) − 1) = ((𝐴 · 0) − 1))
8180breq2d 4142 . . . . . . 7 (𝑅 = 0 → (𝑃 ∥ ((𝐴 · 𝑅) − 1) ↔ 𝑃 ∥ ((𝐴 · 0) − 1)))
8278, 81syl5ibcom 155 . . . . . 6 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝑅 = 0 → 𝑃 ∥ ((𝐴 · 0) − 1)))
8342mul01d 8722 . . . . . . . . . 10 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝐴 · 0) = 0)
8483oveq1d 6100 . . . . . . . . 9 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → ((𝐴 · 0) − 1) = (0 − 1))
85 df-neg 8502 . . . . . . . . 9 -1 = (0 − 1)
8684, 85eqtr4di 2289 . . . . . . . 8 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → ((𝐴 · 0) − 1) = -1)
8786breq2d 4142 . . . . . . 7 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝑃 ∥ ((𝐴 · 0) − 1) ↔ 𝑃 ∥ -1))
88 dvdsnegb 12593 . . . . . . . 8 ((𝑃 ∈ ℤ ∧ 1 ∈ ℤ) → (𝑃 ∥ 1 ↔ 𝑃 ∥ -1))
894, 15, 88sylancl 417 . . . . . . 7 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝑃 ∥ 1 ↔ 𝑃 ∥ -1))
9087, 89bitr4d 191 . . . . . 6 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝑃 ∥ ((𝐴 · 0) − 1) ↔ 𝑃 ∥ 1))
9182, 90sylibd 149 . . . . 5 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝑅 = 0 → 𝑃 ∥ 1))
922, 91mtod 673 . . . 4 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → ¬ 𝑅 = 0)
93 zmodfz 10797 . . . . . . . 8 (((𝐴↑(𝑃 − 2)) ∈ ℤ ∧ 𝑃 ∈ ℕ) → ((𝐴↑(𝑃 − 2)) mod 𝑃) ∈ (0...(𝑃 − 1)))
9423, 9, 93syl2anc 415 . . . . . . 7 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → ((𝐴↑(𝑃 − 2)) mod 𝑃) ∈ (0...(𝑃 − 1)))
9547, 94eqeltrid 2325 . . . . . 6 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 𝑅 ∈ (0...(𝑃 − 1)))
96 nn0uz 9967 . . . . . . . 8 0 = (ℤ‘0)
9711, 96eleqtrdi 2331 . . . . . . 7 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝑃 − 1) ∈ (ℤ‘0))
98 elfzp12 10517 . . . . . . 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 736 . . . 4 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (¬ 𝑅 = 0 → 𝑅 ∈ ((0 + 1)...(𝑃 − 1))))
10292, 101mpd 13 . . 3 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 𝑅 ∈ ((0 + 1)...(𝑃 − 1)))
103 1e0p1 9828 . . . 4 1 = (0 + 1)
104103oveq1i 6095 . . 3 (1...(𝑃 − 1)) = ((0 + 1)...(𝑃 − 1))
105102, 104eleqtrrdi 2332 . 2 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → 𝑅 ∈ (1...(𝑃 − 1)))
106105, 78jca 306 1 ((𝑃 ∈ ℙ ∧ 𝐴 ∈ ℤ ∧ ¬ 𝑃𝐴) → (𝑅 ∈ (1...(𝑃 − 1)) ∧ 𝑃 ∥ ((𝐴 · 𝑅) − 1)))
Colors of variables:    wff set class
This proof depends on syntax axioms:  ¬ wn 3  wi 4  wa 104  wb 105  wo 720  w3a 1009   = wceq 1402  wcel 2209   class class class wbr 4130  cfv 5377  (class class class)co 6085  0cc0 8180  1c1 8181   + caddc 8183   · cmul 8185   < clt 8361  cmin 8499  -cneg 8500   / cdiv 9005  cn 9307  2c2 9358  0cn0 9568  cz 9649  cuz 9931  cq 10029  ...cfz 10422  cfl 10714   mod cmo 10773  cexp 10989  cdvds 12572   gcd cgcd 12748  cprime 12903  ϕcphi 13009
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-ia1 106  ax-ia2 107  ax-ia3 108  ax-in1 623  ax-in2 624  ax-io 721  ax-5 1500  ax-7 1501  ax-gen 1502  ax-ie1 1546  ax-ie2 1547  ax-8 1557  ax-10 1558  ax-11 1559  ax-i12 1560  ax-bndl 1562  ax-4 1563  ax-17 1579  ax-i9 1583  ax-ial 1587  ax-i5r 1588  ax-14 2212  ax-ext 2220  ax-coll 4246  ax-sep 4249  ax-nul 4259  ax-pow 4311  ax-pr 4346  ax-un 4578  ax-setind 4684  ax-iinf 4735  ax-cnex 8271  ax-resscn 8272  ax-1cn 8273  ax-1re 8274  ax-icn 8275  ax-addcl 8276  ax-addrcl 8277  ax-mulcl 8278  ax-mulrcl 8279  ax-addcom 8280  ax-mulcom 8281  ax-addass 8282  ax-mulass 8283  ax-distr 8284  ax-i2m1 8285  ax-0lt1 8286  ax-1rid 8287  ax-0id 8288  ax-rnegex 8289  ax-precex 8290  ax-cnre 8291  ax-pre-ltirr 8292  ax-pre-ltwlin 8293  ax-pre-lttrn 8294  ax-pre-apti 8295  ax-pre-ltadd 8296  ax-pre-mulgt0 8297  ax-pre-mulext 8298  ax-arch 8299  ax-caucvg 8300
This proof depends on definitions:  df-bi 117  df-stab 843  df-dc 847  df-3or 1010  df-3an 1011  df-tru 1405  df-fal 1408  df-nf 1514  df-sb 1816  df-eu 2089  df-mo 2090  df-clab 2225  df-cleq 2231  df-clel 2234  df-nfc 2381  df-ne 2421  df-nel 2516  df-ral 2533  df-rex 2534  df-reu 2535  df-rmo 2536  df-rab 2537  df-v 2823  df-sbc 3052  df-csb 3148  df-dif 3222  df-un 3224  df-in 3226  df-ss 3233  df-nul 3521  df-if 3639  df-pw 3690  df-sn 3715  df-pr 3716  df-op 3718  df-uni 3936  df-int 3971  df-iun 4014  df-br 4131  df-opab 4193  df-mpt 4194  df-tr 4230  df-id 4438  df-po 4441  df-iso 4442  df-iord 4511  df-on 4513  df-ilim 4514  df-suc 4516  df-iom 4738  df-xp 4780  df-rel 4781  df-cnv 4782  df-co 4783  df-dm 4784  df-rn 4785  df-res 4786  df-ima 4787  df-iota 5337  df-fun 5379  df-fn 5380  df-f 5381  df-f1 5382  df-fo 5383  df-f1o 5384  df-fv 5385  df-isom 5386  df-riota 6038  df-ov 6088  df-oprab 6089  df-mpo 6090  df-1st 6374  df-2nd 6375  df-recs 6576  df-irdg 6641  df-frec 6662  df-1o 6687  df-2o 6688  df-oadd 6691  df-er 6807  df-en 7023  df-dom 7024  df-fin 7025  df-sup 7325  df-pnf 8363  df-mnf 8364  df-xr 8365  df-ltxr 8366  df-le 8367  df-sub 8501  df-neg 8502  df-reap 8906  df-ap 8913  df-div 9006  df-inn 9308  df-2 9366  df-3 9367  df-4 9368  df-n0 9569  df-z 9650  df-uz 9932  df-q 10030  df-rp 10066  df-fz 10423  df-fzo 10561  df-fl 10716  df-mod 10774  df-seqfrec 10899  df-exp 10990  df-ihash 11230  df-cj 11622  df-re 11623  df-im 11624  df-rsqrt 11779  df-abs 11780  df-clim 12063  df-proddc 12336  df-dvds 12573  df-gcd 12749  df-prm 12904  df-phi 13011
This theorem is used by:  prmdiveq  13036  prmdivdiv  13037  modprminv  13050
  Copyright terms: Public domain W3C validator