분류
1. 개요
대부분의 정수론 교재에 등장하는 정리. 이름은 수학자 존 윌슨의 이름을 땄다. 1770년에 수학자 에드워드 웨어링(Edward Waring)이 이 정리를 발표했으나, 자기 자신이나 제자 윌슨도 증명을 하지 못했다. 일단 공식적인 첫 증명은 1771년에 라그랑주에 의해 발표되었다. 자세한 정리는 아래와 같다.
[math(p)]가 소수일 때, [math(left(p-1right)!equiv-1left(text{mod},pright))]가 성립한다. 또한, 그 역도 성립한다.
이 방법은 소수 판정법에 이용할 수 있으나 팩토리얼을 구하는 시간에 1부터 제곱근까지 하나씩 나눠보는 게 빠르다.
2. 증명
2.1. 도움정리
[math(p)]가 소수이고, [math(k)]는 [math(0<k<p)]인 정수라고 할 때, [math(k^2equiv1left(text{mod},pright))]이면 [math(k=1)] 또는 [math(k=p-1)]이다. 그 역도 성립한다.
증명
[math(k=1)]이면 [math(k^2equiv1left(text{mod},pright))]이다.
또한, [math(k=p-1)]이면, [math(k^2=p^2-2p+1equiv1left(text{mod},pright))]이다. 역으로, [math(k^2equiv1left(text{mod},pright))]라고 가정하자. 그러면 [math(pmidleft(k^2-1right)=left(k-1right)left(k+1right))]이다. [math(p)]가 소수이므로, [math(pmidleft(k-1right))]또는 [math(pmidleft(k+1right))]이다. [math(pmidleft(k-1right))]를 만족하는 [math(p)]이하의 양의 정수 [math(k)]는 오직 1뿐이고, [math(pmidleft(k+1right))]을 만족하는 [math(p)]이하의 양의 정수 [math(k)]는 오직 [math(p-1)]뿐이다. |
2.2. 증명
[math(p)]가 소수라고 가정하자. 그럼 임의의 [math(kinleft{1,2,cdots,p-1right})]에 대하여 [math(k)]와 [math(p)]는 서로소이다. 그러므로 적당한 정수 [math(a,b)]에 대해 [math(ak+bp=1)]이 성립하고,[1] 곧 [math(akequiv1left(text{mod},pright))]이다. 법 [math(p)]에 대하여 [math(ainleft{1,2,cdots,p-1right})]이므로 [math(left{1,2,cdots,p-1right})]의 모든 원소의 법 [math(p)]에 대한 잉여역수는 같은 집합의 원소이다. 특히, 도움정리에 의해 [math(1)]과 [math(p-1)]은 자기 자신이 잉여역수이다. 나머지 [math(2,3,cdots,p-2)]는 두 원소씩 쌍으로 법 [math(p)]에 대해 잉여역수 관계이고, 따라서 [math(left(p-1right)!equiv1cdot2cdotsleft(p-2right)cdotleft(p-1right)equiv1cdot1cdotleft(p-1right)equiv p-1equiv -1left(text{mod},pright))]이다.
역으로 [math(left(p-1right)!equiv-1left(text{mod},pright))]라고 가정하자. 그러면 [math(left(p-1right)!+1=kp)]를 만족하는 정수 [math(k)]가 존재한다. [math(p=ab,,left(1leq a,bleq pright))]라 가정하자. 만약 [math(a=p)]이면 [math(b=1)]이고 이는 곧 [math(p)]가 소수임을 의미한다. [math(a<p)]라고 가정하면, [math(ainleft{1,2,cdots,p-1right})]이므로 [math(amidleft(p-1right)!)]이다. 그리고 [math(amid p)]이고, [math(left(p-1right)!+1=kp)]이므로 [math(amid1)]이다. 이를 모두 만족하는 값은 [math(a=1)]밖에 없고, 따라서 [math(b=p)]이다. 곧 [math(p)]는 소수이다.
역으로 [math(left(p-1right)!equiv-1left(text{mod},pright))]라고 가정하자. 그러면 [math(left(p-1right)!+1=kp)]를 만족하는 정수 [math(k)]가 존재한다. [math(p=ab,,left(1leq a,bleq pright))]라 가정하자. 만약 [math(a=p)]이면 [math(b=1)]이고 이는 곧 [math(p)]가 소수임을 의미한다. [math(a<p)]라고 가정하면, [math(ainleft{1,2,cdots,p-1right})]이므로 [math(amidleft(p-1right)!)]이다. 그리고 [math(amid p)]이고, [math(left(p-1right)!+1=kp)]이므로 [math(amid1)]이다. 이를 모두 만족하는 값은 [math(a=1)]밖에 없고, 따라서 [math(b=p)]이다. 곧 [math(p)]는 소수이다.
3. 예시
17!을 19로 나눈 나머지를 구해보자. 먼저 정리를 쓰면, [math(18!equiv-1left(text{mod},19right))]이다. 또한, [math(18equiv-1left(text{mod},19right))]이므로, [math(-1equiv18!equiv18times17!equivleft(-1right)times17!left(text{mod},19right))]이다. 따라서 [math(17!equiv1left(text{mod},19right))]이다.