--- In

primenumbers@yahoogroups.com,

"bhelmes_1" <bhelmes@...> wrote:

> You did not verify the point 4.

I did verify that point and all your other points.

See the test:

g = 21283;

a = 2969;

p = 29539;

{if(p%4 == 3 &&

!issquare(a) &&

kronecker(a,p) == 1 &&

Mod(a,p)^((p-1)/2) == 1 &&

Mod((1+x)*Mod(1,p),x^2-a)^((p-1)/2) == g*x &&

Mod(g,p)^2*a == 1 &&

!isprime(p), print(" Counterexample!"));}

In the line

> Mod((1+x)*Mod(1,p),x^2-a)^((p-1)/2) == g*x

I work modulo p and modulo x^2-a.

Here x is /any/ solution to x^2 = a mod p.

(There are in fact, 4 such solutions

since p is composite.)

Now square that line and we get

Mod((1+x)*Mod(1,p),x^2-a)^(p-1) == 1

since (g*x)^2 = g^2*a mod p

and the code tests that

> Mod(g,p)^2*a == 1

Hence this counterexample passes /every/

test that you have imposed. You have

no place left to hide your mistakes.

Best wishes

David