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 NN2NN1!+1

Proof

Step Hyp Ref Expression
1 prmuz2 NN2
2 eqid mulGrpfld=mulGrpfld
3 eleq2w z=xN1zN1x
4 oveq1 n=ynN2=yN2
5 4 oveq1d n=ynN2modN=yN2modN
6 5 eleq1d n=ynN2modNzyN2modNz
7 6 cbvralvw nznN2modNzyzyN2modNz
8 eleq2w z=xyN2modNzyN2modNx
9 8 raleqbi1dv z=xyzyN2modNzyxyN2modNx
10 7 9 syl5bb z=xnznN2modNzyxyN2modNx
11 3 10 anbi12d z=xN1znznN2modNzN1xyxyN2modNx
12 11 cbvrabv z𝒫1N1|N1znznN2modNz=x𝒫1N1|N1xyxyN2modNx
13 2 12 wilthlem3 NNN1!+1
14 1 13 jca NN2NN1!+1
15 simpl N2NN1!+1N2
16 elfzuz n2N1n2
17 16 adantl N2NN1!+1n2N1n2
18 eluz2nn n2n
19 17 18 syl N2NN1!+1n2N1n
20 elfzuz3 n2N1N1n
21 20 adantl N2NN1!+1n2N1N1n
22 dvdsfac nN1nnN1!
23 19 21 22 syl2anc N2NN1!+1n2N1nN1!
24 eluz2nn N2N
25 24 ad2antrr N2NN1!+1n2N1N
26 nnm1nn0 NN10
27 faccl N10N1!
28 25 26 27 3syl N2NN1!+1n2N1N1!
29 28 nnzd N2NN1!+1n2N1N1!
30 eluz2gt1 n21<n
31 17 30 syl N2NN1!+1n2N11<n
32 ndvdsp1 N1!n1<nnN1!¬nN1!+1
33 29 19 31 32 syl3anc N2NN1!+1n2N1nN1!¬nN1!+1
34 23 33 mpd N2NN1!+1n2N1¬nN1!+1
35 simplr N2NN1!+1n2N1NN1!+1
36 19 nnzd N2NN1!+1n2N1n
37 25 nnzd N2NN1!+1n2N1N
38 29 peano2zd N2NN1!+1n2N1N1!+1
39 dvdstr nNN1!+1nNNN1!+1nN1!+1
40 36 37 38 39 syl3anc N2NN1!+1n2N1nNNN1!+1nN1!+1
41 35 40 mpan2d N2NN1!+1n2N1nNnN1!+1
42 34 41 mtod N2NN1!+1n2N1¬nN
43 42 ralrimiva N2NN1!+1n2N1¬nN
44 isprm3 NN2n2N1¬nN
45 15 43 44 sylanbrc N2NN1!+1N
46 14 45 impbii NN2NN1!+1