(스압) "0.999... = 1"을 이해해보자
본문
오늘 아침 포텐을 보다가 아래 글을 보게 됐다.
더 쉽게 이해하기 위해 예시를 들어보자.
정수 부분이 0이고, 소수점 아래 n번째 자리 수가 1, 나머지는 모두 0인 수를 bn으로 정의하자.
즉, bn 은 다음과 같이 정의된다.
bn := 0.000...1 = 1/10n
이제 수열 {bn}이 0으로 수렴하는 것을 보이기 위해, 정말 정말 작은 양의 실수 ε을 떠올려보자.
ε이 제 아무리 작더라도, 소수점 아래에서 분명 0이 아닌 숫자가 등장하는 순간이 오게 될 것이다.
이제 ε의 소수점 아래 숫자들 중 처음으로 0이 아닌 숫자가 나오는 위치를 소수점 아래 m번째 자리라고 해보자.
ε을 표기해보면 '0.000...0xyz...'과 같을 것이다. (x는 0이 아니며, x의 위치는 소수점 아래 m번째 자리)
자 그리고 우리가 정의했던 수열의 m번째 항보다 더 뒤에 있는 항들을 생각해보자.
bm+1 = 0.000...001 (1이 소수점 아래 (m + 1)번째 자리)
bm+2 = 0.000...0001 (1이 소수점 아래 (m + 2)번째 자리)
bm+3 = 0.000...00001 (1이 소수점 아래 (m + 3)번째 자리)
.
.
.
그렇다. 이 모든 항들은 당연히 ε보다는 작을 것이다!
우리는 어떠한 양의 실수 ε를 가져와도, 수열의 특정 시점부터는 언제나 그 값이 ε보다 작아지게(더 엄밀하게는 0과의 차이가 ε보다 작아지게) 만들 수 있다는 것을 보였다.
그리고 이로부터 수열 {bn}이 0으로 수렴한다고 주장할 수 있게 된 것이다!
이것이 수학적으로 엄밀하게 정의한 '수열의 수렴'이다.
이제 본론으로 돌아와서 앞서 우리가 정의했던, 정수 부분이 0이고 소수점 아래로 9가 n개 있는 수열 {an}에 대해 생각해보자.
'0.999...'를 이 수열의 극한값으로 정의했으므로, "0.999... = 1"임을 주장하기 위해서는 그 어떤 양의 실수 ε를 가져오더라도 수열 {an}이 어느 시점부터는 1과의 차이가 ε보다 작아짐을 보이면 된다.
그런데 an과 1의 차이는 우리가 앞서 정의했던 bn과 같다.
즉, 우린 이미 아무리 작은 양의 실수 ε를 가져오더라도, 'n > N'이라면 '| an - 1 | < ε'이 되는 자연수 N이 존재함을 이미 보였다!
우리는 이제야 '수열 {an}이 1로 수렴한다'고 얘기할 수 있고, 이를 다시 쓰면 "0.999... = 1"이 되는 것이다.
이것이 "0.999... = 1"이라는 식에 대한 엄밀한 이해와 그 증명이다.
이제 어디 가서 "0.999... = 1"을 증명해보라고 하면 위와 같이 증명하면 된다.
다음으로는, 예상되는 질문이나 반박(?)에 대해 미리 답변하고 또 널리 알려진 잘못된 증명에 대해 오해를 바로 잡는 시간을 가져보겠다.
예상 질문) 그래서 진짜 0.000...1은 어디로 간 거임?
이걸 정말로 궁금해하는 사람이 있다면 역으로 묻고 싶다.
"'0.000...1'에서 0은 대체 몇 개 있는 거임?"
백만개, 혹은 천억개 이런 대답을 하는 사람은 없을 것이고, 대부분 '무한개'라고 말할 것이다.
그 무한대의 정의에 대한 고찰이 필요하다는 것이다.
결론만 얘기하자면 0 아래에 0이 무한히 있고 끝에 1이 있는 수는 그 어떤 양의 실수보다도 작아질 수 있으므로 0과 같다.
(암만 생각해도 0.000...1이 0보다 크다고 생각되는 사람이 있다면 애초에 0을 덜 찍은 것이다.)
예상 반박) '0.999...'를 왜 '0 아래에 9가 n개 있는 수열의 극한'으로 정의함? 니 맘대로 정의한 것 아님?
답변) 맞다. 내 맘대로 정의한 것이다. 사실 '0.999...'라는 표현 자체가 수학적으로 엄밀히 정의되어 있는 것은 아니기 때문에 '0.999...'라는 표현을 보고 머리속에 직관적으로 떠오르는 '그 수'를 각자 나름대로 정의하는 과정이 필요하다.
다만, 수학을 조금이라도 공부하였다면 이러한 방식의 정의가 가장 자연스럽다는 것을 알게 될 것이다. 만약 다른 방식으로 정의한다면 그 값이 1이 아닐 수도 있다. 하지만 그건 수학적으로 의미가 없다.
잘못된 증명 1)
x = 0.999...
10x = 9.999...
9x = 10x - x = 9.999... - 0.999... = 9
∴ x = 1
해설) '0.999...'라는 값이 수렴함을 보이지 못한다.
완전히 같은 논리로 아래와 같은 주장도 가능하다. 하지만 아래의 주장이 당연히 잘못되었다는 것은 누구나 다 안다.
x = 1 + 2 + 4 + 8 + ...
2x = 2 + 4 + 8 + 16 + ...
-x = x - 2x = (1 + 2 + 4 + 8 + ...) - (2 + 4 + 8 + 16 + ...) = 1
∴ x = -1
'0.999...'가 아닌 소수점 아래 9가 정확히 n개만 있는 an을 가지고 위와 같은 계산을 해보면 다음과 같다.
10an = 9.999...9_ (9가 하나 부족하다.)
10an = 0.999...99
--------------------
_9an = 9 - 0.000...09
우리가 '0.999...'의 경우 저 '0.000...09'를 무시할 수 있었던 것은 n이 커질수록 저 값도 0에 수렴하기 때문이다. 이 증명 방법에는 이 사실에 대한 논의가 없다.
(실제로 이 계산은 "0.999... = 1"에 대한 증명이라기보단, '0.999...'가 수렴함을 알고 있는 상태에서 그 값을 계산하는 방법에 가깝다.)
잘못된 증명 2)
1/3 = 0.333...
2/3 = 0.666...
3/3 = 0.999... = 1
해설) 여전히 0.333..., 0.666... 등으로 표기된 수가 엄밀히 무엇을 뜻하는지에 대한 언급이 없다.
이 방법이 그럴싸해 보이는 것은 '1/3 = 0.333...'라는 식이 '0.999... = 1'이라는 식에 비해 직관적으로 자명해 보이기 때문이다.
하지만 '1/3 = 0.333...'임을 믿는다고 '3/3 = 0.999...'임을 받아들이는 것이 자연스럽다면, 반대로 '3/3 = 0.999...'임을 믿지 않기 때문에 '1/3 = 0.333...'임을 믿지 않는 상황을 부자연스럽다고 할 수 있을까?
'0.999... = 1'을 부정하는 사람들은 '0.999...'와 '1' 사이에 미세한 차이가 있다고 믿는 사람들이다. 그렇다면 '0.333...' 또한 3을 아무리 많이 써도 정확한 1/3에는 도달하지 못하는데 '1/3 = 0.333...'을 받아들이는 것이 오히려 잘못된 것 아닐까?
자, 여기까지 "0.999... = 1"이라는 식에 대해 엄밀히 정의하고, 또 증명해보고, 관련된 논의까지 다루어보았다.
이 글을 읽고 조금이라도 배운 것이 있다고 느끼거나 작은 흥미라도 느낀 사람이 있다면 이 글을 쓴 시간이 전혀 아깝게 느껴지지 않을 것이다.
혹시라도 아직 이해가 안 되는 것이 있거나 관련하여 궁금한 점이 있을 경우 댓글로 남겨주면 최대한 답변을 해볼 예정이니 많은 관심 바란다.
(무지성으로 "그래서 0.000...1은 어디갔는데?"라고 물어보는 것엔 답변하지 않겠다.)
그럼 2 × 104...




댓글 포인트 안내