Metamath Proof Explorer


Theorem pockthg

Description: The generalized Pocklington's theorem. If N - 1 = A x. B where B < A , then N is prime if and only if for every prime factor p of A , there is an x such that x ^ ( N - 1 ) = 1 ( mod N ) and gcd ( x ^ ( ( N - 1 ) / p ) - 1 , N ) = 1 . (Contributed by Mario Carneiro, 2-Mar-2014)

Ref Expression
Hypotheses pockthg.1 φA
pockthg.2 φB
pockthg.3 φB<A
pockthg.4 φN=AB+1
pockthg.5 φppAxxN1modN=1xN1p1gcdN=1
Assertion pockthg φN

Proof

Step Hyp Ref Expression
1 pockthg.1 φA
2 pockthg.2 φB
3 pockthg.3 φB<A
4 pockthg.4 φN=AB+1
5 pockthg.5 φppAxxN1modN=1xN1p1gcdN=1
6 1 2 nnmulcld φAB
7 nnuz =1
8 6 7 eleqtrdi φAB1
9 eluzp1p1 AB1AB+11+1
10 8 9 syl φAB+11+1
11 df-2 2=1+1
12 11 fveq2i 2=1+1
13 10 12 eleqtrrdi φAB+12
14 4 13 eqeltrd φN2
15 eluzelre N2N
16 14 15 syl φN
17 16 adantr φqqNN
18 1 nnred φA
19 18 resqcld φA2
20 19 adantr φqqNA2
21 prmnn qq
22 21 ad2antrl φqqNq
23 22 nnred φqqNq
24 23 resqcld φqqNq2
25 2 nnred φB
26 1 nngt0d φ0<A
27 ltmul2 BAA0<AB<AAB<AA
28 25 18 18 26 27 syl112anc φB<AAB<AA
29 3 28 mpbid φAB<AA
30 1 1 nnmulcld φAA
31 nnltp1le ABAAAB<AAAB+1AA
32 6 30 31 syl2anc φAB<AAAB+1AA
33 29 32 mpbid φAB+1AA
34 1 nncnd φA
35 34 sqvald φA2=AA
36 33 4 35 3brtr4d φNA2
37 36 adantr φqqNNA2
38 5 adantr φqqNppAxxN1modN=1xN1p1gcdN=1
39 prmnn pp
40 39 ad2antrl φqqNpppCntAp
41 40 nncnd φqqNpppCntAp
42 41 exp1d φqqNpppCntAp1=p
43 nnge1 ppCntA1ppCntA
44 43 ad2antll φqqNpppCntA1ppCntA
45 simprl φqqNpppCntAp
46 1 nnzd φA
47 46 ad2antrr φqqNpppCntAA
48 1nn0 10
49 48 a1i φqqNpppCntA10
50 pcdvdsb pA101ppCntAp1A
51 45 47 49 50 syl3anc φqqNpppCntA1ppCntAp1A
52 44 51 mpbid φqqNpppCntAp1A
53 42 52 eqbrtrrd φqqNpppCntApA
54 simpl1 φqqNpppCntAxxN1modN=1xN1p1gcdN=1φ
55 54 1 syl φqqNpppCntAxxN1modN=1xN1p1gcdN=1A
56 54 2 syl φqqNpppCntAxxN1modN=1xN1p1gcdN=1B
57 54 3 syl φqqNpppCntAxxN1modN=1xN1p1gcdN=1B<A
58 54 4 syl φqqNpppCntAxxN1modN=1xN1p1gcdN=1N=AB+1
59 simpl2l φqqNpppCntAxxN1modN=1xN1p1gcdN=1q
60 simpl2r φqqNpppCntAxxN1modN=1xN1p1gcdN=1qN
61 simpl3l φqqNpppCntAxxN1modN=1xN1p1gcdN=1p
62 simpl3r φqqNpppCntAxxN1modN=1xN1p1gcdN=1ppCntA
63 simprl φqqNpppCntAxxN1modN=1xN1p1gcdN=1x
64 simprrl φqqNpppCntAxxN1modN=1xN1p1gcdN=1xN1modN=1
65 simprrr φqqNpppCntAxxN1modN=1xN1p1gcdN=1xN1p1gcdN=1
66 55 56 57 58 59 60 61 62 63 64 65 pockthlem φqqNpppCntAxxN1modN=1xN1p1gcdN=1ppCntAppCntq1
67 66 rexlimdvaa φqqNpppCntAxxN1modN=1xN1p1gcdN=1ppCntAppCntq1
68 67 3expa φqqNpppCntAxxN1modN=1xN1p1gcdN=1ppCntAppCntq1
69 53 68 embantd φqqNpppCntApAxxN1modN=1xN1p1gcdN=1ppCntAppCntq1
70 69 expr φqqNpppCntApAxxN1modN=1xN1p1gcdN=1ppCntAppCntq1
71 id pp
72 prmuz2 qq2
73 uz2m1nn q2q1
74 72 73 syl qq1
75 74 ad2antrl φqqNq1
76 pccl pq1ppCntq10
77 71 75 76 syl2anr φqqNpppCntq10
78 77 nn0ge0d φqqNp0ppCntq1
79 breq1 ppCntA=0ppCntAppCntq10ppCntq1
80 78 79 syl5ibrcom φqqNpppCntA=0ppCntAppCntq1
81 80 a1dd φqqNpppCntA=0pAxxN1modN=1xN1p1gcdN=1ppCntAppCntq1
82 simpr φqqNpp
83 1 ad2antrr φqqNpA
84 82 83 pccld φqqNpppCntA0
85 elnn0 ppCntA0ppCntAppCntA=0
86 84 85 sylib φqqNpppCntAppCntA=0
87 70 81 86 mpjaod φqqNppAxxN1modN=1xN1p1gcdN=1ppCntAppCntq1
88 87 ralimdva φqqNppAxxN1modN=1xN1p1gcdN=1pppCntAppCntq1
89 38 88 mpd φqqNpppCntAppCntq1
90 75 nnzd φqqNq1
91 pc2dvds Aq1Aq1pppCntAppCntq1
92 46 90 91 syl2an2r φqqNAq1pppCntAppCntq1
93 89 92 mpbird φqqNAq1
94 dvdsle Aq1Aq1Aq1
95 46 75 94 syl2an2r φqqNAq1Aq1
96 93 95 mpd φqqNAq1
97 1 nnnn0d φA0
98 22 nnnn0d φqqNq0
99 nn0ltlem1 A0q0A<qAq1
100 97 98 99 syl2an2r φqqNA<qAq1
101 96 100 mpbird φqqNA<q
102 18 adantr φqqNA
103 97 nn0ge0d φ0A
104 103 adantr φqqN0A
105 98 nn0ge0d φqqN0q
106 102 23 104 105 lt2sqd φqqNA<qA2<q2
107 101 106 mpbid φqqNA2<q2
108 17 20 24 37 107 lelttrd φqqNN<q2
109 17 24 ltnled φqqNN<q2¬q2N
110 108 109 mpbid φqqN¬q2N
111 110 expr φqqN¬q2N
112 111 con2d φqq2N¬qN
113 112 ralrimiva φqq2N¬qN
114 isprm5 NN2qq2N¬qN
115 14 113 114 sylanbrc φN