ILE Home Intuitionistic Logic Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  ILE Home  >  Th. List  >  lgslem1 Unicode version

Theorem lgslem1 14854
Description: When  a is coprime to the prime  p,  a ^ ( ( p  -  1 )  / 
2 ) is equivalent  mod  p to  1 or  -u 1, and so adding  1 makes it equivalent to  0 or  2. (Contributed by Mario Carneiro, 4-Feb-2015.)
Assertion
Ref Expression
lgslem1  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  (
( ( A ^
( ( P  - 
1 )  /  2
) )  +  1 )  mod  P )  e.  { 0 ,  2 } )

Proof of Theorem lgslem1
StepHypRef Expression
1 eldifi 3272 . . . . . . . . 9  |-  ( P  e.  ( Prime  \  {
2 } )  ->  P  e.  Prime )
213ad2ant2 1021 . . . . . . . 8  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  P  e.  Prime )
3 prmnn 12141 . . . . . . . 8  |-  ( P  e.  Prime  ->  P  e.  NN )
42, 3syl 14 . . . . . . 7  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  P  e.  NN )
5 simp1 999 . . . . . . 7  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  A  e.  ZZ )
6 prmz 12142 . . . . . . . . . 10  |-  ( P  e.  Prime  ->  P  e.  ZZ )
72, 6syl 14 . . . . . . . . 9  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  P  e.  ZZ )
85, 7gcdcomd 12006 . . . . . . . 8  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  ( A  gcd  P )  =  ( P  gcd  A
) )
9 simp3 1001 . . . . . . . . 9  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  -.  P  ||  A )
10 coprm 12175 . . . . . . . . . 10  |-  ( ( P  e.  Prime  /\  A  e.  ZZ )  ->  ( -.  P  ||  A  <->  ( P  gcd  A )  =  1 ) )
112, 5, 10syl2anc 411 . . . . . . . . 9  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  ( -.  P  ||  A  <->  ( P  gcd  A )  =  1 ) )
129, 11mpbid 147 . . . . . . . 8  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  ( P  gcd  A )  =  1 )
138, 12eqtrd 2222 . . . . . . 7  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  ( A  gcd  P )  =  1 )
14 eulerth 12264 . . . . . . 7  |-  ( ( P  e.  NN  /\  A  e.  ZZ  /\  ( A  gcd  P )  =  1 )  ->  (
( A ^ ( phi `  P ) )  mod  P )  =  ( 1  mod  P
) )
154, 5, 13, 14syl3anc 1249 . . . . . 6  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  (
( A ^ ( phi `  P ) )  mod  P )  =  ( 1  mod  P
) )
16 phiprm 12254 . . . . . . . . . 10  |-  ( P  e.  Prime  ->  ( phi `  P )  =  ( P  -  1 ) )
172, 16syl 14 . . . . . . . . 9  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  ( phi `  P )  =  ( P  -  1 ) )
18 nnm1nn0 9246 . . . . . . . . . 10  |-  ( P  e.  NN  ->  ( P  -  1 )  e.  NN0 )
194, 18syl 14 . . . . . . . . 9  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  ( P  -  1 )  e.  NN0 )
2017, 19eqeltrd 2266 . . . . . . . 8  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  ( phi `  P )  e. 
NN0 )
21 zexpcl 10565 . . . . . . . 8  |-  ( ( A  e.  ZZ  /\  ( phi `  P )  e.  NN0 )  -> 
( A ^ ( phi `  P ) )  e.  ZZ )
225, 20, 21syl2anc 411 . . . . . . 7  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  ( A ^ ( phi `  P ) )  e.  ZZ )
23 1zzd 9309 . . . . . . 7  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  1  e.  ZZ )
24 moddvds 11837 . . . . . . 7  |-  ( ( P  e.  NN  /\  ( A ^ ( phi `  P ) )  e.  ZZ  /\  1  e.  ZZ )  ->  (
( ( A ^
( phi `  P
) )  mod  P
)  =  ( 1  mod  P )  <->  P  ||  (
( A ^ ( phi `  P ) )  -  1 ) ) )
254, 22, 23, 24syl3anc 1249 . . . . . 6  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  (
( ( A ^
( phi `  P
) )  mod  P
)  =  ( 1  mod  P )  <->  P  ||  (
( A ^ ( phi `  P ) )  -  1 ) ) )
2615, 25mpbid 147 . . . . 5  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  P  ||  ( ( A ^
( phi `  P
) )  -  1 ) )
2719nn0cnd 9260 . . . . . . . . . . . 12  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  ( P  -  1 )  e.  CC )
28 2cnd 9021 . . . . . . . . . . . 12  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  2  e.  CC )
29 2ap0 9041 . . . . . . . . . . . . 13  |-  2 #  0
3029a1i 9 . . . . . . . . . . . 12  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  2 #  0 )
3127, 28, 30divcanap1d 8777 . . . . . . . . . . 11  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  (
( ( P  - 
1 )  /  2
)  x.  2 )  =  ( P  - 
1 ) )
3217, 31eqtr4d 2225 . . . . . . . . . 10  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  ( phi `  P )  =  ( ( ( P  -  1 )  / 
2 )  x.  2 ) )
3332oveq2d 5911 . . . . . . . . 9  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  ( A ^ ( phi `  P ) )  =  ( A ^ (
( ( P  - 
1 )  /  2
)  x.  2 ) ) )
345zcnd 9405 . . . . . . . . . 10  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  A  e.  CC )
35 2nn0 9222 . . . . . . . . . . 11  |-  2  e.  NN0
3635a1i 9 . . . . . . . . . 10  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  2  e.  NN0 )
37 oddprm 12290 . . . . . . . . . . . 12  |-  ( P  e.  ( Prime  \  {
2 } )  -> 
( ( P  - 
1 )  /  2
)  e.  NN )
38373ad2ant2 1021 . . . . . . . . . . 11  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  (
( P  -  1 )  /  2 )  e.  NN )
3938nnnn0d 9258 . . . . . . . . . 10  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  (
( P  -  1 )  /  2 )  e.  NN0 )
4034, 36, 39expmuld 10687 . . . . . . . . 9  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  ( A ^ ( ( ( P  -  1 )  /  2 )  x.  2 ) )  =  ( ( A ^
( ( P  - 
1 )  /  2
) ) ^ 2 ) )
4133, 40eqtrd 2222 . . . . . . . 8  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  ( A ^ ( phi `  P ) )  =  ( ( A ^
( ( P  - 
1 )  /  2
) ) ^ 2 ) )
4241oveq1d 5910 . . . . . . 7  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  (
( A ^ ( phi `  P ) )  -  1 )  =  ( ( ( A ^ ( ( P  -  1 )  / 
2 ) ) ^
2 )  -  1 ) )
43 sq1 10644 . . . . . . . 8  |-  ( 1 ^ 2 )  =  1
4443oveq2i 5906 . . . . . . 7  |-  ( ( ( A ^ (
( P  -  1 )  /  2 ) ) ^ 2 )  -  ( 1 ^ 2 ) )  =  ( ( ( A ^ ( ( P  -  1 )  / 
2 ) ) ^
2 )  -  1 )
4542, 44eqtr4di 2240 . . . . . 6  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  (
( A ^ ( phi `  P ) )  -  1 )  =  ( ( ( A ^ ( ( P  -  1 )  / 
2 ) ) ^
2 )  -  (
1 ^ 2 ) ) )
46 zexpcl 10565 . . . . . . . . 9  |-  ( ( A  e.  ZZ  /\  ( ( P  - 
1 )  /  2
)  e.  NN0 )  ->  ( A ^ (
( P  -  1 )  /  2 ) )  e.  ZZ )
475, 39, 46syl2anc 411 . . . . . . . 8  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  ( A ^ ( ( P  -  1 )  / 
2 ) )  e.  ZZ )
4847zcnd 9405 . . . . . . 7  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  ( A ^ ( ( P  -  1 )  / 
2 ) )  e.  CC )
49 ax-1cn 7933 . . . . . . 7  |-  1  e.  CC
50 subsq 10657 . . . . . . 7  |-  ( ( ( A ^ (
( P  -  1 )  /  2 ) )  e.  CC  /\  1  e.  CC )  ->  ( ( ( A ^ ( ( P  -  1 )  / 
2 ) ) ^
2 )  -  (
1 ^ 2 ) )  =  ( ( ( A ^ (
( P  -  1 )  /  2 ) )  +  1 )  x.  ( ( A ^ ( ( P  -  1 )  / 
2 ) )  - 
1 ) ) )
5148, 49, 50sylancl 413 . . . . . 6  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  (
( ( A ^
( ( P  - 
1 )  /  2
) ) ^ 2 )  -  ( 1 ^ 2 ) )  =  ( ( ( A ^ ( ( P  -  1 )  /  2 ) )  +  1 )  x.  ( ( A ^
( ( P  - 
1 )  /  2
) )  -  1 ) ) )
5245, 51eqtrd 2222 . . . . 5  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  (
( A ^ ( phi `  P ) )  -  1 )  =  ( ( ( A ^ ( ( P  -  1 )  / 
2 ) )  +  1 )  x.  (
( A ^ (
( P  -  1 )  /  2 ) )  -  1 ) ) )
5326, 52breqtrd 4044 . . . 4  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  P  ||  ( ( ( A ^ ( ( P  -  1 )  / 
2 ) )  +  1 )  x.  (
( A ^ (
( P  -  1 )  /  2 ) )  -  1 ) ) )
5447peano2zd 9407 . . . . 5  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  (
( A ^ (
( P  -  1 )  /  2 ) )  +  1 )  e.  ZZ )
55 peano2zm 9320 . . . . . 6  |-  ( ( A ^ ( ( P  -  1 )  /  2 ) )  e.  ZZ  ->  (
( A ^ (
( P  -  1 )  /  2 ) )  -  1 )  e.  ZZ )
5647, 55syl 14 . . . . 5  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  (
( A ^ (
( P  -  1 )  /  2 ) )  -  1 )  e.  ZZ )
57 euclemma 12177 . . . . 5  |-  ( ( P  e.  Prime  /\  (
( A ^ (
( P  -  1 )  /  2 ) )  +  1 )  e.  ZZ  /\  (
( A ^ (
( P  -  1 )  /  2 ) )  -  1 )  e.  ZZ )  -> 
( P  ||  (
( ( A ^
( ( P  - 
1 )  /  2
) )  +  1 )  x.  ( ( A ^ ( ( P  -  1 )  /  2 ) )  -  1 ) )  <-> 
( P  ||  (
( A ^ (
( P  -  1 )  /  2 ) )  +  1 )  \/  P  ||  (
( A ^ (
( P  -  1 )  /  2 ) )  -  1 ) ) ) )
582, 54, 56, 57syl3anc 1249 . . . 4  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  ( P  ||  ( ( ( A ^ ( ( P  -  1 )  /  2 ) )  +  1 )  x.  ( ( A ^
( ( P  - 
1 )  /  2
) )  -  1 ) )  <->  ( P  ||  ( ( A ^
( ( P  - 
1 )  /  2
) )  +  1 )  \/  P  ||  ( ( A ^
( ( P  - 
1 )  /  2
) )  -  1 ) ) ) )
5953, 58mpbid 147 . . 3  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  ( P  ||  ( ( A ^ ( ( P  -  1 )  / 
2 ) )  +  1 )  \/  P  ||  ( ( A ^
( ( P  - 
1 )  /  2
) )  -  1 ) ) )
60 dvdsval3 11829 . . . . 5  |-  ( ( P  e.  NN  /\  ( ( A ^
( ( P  - 
1 )  /  2
) )  +  1 )  e.  ZZ )  ->  ( P  ||  ( ( A ^
( ( P  - 
1 )  /  2
) )  +  1 )  <->  ( ( ( A ^ ( ( P  -  1 )  /  2 ) )  +  1 )  mod 
P )  =  0 ) )
614, 54, 60syl2anc 411 . . . 4  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  ( P  ||  ( ( A ^ ( ( P  -  1 )  / 
2 ) )  +  1 )  <->  ( (
( A ^ (
( P  -  1 )  /  2 ) )  +  1 )  mod  P )  =  0 ) )
62 2z 9310 . . . . . . 7  |-  2  e.  ZZ
6362a1i 9 . . . . . 6  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  2  e.  ZZ )
64 moddvds 11837 . . . . . 6  |-  ( ( P  e.  NN  /\  ( ( A ^
( ( P  - 
1 )  /  2
) )  +  1 )  e.  ZZ  /\  2  e.  ZZ )  ->  ( ( ( ( A ^ ( ( P  -  1 )  /  2 ) )  +  1 )  mod 
P )  =  ( 2  mod  P )  <-> 
P  ||  ( (
( A ^ (
( P  -  1 )  /  2 ) )  +  1 )  -  2 ) ) )
654, 54, 63, 64syl3anc 1249 . . . . 5  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  (
( ( ( A ^ ( ( P  -  1 )  / 
2 ) )  +  1 )  mod  P
)  =  ( 2  mod  P )  <->  P  ||  (
( ( A ^
( ( P  - 
1 )  /  2
) )  +  1 )  -  2 ) ) )
66 zq 9655 . . . . . . . 8  |-  ( 2  e.  ZZ  ->  2  e.  QQ )
6762, 66mp1i 10 . . . . . . 7  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  2  e.  QQ )
68 zq 9655 . . . . . . . 8  |-  ( P  e.  ZZ  ->  P  e.  QQ )
697, 68syl 14 . . . . . . 7  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  P  e.  QQ )
70 0le2 9038 . . . . . . . 8  |-  0  <_  2
7170a1i 9 . . . . . . 7  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  0  <_  2 )
72 eldifsni 3736 . . . . . . . . . 10  |-  ( P  e.  ( Prime  \  {
2 } )  ->  P  =/=  2 )
73723ad2ant2 1021 . . . . . . . . 9  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  P  =/=  2 )
74 zapne 9356 . . . . . . . . . 10  |-  ( ( P  e.  ZZ  /\  2  e.  ZZ )  ->  ( P #  2  <->  P  =/=  2 ) )
757, 62, 74sylancl 413 . . . . . . . . 9  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  ( P #  2  <->  P  =/=  2
) )
7673, 75mpbird 167 . . . . . . . 8  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  P #  2 )
77 2re 9018 . . . . . . . . . 10  |-  2  e.  RR
7877a1i 9 . . . . . . . . 9  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  2  e.  RR )
794nnred 8961 . . . . . . . . 9  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  P  e.  RR )
80 prmuz2 12162 . . . . . . . . . . 11  |-  ( P  e.  Prime  ->  P  e.  ( ZZ>= `  2 )
)
812, 80syl 14 . . . . . . . . . 10  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  P  e.  ( ZZ>= `  2 )
)
82 eluzle 9569 . . . . . . . . . 10  |-  ( P  e.  ( ZZ>= `  2
)  ->  2  <_  P )
8381, 82syl 14 . . . . . . . . 9  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  2  <_  P )
8478, 79, 83leltapd 8625 . . . . . . . 8  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  (
2  <  P  <->  P #  2
) )
8576, 84mpbird 167 . . . . . . 7  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  2  <  P )
86 modqid 10379 . . . . . . 7  |-  ( ( ( 2  e.  QQ  /\  P  e.  QQ )  /\  ( 0  <_ 
2  /\  2  <  P ) )  ->  (
2  mod  P )  =  2 )
8767, 69, 71, 85, 86syl22anc 1250 . . . . . 6  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  (
2  mod  P )  =  2 )
8887eqeq2d 2201 . . . . 5  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  (
( ( ( A ^ ( ( P  -  1 )  / 
2 ) )  +  1 )  mod  P
)  =  ( 2  mod  P )  <->  ( (
( A ^ (
( P  -  1 )  /  2 ) )  +  1 )  mod  P )  =  2 ) )
89 df-2 9007 . . . . . . . 8  |-  2  =  ( 1  +  1 )
9089oveq2i 5906 . . . . . . 7  |-  ( ( ( A ^ (
( P  -  1 )  /  2 ) )  +  1 )  -  2 )  =  ( ( ( A ^ ( ( P  -  1 )  / 
2 ) )  +  1 )  -  (
1  +  1 ) )
9149a1i 9 . . . . . . . 8  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  1  e.  CC )
9248, 91, 91pnpcan2d 8335 . . . . . . 7  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  (
( ( A ^
( ( P  - 
1 )  /  2
) )  +  1 )  -  ( 1  +  1 ) )  =  ( ( A ^ ( ( P  -  1 )  / 
2 ) )  - 
1 ) )
9390, 92eqtrid 2234 . . . . . 6  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  (
( ( A ^
( ( P  - 
1 )  /  2
) )  +  1 )  -  2 )  =  ( ( A ^ ( ( P  -  1 )  / 
2 ) )  - 
1 ) )
9493breq2d 4030 . . . . 5  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  ( P  ||  ( ( ( A ^ ( ( P  -  1 )  /  2 ) )  +  1 )  - 
2 )  <->  P  ||  (
( A ^ (
( P  -  1 )  /  2 ) )  -  1 ) ) )
9565, 88, 943bitr3rd 219 . . . 4  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  ( P  ||  ( ( A ^ ( ( P  -  1 )  / 
2 ) )  - 
1 )  <->  ( (
( A ^ (
( P  -  1 )  /  2 ) )  +  1 )  mod  P )  =  2 ) )
9661, 95orbi12d 794 . . 3  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  (
( P  ||  (
( A ^ (
( P  -  1 )  /  2 ) )  +  1 )  \/  P  ||  (
( A ^ (
( P  -  1 )  /  2 ) )  -  1 ) )  <->  ( ( ( ( A ^ (
( P  -  1 )  /  2 ) )  +  1 )  mod  P )  =  0  \/  ( ( ( A ^ (
( P  -  1 )  /  2 ) )  +  1 )  mod  P )  =  2 ) ) )
9759, 96mpbid 147 . 2  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  (
( ( ( A ^ ( ( P  -  1 )  / 
2 ) )  +  1 )  mod  P
)  =  0  \/  ( ( ( A ^ ( ( P  -  1 )  / 
2 ) )  +  1 )  mod  P
)  =  2 ) )
9854, 4zmodcld 10375 . . 3  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  (
( ( A ^
( ( P  - 
1 )  /  2
) )  +  1 )  mod  P )  e.  NN0 )
99 elprg 3627 . . 3  |-  ( ( ( ( A ^
( ( P  - 
1 )  /  2
) )  +  1 )  mod  P )  e.  NN0  ->  ( ( ( ( A ^
( ( P  - 
1 )  /  2
) )  +  1 )  mod  P )  e.  { 0 ,  2 }  <->  ( (
( ( A ^
( ( P  - 
1 )  /  2
) )  +  1 )  mod  P )  =  0  \/  (
( ( A ^
( ( P  - 
1 )  /  2
) )  +  1 )  mod  P )  =  2 ) ) )
10098, 99syl 14 . 2  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  (
( ( ( A ^ ( ( P  -  1 )  / 
2 ) )  +  1 )  mod  P
)  e.  { 0 ,  2 }  <->  ( (
( ( A ^
( ( P  - 
1 )  /  2
) )  +  1 )  mod  P )  =  0  \/  (
( ( A ^
( ( P  - 
1 )  /  2
) )  +  1 )  mod  P )  =  2 ) ) )
10197, 100mpbird 167 1  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  (
( ( A ^
( ( P  - 
1 )  /  2
) )  +  1 )  mod  P )  e.  { 0 ,  2 } )
Colors of variables: wff set class
Syntax hints:   -. wn 3    -> wi 4    <-> wb 105    \/ wo 709    /\ w3a 980    = wceq 1364    e. wcel 2160    =/= wne 2360    \ cdif 3141   {csn 3607   {cpr 3608   class class class wbr 4018   ` cfv 5235  (class class class)co 5895   CCcc 7838   RRcr 7839   0cc0 7840   1c1 7841    + caddc 7843    x. cmul 7845    < clt 8021    <_ cle 8022    - cmin 8157   # cap 8567    / cdiv 8658   NNcn 8948   2c2 8999   NN0cn0 9205   ZZcz 9282   ZZ>=cuz 9557   QQcq 9648    mod cmo 10352   ^cexp 10549    || cdvds 11825    gcd cgcd 11974   Primecprime 12138   phicphi 12240
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-ia1 106  ax-ia2 107  ax-ia3 108  ax-in1 615  ax-in2 616  ax-io 710  ax-5 1458  ax-7 1459  ax-gen 1460  ax-ie1 1504  ax-ie2 1505  ax-8 1515  ax-10 1516  ax-11 1517  ax-i12 1518  ax-bndl 1520  ax-4 1521  ax-17 1537  ax-i9 1541  ax-ial 1545  ax-i5r 1546  ax-13 2162  ax-14 2163  ax-ext 2171  ax-coll 4133  ax-sep 4136  ax-nul 4144  ax-pow 4192  ax-pr 4227  ax-un 4451  ax-setind 4554  ax-iinf 4605  ax-cnex 7931  ax-resscn 7932  ax-1cn 7933  ax-1re 7934  ax-icn 7935  ax-addcl 7936  ax-addrcl 7937  ax-mulcl 7938  ax-mulrcl 7939  ax-addcom 7940  ax-mulcom 7941  ax-addass 7942  ax-mulass 7943  ax-distr 7944  ax-i2m1 7945  ax-0lt1 7946  ax-1rid 7947  ax-0id 7948  ax-rnegex 7949  ax-precex 7950  ax-cnre 7951  ax-pre-ltirr 7952  ax-pre-ltwlin 7953  ax-pre-lttrn 7954  ax-pre-apti 7955  ax-pre-ltadd 7956  ax-pre-mulgt0 7957  ax-pre-mulext 7958  ax-arch 7959  ax-caucvg 7960
This theorem depends on definitions:  df-bi 117  df-stab 832  df-dc 836  df-3or 981  df-3an 982  df-tru 1367  df-fal 1370  df-xor 1387  df-nf 1472  df-sb 1774  df-eu 2041  df-mo 2042  df-clab 2176  df-cleq 2182  df-clel 2185  df-nfc 2321  df-ne 2361  df-nel 2456  df-ral 2473  df-rex 2474  df-reu 2475  df-rmo 2476  df-rab 2477  df-v 2754  df-sbc 2978  df-csb 3073  df-dif 3146  df-un 3148  df-in 3150  df-ss 3157  df-nul 3438  df-if 3550  df-pw 3592  df-sn 3613  df-pr 3614  df-op 3616  df-uni 3825  df-int 3860  df-iun 3903  df-br 4019  df-opab 4080  df-mpt 4081  df-tr 4117  df-id 4311  df-po 4314  df-iso 4315  df-iord 4384  df-on 4386  df-ilim 4387  df-suc 4389  df-iom 4608  df-xp 4650  df-rel 4651  df-cnv 4652  df-co 4653  df-dm 4654  df-rn 4655  df-res 4656  df-ima 4657  df-iota 5196  df-fun 5237  df-fn 5238  df-f 5239  df-f1 5240  df-fo 5241  df-f1o 5242  df-fv 5243  df-isom 5244  df-riota 5851  df-ov 5898  df-oprab 5899  df-mpo 5900  df-1st 6164  df-2nd 6165  df-recs 6329  df-irdg 6394  df-frec 6415  df-1o 6440  df-2o 6441  df-oadd 6444  df-er 6558  df-en 6766  df-dom 6767  df-fin 6768  df-sup 7012  df-pnf 8023  df-mnf 8024  df-xr 8025  df-ltxr 8026  df-le 8027  df-sub 8159  df-neg 8160  df-reap 8561  df-ap 8568  df-div 8659  df-inn 8949  df-2 9007  df-3 9008  df-4 9009  df-n0 9206  df-z 9283  df-uz 9558  df-q 9649  df-rp 9683  df-fz 10038  df-fzo 10172  df-fl 10300  df-mod 10353  df-seqfrec 10476  df-exp 10550  df-ihash 10787  df-cj 10882  df-re 10883  df-im 10884  df-rsqrt 11038  df-abs 11039  df-clim 11318  df-proddc 11590  df-dvds 11826  df-gcd 11975  df-prm 12139  df-phi 12242
This theorem is referenced by:  lgslem4  14857
  Copyright terms: Public domain W3C validator