이 글에서는 실수의 중요한 성질인 여러 형태의 완비성 공리와 그 공리 중 하나를 이용한 실수의 표현법에 대해 다룹니다.
수학에서 수를 소개하는 방법은 크게 두 가지로 나뉩니다. 공리의 형태로 숫자가 가져야 할 성질을 먼저 소개하고 이후의 수학을 전개하는 방법이 있는가 하면, 직접 그 수를 만들어내는 방법도 있습니다.
실수도 여러 가지 방식으로 소개가 됩니다. 직접 실수를 구성하는 방법으로는 데데킨트 컷과 같은 순수 집합의 기초이론을 이용하는 방법과 코시 수열과 같은 위상수학의 개념을 빌려다가 실수를 구성해내는 방법이 있습니다. 실수를 이렇게 직접 구성했다면 여기서 소개할 완비성 공리는 그 체계 안에서 자연스럽게 증명되는 정리가 됩니다.
하지만, 여기서는 공리로 접근하겠습니다.
우리가 사용하는 실수라는 수는 덧셈, 곱셈에 대해 각각 결합법칙, 교환법칙, 항등원, 역원의 성질을 가지고 있고, 두 연산 사이에는 특별한 분배법칙이 성립합니다. 거기에 연산을 통해 정의된 순서공리가 있습니다. 그런데, 실수가 가지는 이 성질은 유리수도 가지고 있습니다.
실수와 유리수를 구분짓는 성질이 “완비성”이고, 실수를 공리적으로 접근할 때 이 성질에 대한 공리를 “완비성 공리”라 합니다.
완비성 공리는 여러 가지 형태가 있습니다. 그 내용과 자세한 증명은 한글 위키피디아(영문 위키피디아와는 내용이 다릅니다.)에 너무 잘 나와있기 때문에 구체적인 증명은 위키피디아를 참조하면 됩니다. 여기서는 내용 소개와 그 응용을 다룹니다.
완비성공리 버전 1: 상한공리
상한 공리 자체도 여러 형태가 있는데, 그 중 하나는 다음과 같습니다.
이 공리는 공집합이 아닌 실수의 부분집합 $S$의 모든 원소보다 큰 수들의 최솟값을 실수로 항상 표현할 수 있다는 것입니다.
유리수는 이런 성질을 가지지 않습니다. 그 예 중 하나는 다음과 같은 유리수의 부분집합입니다. $$ \{ x \in \mathbb Q \vert x^2 < 2\}$$ 유리수 내에서는 이 집합의 모든 원소보다 큰 수들의 최솟값($\sqrt{2}$)을 정할 수 없습니다.
완비성공리 버전 2: 단조수렴정리
대학교 과정의 수학책에서는 대체로 버전 1의 완비성 공리로 단조수렴정리를 증명하지만, 단조수렴정리를 완비성 공리로 채택할 수도 있습니다.
이 공리는 아래 그림과 같이 단순히 증가하는 수열은 실수 범위에서 극한값을 가진다는 말입니다. 역시 유리수에서는 할 수 없는 말입니다.
완비성공리 버전 3: 코시 성질
코시 수열을 이용해서 완비성을 표현할 수도 있습니다. 위상수학적 개념을 먼저 정리하고 코시 성질을 이용해서 실수를 구성할 수도 있습니다. 언급만 하고 지나갑니다.
완비성공리 버전 4: 축소 구간 정리
이 공리는 조건이 많이 들어가 있어서 완비성 공리가 될 수 있을 것 같지 않지만, 이것 역시 완비성 공리로 사용할 수 있습니다.
완비성공리 응용, 소수표현법
이 외에도 하이네-보렐 정리, 볼차노-바이어슈트라스 정리, 극한점 성질 등을 완비성 공리로 사용할 수 있습니다.
우리는 고등학교 과정을 거치면서 이미 복소수까지 배웠기 때문에 실수가 이런 성질을 가진다는 것을 이미 알고 있습니다. 그리고, 완비성 공리와 직접 관계된 개념을 하나 배운 것이 있는데, 바로 실수의 소수표현입니다. 우리가 배운 소수표현은 축소구간정리를 사용해서 설명됩니다.
직선 위에 0을 나타낼 원점과 1을 나타낼 다른 점을 정하고 다른 실수를 직선 위의 점과 일대일대응시킨 것을 수직선이라 합니다. 소수표현법은 양수를 표현하는 법을 정의하고 음수는 절댓값이 같은 양수에 $-$를 붙여서 정의합니다.
우선 양수 $c$가 주어지면 구간 $[m, m+1]$ 중 $c$를 포함하는 구간을 찾아 $a_0 = m$이라 합니다.
이제, 구간 $[m, m+1]$을 10등분해서 얻어지는 구간 중 $c$를 포함하는 구간 $\displaystyle{\left[ m + \frac k {10}, m+\frac{k+1}{10} \right]}$을 찾아 $a_1 = k$라 합니다. 만약 다음 그림과 같은 상황이라면 $a_1 =8$이 될 것입니다.
또다시 $c$를 포함하는 구간을 10등분해서 얻어지는 구간 중 $c$를 여전히 포함하는 구간 $\displaystyle{ \left[ m+ \frac k {10} + \frac l {100} , m + \frac {k}{10} + \frac {l+1}{100} \right]}$을 찾아서 $a_2 = l$이라 합니다. 다음 그림과 같은 경우는 $a_2 = 5$가 됩니다.
이렇게 구간을 줄여가면 완비성 공리에 의해 모든 구간 안에 들어있는 실수는 하나밖에 없게 되고, 그 실수를 $a_0 . a_1 a_2 \cdots$로 표현할 수 있게 됩니다.
읽으면서 생각하셨겠지만, 이 표현법에는 문제가 있습니다. 닫힌 구간을 이용해서 표현법을 정의하는 바람에 구간의 경계에 해당하는 숫자를 표현하는 방법이 두 가지가 됩니다. 위 절차를 따라가면 숫자 1인 경우, 구간 $[1,2]$에서 시작해서 10등분해 나가면 $1.000 \cdots$라는 표현이 얻어지는가 하면, 구간 $[0,1]$에서 시작해서 10등분해 나가면 $0.999 \cdots$라는 표현이 얻어지기도 한다. 그래서 $$1.000 \cdots = 0.999 \cdots$$라 할 수 있게 됩니다.
앞서 실수를 직접 구성하는 방법에 데데킨트 컷이나 코시수열을 사용한다고 했는데, 지금 본 소수표현으로도 실수를 직접 소개하는 것이 가능해 보입니다. 하지만, 소수표현을 실수를 나타내는 것은 쉬우나 실수 사이의 연산을 정의하려면 새로운 지식이 다시 필요해집니다. 즉, 생각만큼 간단히 정리되지는 않습니다. 그래도 중등학습단계에서 실수를 이해하는 데 유용하므로 일찌감치 초, 중등학교 교과서에도 등장하는 방법입니다.