Metamath Proof Explorer


Theorem powm2modprm

Description: If an integer minus 1 is divisible by a prime number, then the integer to the power of the prime number minus 2 is 1 modulo the prime number. (Contributed by Alexander van der Vekens, 30-Aug-2018)

Ref Expression
Assertion powm2modprm ⊢ P ∈ ℙ ∧ A ∈ ℤ → P ∥ A − 1 → A P − 2 mod P = 1

Proof

Step Hyp Ref Expression
1 simpll ⊢ P ∈ ℙ ∧ A ∈ ℤ ∧ P ∥ A − 1 → P ∈ ℙ
2 simpr ⊢ P ∈ ℙ ∧ A ∈ ℤ → A ∈ ℤ
3 2 adantr ⊢ P ∈ ℙ ∧ A ∈ ℤ ∧ P ∥ A − 1 → A ∈ ℤ
4 m1dvdsndvds ⊢ P ∈ ℙ ∧ A ∈ ℤ → P ∥ A − 1 → ¬ P ∥ A
5 4 imp ⊢ P ∈ ℙ ∧ A ∈ ℤ ∧ P ∥ A − 1 → ¬ P ∥ A
6 eqid ⊢ A P − 2 mod P = A P − 2 mod P
7 6 modprminv ⊢ P ∈ ℙ ∧ A ∈ ℤ ∧ ¬ P ∥ A → A P − 2 mod P ∈ 1 … P − 1 ∧ A ⁢ A P − 2 mod P mod P = 1
8 simpr ⊢ A P − 2 mod P ∈ 1 … P − 1 ∧ A ⁢ A P − 2 mod P mod P = 1 → A ⁢ A P − 2 mod P mod P = 1
9 8 eqcomd ⊢ A P − 2 mod P ∈ 1 … P − 1 ∧ A ⁢ A P − 2 mod P mod P = 1 → 1 = A ⁢ A P − 2 mod P mod P
10 7 9 syl ⊢ P ∈ ℙ ∧ A ∈ ℤ ∧ ¬ P ∥ A → 1 = A ⁢ A P − 2 mod P mod P
11 1 3 5 10 syl3anc ⊢ P ∈ ℙ ∧ A ∈ ℤ ∧ P ∥ A − 1 → 1 = A ⁢ A P − 2 mod P mod P
12 modprm1div ⊢ P ∈ ℙ ∧ A ∈ ℤ → A mod P = 1 ↔ P ∥ A − 1
13 12 biimpar ⊢ P ∈ ℙ ∧ A ∈ ℤ ∧ P ∥ A − 1 → A mod P = 1
14 13 oveq1d ⊢ P ∈ ℙ ∧ A ∈ ℤ ∧ P ∥ A − 1 → A mod P ⁢ A P − 2 mod P = 1 ⁢ A P − 2 mod P
15 14 oveq1d ⊢ P ∈ ℙ ∧ A ∈ ℤ ∧ P ∥ A − 1 → A mod P ⁢ A P − 2 mod P mod P = 1 ⁢ A P − 2 mod P mod P
16 zre ⊢ A ∈ ℤ → A ∈ ℝ
17 16 ad2antlr ⊢ P ∈ ℙ ∧ A ∈ ℤ ∧ P ∥ A − 1 → A ∈ ℝ
18 prmm2nn0 ⊢ P ∈ ℙ → P − 2 ∈ ℕ 0
19 18 anim1ci ⊢ P ∈ ℙ ∧ A ∈ ℤ → A ∈ ℤ ∧ P − 2 ∈ ℕ 0
20 19 adantr ⊢ P ∈ ℙ ∧ A ∈ ℤ ∧ P ∥ A − 1 → A ∈ ℤ ∧ P − 2 ∈ ℕ 0
21 zexpcl ⊢ A ∈ ℤ ∧ P − 2 ∈ ℕ 0 → A P − 2 ∈ ℤ
22 20 21 syl ⊢ P ∈ ℙ ∧ A ∈ ℤ ∧ P ∥ A − 1 → A P − 2 ∈ ℤ
23 prmnn ⊢ P ∈ ℙ → P ∈ ℕ
24 23 adantr ⊢ P ∈ ℙ ∧ A ∈ ℤ → P ∈ ℕ
25 24 adantr ⊢ P ∈ ℙ ∧ A ∈ ℤ ∧ P ∥ A − 1 → P ∈ ℕ
26 22 25 zmodcld ⊢ P ∈ ℙ ∧ A ∈ ℤ ∧ P ∥ A − 1 → A P − 2 mod P ∈ ℕ 0
27 26 nn0zd ⊢ P ∈ ℙ ∧ A ∈ ℤ ∧ P ∥ A − 1 → A P − 2 mod P ∈ ℤ
28 23 nnrpd ⊢ P ∈ ℙ → P ∈ ℝ +
29 28 adantr ⊢ P ∈ ℙ ∧ A ∈ ℤ → P ∈ ℝ +
30 29 adantr ⊢ P ∈ ℙ ∧ A ∈ ℤ ∧ P ∥ A − 1 → P ∈ ℝ +
31 modmulmod ⊢ A ∈ ℝ ∧ A P − 2 mod P ∈ ℤ ∧ P ∈ ℝ + → A mod P ⁢ A P − 2 mod P mod P = A ⁢ A P − 2 mod P mod P
32 17 27 30 31 syl3anc ⊢ P ∈ ℙ ∧ A ∈ ℤ ∧ P ∥ A − 1 → A mod P ⁢ A P − 2 mod P mod P = A ⁢ A P − 2 mod P mod P
33 19 21 syl ⊢ P ∈ ℙ ∧ A ∈ ℤ → A P − 2 ∈ ℤ
34 33 24 zmodcld ⊢ P ∈ ℙ ∧ A ∈ ℤ → A P − 2 mod P ∈ ℕ 0
35 34 nn0cnd ⊢ P ∈ ℙ ∧ A ∈ ℤ → A P − 2 mod P ∈ ℂ
36 35 mullidd ⊢ P ∈ ℙ ∧ A ∈ ℤ → 1 ⁢ A P − 2 mod P = A P − 2 mod P
37 36 oveq1d ⊢ P ∈ ℙ ∧ A ∈ ℤ → 1 ⁢ A P − 2 mod P mod P = A P − 2 mod P mod P
38 37 adantr ⊢ P ∈ ℙ ∧ A ∈ ℤ ∧ P ∥ A − 1 → 1 ⁢ A P − 2 mod P mod P = A P − 2 mod P mod P
39 reexpcl ⊢ A ∈ ℝ ∧ P − 2 ∈ ℕ 0 → A P − 2 ∈ ℝ
40 16 18 39 syl2anr ⊢ P ∈ ℙ ∧ A ∈ ℤ → A P − 2 ∈ ℝ
41 40 29 jca ⊢ P ∈ ℙ ∧ A ∈ ℤ → A P − 2 ∈ ℝ ∧ P ∈ ℝ +
42 41 adantr ⊢ P ∈ ℙ ∧ A ∈ ℤ ∧ P ∥ A − 1 → A P − 2 ∈ ℝ ∧ P ∈ ℝ +
43 modabs2 ⊢ A P − 2 ∈ ℝ ∧ P ∈ ℝ + → A P − 2 mod P mod P = A P − 2 mod P
44 42 43 syl ⊢ P ∈ ℙ ∧ A ∈ ℤ ∧ P ∥ A − 1 → A P − 2 mod P mod P = A P − 2 mod P
45 38 44 eqtrd ⊢ P ∈ ℙ ∧ A ∈ ℤ ∧ P ∥ A − 1 → 1 ⁢ A P − 2 mod P mod P = A P − 2 mod P
46 15 32 45 3eqtr3d ⊢ P ∈ ℙ ∧ A ∈ ℤ ∧ P ∥ A − 1 → A ⁢ A P − 2 mod P mod P = A P − 2 mod P
47 11 46 eqtr2d ⊢ P ∈ ℙ ∧ A ∈ ℤ ∧ P ∥ A − 1 → A P − 2 mod P = 1
48 47 ex ⊢ P ∈ ℙ ∧ A ∈ ℤ → P ∥ A − 1 → A P − 2 mod P = 1