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

Theorem lgslem1 15116
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 3281 . . . . . . . . 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 12248 . . . . . . . 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 12249 . . . . . . . . . 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 12111 . . . . . . . 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 12282 . . . . . . . . . 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 2226 . . . . . . 7  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  ( A  gcd  P )  =  1 )
14 eulerth 12371 . . . . . . 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 12361 . . . . . . . . . 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 9281 . . . . . . . . . 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 2270 . . . . . . . 8  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  ( phi `  P )  e. 
NN0 )
21 zexpcl 10625 . . . . . . . 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 9344 . . . . . . 7  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  1  e.  ZZ )
24 moddvds 11942 . . . . . . 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 9295 . . . . . . . . . . . 12  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  ( P  -  1 )  e.  CC )
28 2cnd 9055 . . . . . . . . . . . 12  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  2  e.  CC )
29 2ap0 9075 . . . . . . . . . . . . 13  |-  2 #  0
3029a1i 9 . . . . . . . . . . . 12  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  2 #  0 )
3127, 28, 30divcanap1d 8810 . . . . . . . . . . 11  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  (
( ( P  - 
1 )  /  2
)  x.  2 )  =  ( P  - 
1 ) )
3217, 31eqtr4d 2229 . . . . . . . . . 10  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  ( phi `  P )  =  ( ( ( P  -  1 )  / 
2 )  x.  2 ) )
3332oveq2d 5934 . . . . . . . . 9  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  ( A ^ ( phi `  P ) )  =  ( A ^ (
( ( P  - 
1 )  /  2
)  x.  2 ) ) )
345zcnd 9440 . . . . . . . . . 10  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  A  e.  CC )
35 2nn0 9257 . . . . . . . . . . 11  |-  2  e.  NN0
3635a1i 9 . . . . . . . . . 10  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  2  e.  NN0 )
37 oddprm 12397 . . . . . . . . . . . 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 9293 . . . . . . . . . 10  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  (
( P  -  1 )  /  2 )  e.  NN0 )
4034, 36, 39expmuld 10747 . . . . . . . . 9  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  ( A ^ ( ( ( P  -  1 )  /  2 )  x.  2 ) )  =  ( ( A ^
( ( P  - 
1 )  /  2
) ) ^ 2 ) )
4133, 40eqtrd 2226 . . . . . . . 8  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  ( A ^ ( phi `  P ) )  =  ( ( A ^
( ( P  - 
1 )  /  2
) ) ^ 2 ) )
4241oveq1d 5933 . . . . . . 7  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  (
( A ^ ( phi `  P ) )  -  1 )  =  ( ( ( A ^ ( ( P  -  1 )  / 
2 ) ) ^
2 )  -  1 ) )
43 sq1 10704 . . . . . . . 8  |-  ( 1 ^ 2 )  =  1
4443oveq2i 5929 . . . . . . 7  |-  ( ( ( A ^ (
( P  -  1 )  /  2 ) ) ^ 2 )  -  ( 1 ^ 2 ) )  =  ( ( ( A ^ ( ( P  -  1 )  / 
2 ) ) ^
2 )  -  1 )
4542, 44eqtr4di 2244 . . . . . 6  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  (
( A ^ ( phi `  P ) )  -  1 )  =  ( ( ( A ^ ( ( P  -  1 )  / 
2 ) ) ^
2 )  -  (
1 ^ 2 ) ) )
46 zexpcl 10625 . . . . . . . . 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 9440 . . . . . . 7  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  ( A ^ ( ( P  -  1 )  / 
2 ) )  e.  CC )
49 ax-1cn 7965 . . . . . . 7  |-  1  e.  CC
50 subsq 10717 . . . . . . 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 2226 . . . . 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 4055 . . . 4  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  P  ||  ( ( ( A ^ ( ( P  -  1 )  / 
2 ) )  +  1 )  x.  (
( A ^ (
( P  -  1 )  /  2 ) )  -  1 ) ) )
5447peano2zd 9442 . . . . 5  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  (
( A ^ (
( P  -  1 )  /  2 ) )  +  1 )  e.  ZZ )
55 peano2zm 9355 . . . . . 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 12284 . . . . 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 11934 . . . . 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 9345 . . . . . . 7  |-  2  e.  ZZ
6362a1i 9 . . . . . 6  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  2  e.  ZZ )
64 moddvds 11942 . . . . . 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 9691 . . . . . . . 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 9691 . . . . . . . 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 9072 . . . . . . . 8  |-  0  <_  2
7170a1i 9 . . . . . . 7  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  0  <_  2 )
72 eldifsni 3747 . . . . . . . . . 10  |-  ( P  e.  ( Prime  \  {
2 } )  ->  P  =/=  2 )
73723ad2ant2 1021 . . . . . . . . 9  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  P  =/=  2 )
74 zapne 9391 . . . . . . . . . 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 9052 . . . . . . . . . 10  |-  2  e.  RR
7877a1i 9 . . . . . . . . 9  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  2  e.  RR )
794nnred 8995 . . . . . . . . 9  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  P  e.  RR )
80 prmuz2 12269 . . . . . . . . . . 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 9604 . . . . . . . . . 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 8658 . . . . . . . 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 10420 . . . . . . 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 2205 . . . . 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 9041 . . . . . . . 8  |-  2  =  ( 1  +  1 )
9089oveq2i 5929 . . . . . . 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 8368 . . . . . . 7  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  (
( ( A ^
( ( P  - 
1 )  /  2
) )  +  1 )  -  ( 1  +  1 ) )  =  ( ( A ^ ( ( P  -  1 )  / 
2 ) )  - 
1 ) )
9390, 92eqtrid 2238 . . . . . 6  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  (
( ( A ^
( ( P  - 
1 )  /  2
) )  +  1 )  -  2 )  =  ( ( A ^ ( ( P  -  1 )  / 
2 ) )  - 
1 ) )
9493breq2d 4041 . . . . 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 10416 . . 3  |-  ( ( A  e.  ZZ  /\  P  e.  ( Prime  \  { 2 } )  /\  -.  P  ||  A )  ->  (
( ( A ^
( ( P  - 
1 )  /  2
) )  +  1 )  mod  P )  e.  NN0 )
99 elprg 3638 . . 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 2164    =/= wne 2364    \ cdif 3150   {csn 3618   {cpr 3619   class class class wbr 4029   ` cfv 5254  (class class class)co 5918   CCcc 7870   RRcr 7871   0cc0 7872   1c1 7873    + caddc 7875    x. cmul 7877    < clt 8054    <_ cle 8055    - cmin 8190   # cap 8600    / cdiv 8691   NNcn 8982   2c2 9033   NN0cn0 9240   ZZcz 9317   ZZ>=cuz 9592   QQcq 9684    mod cmo 10393   ^cexp 10609    || cdvds 11930    gcd cgcd 12079   Primecprime 12245   phicphi 12347
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 2166  ax-14 2167  ax-ext 2175  ax-coll 4144  ax-sep 4147  ax-nul 4155  ax-pow 4203  ax-pr 4238  ax-un 4464  ax-setind 4569  ax-iinf 4620  ax-cnex 7963  ax-resscn 7964  ax-1cn 7965  ax-1re 7966  ax-icn 7967  ax-addcl 7968  ax-addrcl 7969  ax-mulcl 7970  ax-mulrcl 7971  ax-addcom 7972  ax-mulcom 7973  ax-addass 7974  ax-mulass 7975  ax-distr 7976  ax-i2m1 7977  ax-0lt1 7978  ax-1rid 7979  ax-0id 7980  ax-rnegex 7981  ax-precex 7982  ax-cnre 7983  ax-pre-ltirr 7984  ax-pre-ltwlin 7985  ax-pre-lttrn 7986  ax-pre-apti 7987  ax-pre-ltadd 7988  ax-pre-mulgt0 7989  ax-pre-mulext 7990  ax-arch 7991  ax-caucvg 7992
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 2045  df-mo 2046  df-clab 2180  df-cleq 2186  df-clel 2189  df-nfc 2325  df-ne 2365  df-nel 2460  df-ral 2477  df-rex 2478  df-reu 2479  df-rmo 2480  df-rab 2481  df-v 2762  df-sbc 2986  df-csb 3081  df-dif 3155  df-un 3157  df-in 3159  df-ss 3166  df-nul 3447  df-if 3558  df-pw 3603  df-sn 3624  df-pr 3625  df-op 3627  df-uni 3836  df-int 3871  df-iun 3914  df-br 4030  df-opab 4091  df-mpt 4092  df-tr 4128  df-id 4324  df-po 4327  df-iso 4328  df-iord 4397  df-on 4399  df-ilim 4400  df-suc 4402  df-iom 4623  df-xp 4665  df-rel 4666  df-cnv 4667  df-co 4668  df-dm 4669  df-rn 4670  df-res 4671  df-ima 4672  df-iota 5215  df-fun 5256  df-fn 5257  df-f 5258  df-f1 5259  df-fo 5260  df-f1o 5261  df-fv 5262  df-isom 5263  df-riota 5873  df-ov 5921  df-oprab 5922  df-mpo 5923  df-1st 6193  df-2nd 6194  df-recs 6358  df-irdg 6423  df-frec 6444  df-1o 6469  df-2o 6470  df-oadd 6473  df-er 6587  df-en 6795  df-dom 6796  df-fin 6797  df-sup 7043  df-pnf 8056  df-mnf 8057  df-xr 8058  df-ltxr 8059  df-le 8060  df-sub 8192  df-neg 8193  df-reap 8594  df-ap 8601  df-div 8692  df-inn 8983  df-2 9041  df-3 9042  df-4 9043  df-n0 9241  df-z 9318  df-uz 9593  df-q 9685  df-rp 9720  df-fz 10075  df-fzo 10209  df-fl 10339  df-mod 10394  df-seqfrec 10519  df-exp 10610  df-ihash 10847  df-cj 10986  df-re 10987  df-im 10988  df-rsqrt 11142  df-abs 11143  df-clim 11422  df-proddc 11694  df-dvds 11931  df-gcd 12080  df-prm 12246  df-phi 12349
This theorem is referenced by:  lgslem4  15119
  Copyright terms: Public domain W3C validator