Metamath Proof Explorer


Theorem wilth

Description: Wilson's theorem. A number is prime iff it is greater than or equal to 2 and ( N - 1 ) ! is congruent to -u 1 , mod N , or alternatively if N divides ( N - 1 ) ! + 1 . In this part of the proof we show the relatively simple reverse implication; see wilthlem3 for the forward implication. This is Metamath 100 proof #51. (Contributed by Mario Carneiro, 24-Jan-2015) (Proof shortened by Fan Zheng, 16-Jun-2016)

Ref Expression
Assertion wilth ⊢ N ∈ ℙ ↔ N ∈ ℤ ≥ 2 ∧ N ∥ N − 1 ! + 1

Proof

Step Hyp Ref Expression
1 prmuz2 ⊢ N ∈ ℙ → N ∈ ℤ ≥ 2
2 eqid ⊢ mulGrp ℂ fld = mulGrp ℂ fld
3 eleq2w ⊢ z = x → N − 1 ∈ z ↔ N − 1 ∈ x
4 oveq1 ⊢ n = y → n N − 2 = y N − 2
5 4 oveq1d ⊢ n = y → n N − 2 mod N = y N − 2 mod N
6 5 eleq1d ⊢ n = y → n N − 2 mod N ∈ z ↔ y N − 2 mod N ∈ z
7 6 cbvralvw ⊢ ∀ n ∈ z n N − 2 mod N ∈ z ↔ ∀ y ∈ z y N − 2 mod N ∈ z
8 eleq2w ⊢ z = x → y N − 2 mod N ∈ z ↔ y N − 2 mod N ∈ x
9 8 raleqbi1dv ⊢ z = x → ∀ y ∈ z y N − 2 mod N ∈ z ↔ ∀ y ∈ x y N − 2 mod N ∈ x
10 7 9 bitrid ⊢ z = x → ∀ n ∈ z n N − 2 mod N ∈ z ↔ ∀ y ∈ x y N − 2 mod N ∈ x
11 3 10 anbi12d ⊢ z = x → N − 1 ∈ z ∧ ∀ n ∈ z n N − 2 mod N ∈ z ↔ N − 1 ∈ x ∧ ∀ y ∈ x y N − 2 mod N ∈ x
12 11 cbvrabv ⊢ z ∈ 𝒫 1 … N − 1 | N − 1 ∈ z ∧ ∀ n ∈ z n N − 2 mod N ∈ z = x ∈ 𝒫 1 … N − 1 | N − 1 ∈ x ∧ ∀ y ∈ x y N − 2 mod N ∈ x
13 2 12 wilthlem3 ⊢ N ∈ ℙ → N ∥ N − 1 ! + 1
14 1 13 jca ⊢ N ∈ ℙ → N ∈ ℤ ≥ 2 ∧ N ∥ N − 1 ! + 1
15 simpl ⊢ N ∈ ℤ ≥ 2 ∧ N ∥ N − 1 ! + 1 → N ∈ ℤ ≥ 2
16 elfzuz ⊢ n ∈ 2 … N − 1 → n ∈ ℤ ≥ 2
17 16 adantl ⊢ N ∈ ℤ ≥ 2 ∧ N ∥ N − 1 ! + 1 ∧ n ∈ 2 … N − 1 → n ∈ ℤ ≥ 2
18 eluz2nn ⊢ n ∈ ℤ ≥ 2 → n ∈ ℕ
19 17 18 syl ⊢ N ∈ ℤ ≥ 2 ∧ N ∥ N − 1 ! + 1 ∧ n ∈ 2 … N − 1 → n ∈ ℕ
20 elfzuz3 ⊢ n ∈ 2 … N − 1 → N − 1 ∈ ℤ ≥ n
21 20 adantl ⊢ N ∈ ℤ ≥ 2 ∧ N ∥ N − 1 ! + 1 ∧ n ∈ 2 … N − 1 → N − 1 ∈ ℤ ≥ n
22 dvdsfac ⊢ n ∈ ℕ ∧ N − 1 ∈ ℤ ≥ n → n ∥ N − 1 !
23 19 21 22 syl2anc ⊢ N ∈ ℤ ≥ 2 ∧ N ∥ N − 1 ! + 1 ∧ n ∈ 2 … N − 1 → n ∥ N − 1 !
24 eluz2nn ⊢ N ∈ ℤ ≥ 2 → N ∈ ℕ
25 24 ad2antrr ⊢ N ∈ ℤ ≥ 2 ∧ N ∥ N − 1 ! + 1 ∧ n ∈ 2 … N − 1 → N ∈ ℕ
26 nnm1nn0 ⊢ N ∈ ℕ → N − 1 ∈ ℕ 0
27 faccl ⊢ N − 1 ∈ ℕ 0 → N − 1 ! ∈ ℕ
28 25 26 27 3syl ⊢ N ∈ ℤ ≥ 2 ∧ N ∥ N − 1 ! + 1 ∧ n ∈ 2 … N − 1 → N − 1 ! ∈ ℕ
29 28 nnzd ⊢ N ∈ ℤ ≥ 2 ∧ N ∥ N − 1 ! + 1 ∧ n ∈ 2 … N − 1 → N − 1 ! ∈ ℤ
30 eluz2gt1 ⊢ n ∈ ℤ ≥ 2 → 1 < n
31 17 30 syl ⊢ N ∈ ℤ ≥ 2 ∧ N ∥ N − 1 ! + 1 ∧ n ∈ 2 … N − 1 → 1 < n
32 ndvdsp1 ⊢ N − 1 ! ∈ ℤ ∧ n ∈ ℕ ∧ 1 < n → n ∥ N − 1 ! → ¬ n ∥ N − 1 ! + 1
33 29 19 31 32 syl3anc ⊢ N ∈ ℤ ≥ 2 ∧ N ∥ N − 1 ! + 1 ∧ n ∈ 2 … N − 1 → n ∥ N − 1 ! → ¬ n ∥ N − 1 ! + 1
34 23 33 mpd ⊢ N ∈ ℤ ≥ 2 ∧ N ∥ N − 1 ! + 1 ∧ n ∈ 2 … N − 1 → ¬ n ∥ N − 1 ! + 1
35 simplr ⊢ N ∈ ℤ ≥ 2 ∧ N ∥ N − 1 ! + 1 ∧ n ∈ 2 … N − 1 → N ∥ N − 1 ! + 1
36 19 nnzd ⊢ N ∈ ℤ ≥ 2 ∧ N ∥ N − 1 ! + 1 ∧ n ∈ 2 … N − 1 → n ∈ ℤ
37 25 nnzd ⊢ N ∈ ℤ ≥ 2 ∧ N ∥ N − 1 ! + 1 ∧ n ∈ 2 … N − 1 → N ∈ ℤ
38 29 peano2zd ⊢ N ∈ ℤ ≥ 2 ∧ N ∥ N − 1 ! + 1 ∧ n ∈ 2 … N − 1 → N − 1 ! + 1 ∈ ℤ
39 dvdstr ⊢ n ∈ ℤ ∧ N ∈ ℤ ∧ N − 1 ! + 1 ∈ ℤ → n ∥ N ∧ N ∥ N − 1 ! + 1 → n ∥ N − 1 ! + 1
40 36 37 38 39 syl3anc ⊢ N ∈ ℤ ≥ 2 ∧ N ∥ N − 1 ! + 1 ∧ n ∈ 2 … N − 1 → n ∥ N ∧ N ∥ N − 1 ! + 1 → n ∥ N − 1 ! + 1
41 35 40 mpan2d ⊢ N ∈ ℤ ≥ 2 ∧ N ∥ N − 1 ! + 1 ∧ n ∈ 2 … N − 1 → n ∥ N → n ∥ N − 1 ! + 1
42 34 41 mtod ⊢ N ∈ ℤ ≥ 2 ∧ N ∥ N − 1 ! + 1 ∧ n ∈ 2 … N − 1 → ¬ n ∥ N
43 42 ralrimiva ⊢ N ∈ ℤ ≥ 2 ∧ N ∥ N − 1 ! + 1 → ∀ n ∈ 2 … N − 1 ¬ n ∥ N
44 isprm3 ⊢ N ∈ ℙ ↔ N ∈ ℤ ≥ 2 ∧ ∀ n ∈ 2 … N − 1 ¬ n ∥ N
45 15 43 44 sylanbrc ⊢ N ∈ ℤ ≥ 2 ∧ N ∥ N − 1 ! + 1 → N ∈ ℙ
46 14 45 impbii ⊢ N ∈ ℙ ↔ N ∈ ℤ ≥ 2 ∧ N ∥ N − 1 ! + 1