Metamath Proof Explorer


Theorem fpprwppr

Description: A Fermat pseudoprime to the base N is aweak pseudoprime (see Wikipedia "Fermat pseudoprime", 29-May-2023, https://en.wikipedia.org/wiki/Fermat_pseudoprime . (Contributed by AV, 31-May-2023)

Ref Expression
Assertion fpprwppr ⊢ X ∈ FPPr ⁡ N → N X mod X = N mod X

Proof

Step Hyp Ref Expression
1 fpprbasnn ⊢ X ∈ FPPr ⁡ N → N ∈ ℕ
2 fpprel ⊢ N ∈ ℕ → X ∈ FPPr ⁡ N ↔ X ∈ ℤ ≥ 4 ∧ X ∉ ℙ ∧ N X − 1 mod X = 1
3 nnz ⊢ N ∈ ℕ → N ∈ ℤ
4 eluz4nn ⊢ X ∈ ℤ ≥ 4 → X ∈ ℕ
5 nnm1nn0 ⊢ X ∈ ℕ → X − 1 ∈ ℕ 0
6 4 5 syl ⊢ X ∈ ℤ ≥ 4 → X − 1 ∈ ℕ 0
7 zexpcl ⊢ N ∈ ℤ ∧ X − 1 ∈ ℕ 0 → N X − 1 ∈ ℤ
8 3 6 7 syl2an ⊢ N ∈ ℕ ∧ X ∈ ℤ ≥ 4 → N X − 1 ∈ ℤ
9 8 zred ⊢ N ∈ ℕ ∧ X ∈ ℤ ≥ 4 → N X − 1 ∈ ℝ
10 4 nnrpd ⊢ X ∈ ℤ ≥ 4 → X ∈ ℝ +
11 10 adantl ⊢ N ∈ ℕ ∧ X ∈ ℤ ≥ 4 → X ∈ ℝ +
12 9 11 modcld ⊢ N ∈ ℕ ∧ X ∈ ℤ ≥ 4 → N X − 1 mod X ∈ ℝ
13 12 recnd ⊢ N ∈ ℕ ∧ X ∈ ℤ ≥ 4 → N X − 1 mod X ∈ ℂ
14 1cnd ⊢ N ∈ ℕ ∧ X ∈ ℤ ≥ 4 → 1 ∈ ℂ
15 nncn ⊢ N ∈ ℕ → N ∈ ℂ
16 15 adantr ⊢ N ∈ ℕ ∧ X ∈ ℤ ≥ 4 → N ∈ ℂ
17 nnne0 ⊢ N ∈ ℕ → N ≠ 0
18 17 adantr ⊢ N ∈ ℕ ∧ X ∈ ℤ ≥ 4 → N ≠ 0
19 13 14 16 18 mulcand ⊢ N ∈ ℕ ∧ X ∈ ℤ ≥ 4 → N ⁢ N X − 1 mod X = N ⋅ 1 ↔ N X − 1 mod X = 1
20 oveq1 ⊢ N ⁢ N X − 1 mod X = N ⋅ 1 → N ⁢ N X − 1 mod X mod X = N ⋅ 1 mod X
21 3 adantr ⊢ N ∈ ℕ ∧ X ∈ ℤ ≥ 4 → N ∈ ℤ
22 modmulmodr ⊢ N ∈ ℤ ∧ N X − 1 ∈ ℝ ∧ X ∈ ℝ + → N ⁢ N X − 1 mod X mod X = N ⁢ N X − 1 mod X
23 21 9 11 22 syl3anc ⊢ N ∈ ℕ ∧ X ∈ ℤ ≥ 4 → N ⁢ N X − 1 mod X mod X = N ⁢ N X − 1 mod X
24 23 eqeq1d ⊢ N ∈ ℕ ∧ X ∈ ℤ ≥ 4 → N ⁢ N X − 1 mod X mod X = N ⋅ 1 mod X ↔ N ⁢ N X − 1 mod X = N ⋅ 1 mod X
25 8 zcnd ⊢ N ∈ ℕ ∧ X ∈ ℤ ≥ 4 → N X − 1 ∈ ℂ
26 16 25 mulcomd ⊢ N ∈ ℕ ∧ X ∈ ℤ ≥ 4 → N ⁢ N X − 1 = N X − 1 ⋅ N
27 expm1t ⊢ N ∈ ℂ ∧ X ∈ ℕ → N X = N X − 1 ⋅ N
28 27 eqcomd ⊢ N ∈ ℂ ∧ X ∈ ℕ → N X − 1 ⋅ N = N X
29 15 4 28 syl2an ⊢ N ∈ ℕ ∧ X ∈ ℤ ≥ 4 → N X − 1 ⋅ N = N X
30 26 29 eqtrd ⊢ N ∈ ℕ ∧ X ∈ ℤ ≥ 4 → N ⁢ N X − 1 = N X
31 30 oveq1d ⊢ N ∈ ℕ ∧ X ∈ ℤ ≥ 4 → N ⁢ N X − 1 mod X = N X mod X
32 15 mulridd ⊢ N ∈ ℕ → N ⋅ 1 = N
33 32 adantr ⊢ N ∈ ℕ ∧ X ∈ ℤ ≥ 4 → N ⋅ 1 = N
34 33 oveq1d ⊢ N ∈ ℕ ∧ X ∈ ℤ ≥ 4 → N ⋅ 1 mod X = N mod X
35 31 34 eqeq12d ⊢ N ∈ ℕ ∧ X ∈ ℤ ≥ 4 → N ⁢ N X − 1 mod X = N ⋅ 1 mod X ↔ N X mod X = N mod X
36 35 biimpd ⊢ N ∈ ℕ ∧ X ∈ ℤ ≥ 4 → N ⁢ N X − 1 mod X = N ⋅ 1 mod X → N X mod X = N mod X
37 24 36 sylbid ⊢ N ∈ ℕ ∧ X ∈ ℤ ≥ 4 → N ⁢ N X − 1 mod X mod X = N ⋅ 1 mod X → N X mod X = N mod X
38 20 37 syl5 ⊢ N ∈ ℕ ∧ X ∈ ℤ ≥ 4 → N ⁢ N X − 1 mod X = N ⋅ 1 → N X mod X = N mod X
39 19 38 sylbird ⊢ N ∈ ℕ ∧ X ∈ ℤ ≥ 4 → N X − 1 mod X = 1 → N X mod X = N mod X
40 39 a1d ⊢ N ∈ ℕ ∧ X ∈ ℤ ≥ 4 → X ∉ ℙ → N X − 1 mod X = 1 → N X mod X = N mod X
41 40 ex ⊢ N ∈ ℕ → X ∈ ℤ ≥ 4 → X ∉ ℙ → N X − 1 mod X = 1 → N X mod X = N mod X
42 41 3impd ⊢ N ∈ ℕ → X ∈ ℤ ≥ 4 ∧ X ∉ ℙ ∧ N X − 1 mod X = 1 → N X mod X = N mod X
43 2 42 sylbid ⊢ N ∈ ℕ → X ∈ FPPr ⁡ N → N X mod X = N mod X
44 1 43 mpcom ⊢ X ∈ FPPr ⁡ N → N X mod X = N mod X