실수(수학)
1. 개요
real number ・ 實數
유리수와 무리수를 통틀어 실수라 한다.
실수는 수직선에 나타낼 수 있고[1] , 따라서 허수와는 달리 대소 비교가 가능하며, 사칙연산에 대해 닫혀 있다.
중학교 수준에서 배우는 실수의 성질은 이렇다.
- 유리수와 유리수 사이에는 무수히 많은 유리수가 존재하며, 모든 유리수는 각각 수직선 위 한 점에 대응하여 나타낼 수 있다(유리수의 조밀성).
- 무리수와 무리수 사이에는 무수히 많은 무리수가 존재하며, 모든 무리수는 각각 수직선 위 한 점에 대응하여 나타낼 수 있다(무리수의 조밀성).
- 서로 다른 두 실수 사이에는 무수히 많은 실수가 존재한다. 또한 수직선을 실수에 대응하는 점들로 완전히 메울 수 있다(실수의 연속성).
2. 공리
실수의 핵심적인 공리는 다음과 같다. 실수의 모든 성질들을 다음 3가지에서 유도가 되고, 이 3가지를 만족시키는 집합은 실수 집합밖에 없기 때문에[2] 아래 3가지 성질을 실수의 공리라고 할 수 있다.
위 세 가지 성질을 모두 만족시키는 집합을 완비 순서체라고 한다. 그런데 어차피 완비 순서체는 유일하게 존재하기 때문에 사실 실수랑 똑같은 개념이다.* (체 공리) 체이다. 즉, 사칙연산을 할 수 있으며, 덧셈, 곱셈에 대한 항등원 및 역원이 존재하고[3]
, 결합법칙, 교환법칙, 분배법칙이 성립한다.* (순서 공리) 전순서를 이룬다. 즉 실수 $$a$$와 $$b$$가 있다면 $$a=b, a<b, a>b$$ 셋 중 정확히 하나가 성립한다.[4]
또한 이 순서는 $$1$$에서의 대수적 구조(덧셈, 곱셈의 연산)와 독립적인 것이 아니라, 순서체가 된다. 즉, 임의의 실수 $$a, b, c$$에 대해 $$a<b$$이면 $$a+c<b+c$$이고, $$a<b$$이고 $$c>0$$이면 $$ac<bc$$가 된다.* 이는 부분집합 중 양수집합 $$P$$가 존재한다는 것과 동치이다. 즉, $$a, b \in P$$이면 $$a+b, ab \in P$$이고, 해당 체가 $$P, {0}, -P$$의 disjoint union과 같은 부분집합 P가 존재한다는 것이다. 이 때 $$a>b \Leftrightarrow a-b \in P$$로 정의한다.
* (완비성 공리) 완비적이다. 즉, 공집합이 아닌 실수의 진부분집합이 상계(upper bound)를 가지면 최소상계(the least upper bound)가 존재한다.
유리수 집합 $$\mathbb{Q}$$는 순서체이지만 완비성 공리는 만족시키지 않는다. 완비성 공리를 만족시키면 아르키메데스 성질을 만족시킨다. $$\mathbb{Q}$$는 아르키메데스 성질을 만족시키지만, 아르키메데스 성질을 만족시키지 않는 순서체도 있다.
2.1. 유리수의 조밀성
- Lemma의 서술과 증명: 아래에서 편의상 $$\{n\times 1_X|n \in \mathbb{N}\}$$를 자연수 집합이라 한다.
(Lemma) 완비 순서체 $$X$$에는 임의의 자연수보다 큰 원소가 없다.
- 유리수의 조밀성의 서술과 증명
(유리수의 조밀성) 임의의 서로 다른 두 실수 $$a, b (a<b)$$ 사이에는 항상 유리수 $$q \in \mathbb{Q} \cap (a,b)$$가 존재한다.
2.2. 유일성 증명
여기서는 김김계 해석개론 2판 정리 1.2.7에서 소개한 방법을 따른다. 완비 순서체의 유일성은 다음과 같이 기술될 수 있다.
이러한 $$f$$가 존재한다면 $$A, B$$는 구조가 같다, 즉 완비 순서체가 유일하다고 말할 수 있다.$$A, B$$가 완비 순서체라고 가정하면, 전단사함수 $$f:A \rightarrow B$$가 존재하여 다음을 만족시킨다:
(가) 모든 $$x, y \in A$$에 대하여, $$f(x+y)=f(x)+f(y), f(xy)=f(x)f(y)$$를 만족시킨다.
(나) $$A, B$$의 양수 집합을 각각 $$P_A, P_B$$라고 할 때, $$f(P_A)=P_B$$이다.
이제 증명을 시작하자. 순서체이기 때문에, $$...<-1_A\times2<-1_A<0_A<1_A<1_A\times2<...$$이고 이는 $$B$$도 마찬가지다. 즉 둘 다 정수집합 구조를 포함하고 있는 거다. 게다가 $$A, B$$는 체이므로 0이 아닌 정수끼리 나눌 수 있고, 따라서 $$A, B$$는 유리수 집합 구조 또한 포함하고 있다. 즉, 유리수 집합 $$\mathbb{Q}$$는 $$A, B$$를 연결하는 열쇠이다.
이에 착안하여, 또한 완비성 공리를 사용하기 위해, $$x \in A$$에 대한 집합 $$C_x=\{1_B\times r|r \in \mathbb{Q}, 1_A\times r<x\}$$을 생각한다. 그런데 위의 Lemma에 따라 정수 $$m, n$$이 존재하여 $$x<n\times 1_A$$이고 $$-x<m$$이다. 이에 따라 $$C_x$$는 $$n\times 1_B$$을 상한으로 가지기 때문에 유계이며, 원소 $$-m\times 1_B$$를 가진다. 따라서 완비성 공리에 따라 $$C_x$$는 상한을 가지며, 이것을 $$f(x)$$라 놓자.
반대로 똑같은 논의를 통해 $$g: B \rightarrow A$$를 얻을 수 있을 것이다. 그러면 위에서 서술한 유리수의 조밀성에 따라 $$g(f(x))>x$$와 $$g(f(x))<x$$일 때 사이의 유리수가 존재함으로써 모순을 이끌어낼 수 있고, 순서 공리에 의해 $$g(f(x))=x$$임을 알 수 있다. 반대편도 똑같으므로, $$g$$는 $$f$$의 역함수임을 알 수 있다. 따라서, $$f$$가 전단사함수임이 보여졌다.
이제 (가)를 증명하자. $$f(a+b) \leq f(a)+f(b)$$임은 각 집합 $$C_a, C_b, C_{a+b}$$의 원소들을 비교하면 자명하므로 $$f(a)+f(b)>f(a+b)$$임을 가정하고 모순을 이끌어내면 된다. $$f(a)+f(b)>f(a+b)$$이면 체의 공리에 의해 $$f(a)+f(b)-\epsilon>f(a+b)$$인 $$0<\epsilon=\displaystyle\frac{f(a)+f(b)-f(a+b)}{2}$$이 존재하고, 유리수의 조밀성에 의해 두 유리수 $$\alpha, \beta$$가 존재하여 $$f(a)-\displaystyle\frac{\epsilon}{2}<\alpha \times 1_B<f(a), f(b)-\displaystyle\frac{\epsilon}{2}<\beta \times 1_B<f(b)$$이므로 모순을 보일 수 있다.
(나)에서도 마찬가지로 $$0 \in \mathbb{Q}$$임과, $$x=0$$일 때 유리수의 조밀성을 이용하면 $$x \geq 0_A \Leftrightarrow f(x) \geq 0_B$$를 얻을 수 있는데, 역함수와의 대칭성 및 (가)에 의해 $$x=0_A \Leftrightarrow f(x)=0_B$$이므로 성립한다.
3. 구성 방법(존재성 증명)
실수를 '구성'한다는 것은 정의한다는 뜻으로 받아들이면 된다. 고등학교까지의 수학 교육만 받은 학생에게 '실수의 정의를 제기하라'고 물어보면 '크기를 가진 수', '실제로 존재하는 수' 정도의 대답이 돌아오겠지만, 학부에서 이런 대답은 땡이다. 집합론적으로 엄밀한 실수의 정의는 아래에 나오는 칸토어의 방법과 데데킨트의 방법이다. 그럼에도 굳이 '정의'라고 하지 않고 '구성'이라는 표현을 쓰는 이유는, '위의 문단에서 나열한 3가지 성질을 만족시키는 집합'으로 실수를 정의하더라도, 그러한 집합이 실제로 존재하는지는 보장할 수 없기 때문에 유리수 집합으로부터 실수를 '구성(construct)'해내야 하기 때문이다. 즉, 위의 공리적 방법으로부터 실수의 '유일성'을 증명해낼 수 있다면, 실제로 구성함으로써 실수의 '존재성'을 증명할 수 있는 것이다.
3.1. 칸토어의 방법
소수 첫째 자리부터 계속 [math(0)]이 반복되는 수 중에서 제곱한 게 $$2$$보다 작은 유리수들은 $$1,\,0,\,-1, \cdots$$ 등이 있고, 그 중 가장 큰 것은 $$1$$이다. 그 다음, 소수 둘째 자리부터 계속 [math(0)]이 반복되는 수 중에서 제곱한 게 $$2$$보다 작은 유리수들에는 $$1.4,\,1.3,\,\cdots$$ 등이 있고 그 중 가장 큰 것은 $$1.4$$이다.
위와 같은 방법을 계속하면 $$1,\,1.4,\,1.41,\,1.414,\cdots$$ 등등의 수를 얻는데, 이는 제곱해서 $$2$$가 되는 수의 근삿값이라고 할 수 있으며, 뒤로 갈수록 더 정확한 근삿값이다. 이 과정을 한없이 반복하면 그냥 제곱해서 $$2$$가 되는 수를 얻지 않을까? 그런데 문제는 각 단계의 수들은 유리수이지만, 제곱해서 $$2$$가 되는 수는 유리수가 아니라는 점이다.
이와 비슷하게, 각 단계는 유리수이지만 한없이 반복하면 유리수가 아닌 수들이 아주 많이 존재한다.[5] 그런 수들을 어떻게 분류하고 연산하는지를 코시 수열(Cauchy sequence)[6] 개념을 사용하여 칸토어가 정리했고, 유리수 + 각 단계는 유리수이지만 한없이 반복하면 유리수가 아닌 수를 통틀어 실수라고 정의했다. 쉽게 말하면, 유리수 집합에서 수렴하는 각종 수열들의 극한값들로 유리수 사이를 '촘촘히 채운 것'이 실수 집합이라고 할 수 있다.
좀 더 수학적인 용어를 써서 말하면 이렇다. 유리수들의 코시 수열들이 서로 비슷하게 나아갈 때[7] 이들을 같은 것들이라고 쳐서(...)[8] 이들 코시 수열들의 묶음을 모은 집합을 실수 집합이라고 부른다. 이때 두 코시 수열 ($$a_n$$)과 ($$b_n$$)의 덧셈과 곱셈은 각각 ($$a_n + b_n$$), ($$a_n \times b_n$$)으로 정의된다.
위의 내용을 한줄요약 하자면, 모든 수렴하는 유리수 코시수열의 집합 modulo ($$a_n - b_n$$) → 0 정도로 표현이 가능하다.
3.2. 데데킨트의 방법
칸토어의 방법이 먼저 소개되었지만, 사실 이게 1년 정도 먼저 소개된 수학 역사상 실수를 엄밀히 구성하는 '''최초의''' 방법이다. 데데킨트의 절단(Dedekind's cut)이라 불리는데, 이게 최초인 이유는 이전에는 무한집합의 사용이 엄격하게 금지되어 있었기 때문이다. 데데킨트는 이것을 사용함으로서 이 금기를 깼고, 덕분에 다른 수학자들과 무지하게 싸우게 된다. 칸토어는 거기서 데데킨트 편에 섰던 대표적인 인물 중 하나. 무한집합을 사용함으로서 수학은 급격하게 변하기 시작했고, 급기야 집합론이 탄생하면서 현대수학의 기초체계가 되었다. 즉, 지금 소개되는 이 방법은 수학 역사상 가장 주목할 만한 변화를 야기시킨 태풍의 눈이었다고 봐도 무방하다.
이번에는 유리수를 수직선에 나타낸 다음, (왼쪽에 있는 것이 더 작은 유리수로 가정한다.) 그 수직선을 두 조각으로 자르는 것을 생각하자. 정확히 두 조각으로 자를 것이기 때문에, 왼쪽의 조각에 최댓값이 있음과 동시에 오른쪽의 조각에 최솟값이 있는 경우는 불가능하다.
예를 들면 [math(0)]보다 작은 유리수들의 묶음과 [math(0)] 이상의 유리수들의 묶음. 또는 제곱해서 4보다 작거나 같은 유리수들의 묶음과 제곱해서 $$4$$보다 커지는 유리수들의 묶음.
그런데, 가끔 자르는 방법에 따라 왼쪽의 조각에 최댓값도 없고 오른쪽의 조각에 최솟값도 없는 경우가 있다. 예를 들어 제곱해서 $$2$$보다 작거나 같은 유리수들의 묶음과 제곱해서 $$2$$보다 커지는 유리수들의 묶음.[9]
이렇게 되면, 두 조각의 사이에는 빈틈이 있었다고 볼 수밖에 없다. 그 빈틈을 "빈틈수"를 채워서 메꾸었다고 하자. 이런 식으로 곳곳에 "빈틈수"를 채워 넣은 다음 유리수와 "빈틈수"를 모두 포함하는 수직선을 만든다. 그러면, 이 수직선을 두 조각으로 자르면 왼쪽 조각에만 최댓값이 있거나, 오른쪽 조각에만 최솟값이 있고, "왼쪽 조각에 최댓값이 없고 오른쪽 조각에 최솟값이 없는 경우"는 발생하지 않는다. 마찬가지로 "왼쪽 조각에 최댓값이 있고 오른쪽 조각에 최솟값이 있는 경우"도 발생하지 않는다. 즉, 유리수와 "빈틈수"를 모두 포함하는 수직선을 만들면 빈틈이 없이 완전히 갖추어져 있는 것이다.
이제 "빈틈수"를 무리수, "유리수와 빈틈수를 포함하는 수"를 실수라고 정의하면 된다.
엄밀히 말해서 데데킨트의 방법에서는 유리수의 대소관계만 필요하지만, 적은 만큼 많이 추상적인 편이라서 여기서는 생략하겠다.
다만 가장 중요한 결과는 짚고 가자. 위의 내용에 따라 실수 집합은 다음과 같은 성질을 만족시킨다고 말할 수 있다. 실수 집합의 공집합이 아닌 어떤 진부분집합 $$A$$가 '''아래로 유계일 때, 즉 어떤 실수가 존재해서 $$A$$의 모든 원소들이 그 실수보다 크거나 같다면, 그러한 실수들[10] 중에 최댓값[11] 이 항상 존재한다.'''[12] 참고로 이로부터 위로 유계인 집합 역시 비슷한 성질을 갖는다는 것을 바로 보일 수 있다. 대부분의 학부 실해석학 교재에서는 이 명제를 공리화한 다음[13] , 이를 가지고 실수의 모든 성질을 유도한다.
3.3. 정리
어느 방법이든, 유리수가 가지고 있는 빈틈들을 다 메꾸어서 만든 "완전하게 갖추어진" 수가 실수가 된다는 것이다. 그래서 실수는 "완비성"(Completeness)를 가진다고 하고, 이 과정을 완비화라고 한다. 좀 더 직관적으로, 선을 그었을 때 그 선의 모든 점에 완벽히 대응이 된다는 관점에서 line complete 라고도 한다.
위의 완비화들을 요약하자면 이렇게 말할 수 있다.
- 칸토르의 방법 : 수렴하는 것처럼 보이는 수열(코시 수열)[14] 은 반드시 수렴하도록 유리수 집합을 확장시킨다.[15]
- 데데킨트의 방법 : 모든 집합의 경계(상한, 하한)점이 존재하도록 유리수 집합을 확장시킨다.
앞으로 극한을 사용할 일이 있어서 그 전에 앞서 실수의 정의를 확인하고자 할 때는 칸토르의 방법을 쓰는 편이고, 미리 알고 있는 개념을 최소한으로 하면서 실수의 정의를 살펴보고자 할 때는 데데킨트의 방법을 쓰는 편이다.
이렇게 해서 우리가 아는 실수까지 다 만들어진 셈.
어떻게 보면 우리 생활과 제법 가까운 체계, 그러니까 피부로 와닿는 수 체계 중 하나를 이런 식으로 추상화하는 것이 거북할 수도 있겠다. 하지만 일단 수학에서 추구하는 엄밀함 때문에라도 이러한 추상화는 반드시 필요하다. 반대로, 우리가 자연스럽게 느끼는 실수 체계가 생각보다 복잡하다는 사실을 받아들이기 힘들 수도 있다. 하지만 여기서 알아두어야 할 점은, 수학에서 말하는 실수는 아무리 잘 쳐도 '''모델'''이다. 즉, 우리가 체험하는 물리량들을 수학에 맞도록 추상화한 것. 단지 실재하는 물리량들에 쓰면서 보니까 잘 맞더라는 것. 어쩌면 먼 훗날엔 지금 말하는 수학의 실수가 더 이상 물리량의 좋은 모델이 되지 못할지도 모른다.
4. 크기
실수 집합은 자연수 집합보다 더 크다. [17][18] 이 말은 실수 집합과 자연수 집합 간에 일대일 대응 따윈 존재하지 않고, 실수 집합의 일부분과 자연수 집합 간에는 일대일 대응이 가능하다는 뜻. 이걸 최초로 밝혀낸 사람이 바로 칸토르이며, 그가 사용한 방법이 그 유명한 대각선 논법.[19]
5. 컴퓨터에서의 실수표현
잘 알려지지 않은 사실인데 보통의 IEEE호환 실수 표현으로는 컴퓨터가 실수를 정확히 표현하지 못한다. 컴퓨터는 실수를 부동소수점 표기법으로 저장하는데 이 말은 결국 실제 실수를 저장하는 게 아니라 그에 근사하는 어떤 유리수(더 정확히는 2진법 유한소수)를 저장한다는 뜻이다. 게다가 수학적 연산까지 정확히 표현하지 못하는 문제도 지니고 있다. 때문에 각종 프로그래밍 언어에서 0.1 X 10을 할 경우에는 1.0을 정확히 얻을 수 있으나, 0.1을 10번 더하는 식으로 구성할 경우 정확히 1.0이 아니라 0.9999.. 나 또는 1.000... 식으로 아주 약간 모자라거나 약간 더 큰 값을 얻는 현상을 볼 수 있다. 개발하는 쪽에서는 이 문제를 알고 있기 때문에 로직에서 사용할 때는 미리 대처를 해놓거나 사람들에게 보여줄 때는 정확한 값을 보여줄 수 있는 식으로 처리하고 있다. 자세한 내용은 컴퓨터에서의 수 표현 참조.