문서:서수(수학)/큰 가산서수

문서의 이전 버전(r8)을 보고 있습니다.

역사 raw
대문 랜덤 문서 최근 토론
분류

1. 개요2. [math(\epsilon_{0})] 에서 [math(\zeta_{0})]까지3. [math(\zeta_{0})] 에서 [math(\Gamma_{0})]까지4. 다변수 베블런 함수5. 서수 붕괴 함수


1. 개요

이 문서에서는 [math(epsilon_{0})] 이상의 큰 가산서수를 설명하며 이보다 작은 '작은' 가산서수에 대해서는 서수(수학) 문서 참고.

2. [math(epsilon_{0})] 에서 [math(zeta_{0})]까지

[math(epsilon_{0})]가 최초로 [math(omega^alpha=alpha)]를 만족하는 서수인 것과 같이, [math(epsilon_{1})]은 두 번째로 [math(omega^alpha=alpha)]를 만족하는 서수이다. 이것을 정의하기 위해서는 또 다른 긴 과정이 필요하다. 0에서 [math(epsilon_{0})]까지의 과정을 한 번 더 반복하면 [math(epsilon_{0}2)]을 얻고, [math(epsilon_{0})], [math(epsilon_{0}2)], [math(epsilon_{0}3)]의 극한으로 [math(omegaepsilon_{0})]을 얻는다. 그리고, [math(epsilon_{0}=omega^{epsilon_{0}})]이므로 [math(omegaepsilon_{0}=omegatimesomega^{epsilon_{0}}=omega^{epsilon_{0}+1})]이다!

똑같이 지금까지의 과정을 반복해서 [math(omega^{omega^{epsilon_{0}+1}})]을 정의할 수 있다. 이제 서수의 수열 [math({epsilon_{0}+1, omega^{epsilon_{0}+1}, omega^{omega^{epsilon_{0}+1}}, cdots})]을 생각해볼 수 있다. 이 수열의 극한은 [math(epsilon_{0})]보다 큰 것이 자명하며, 또한 [math(omega^alpha=alpha)]을 [math(epsilon_{0})]보다 큰 서수들 중에서 최초로 만족한다. 따라서, 이 수열의 극서수가 [math(epsilon_{1})]이다.

이렇게 [math(epsilon_{1})]을 정의했으니, 같은 방식으로 [math(epsilon_{2})], [math(epsilon_{3})], 더 나아가서는 [math({epsilon_{0}, epsilon_{1}, epsilon_{2}, cdots})]의 극서수인 [math(epsilon_{omega})], 더욱 나아가서 [math(epsilon_{epsilon_{0}})]까지 정의할 수 있다.

그럼 이제 또 다시 서수의 수열 [math({0, epsilon_{0}, epsilon_{epsilon_{0}}, epsilon_{epsilon_{epsilon_{0}}}, cdots})]을 생각해 볼 수 있다. 이 수열의 극서수를 [math(zeta_{0})]으로 표기한다. [math(epsilon_{0})]가 최초로 [math(omega^alpha=alpha)]를 만족하는 것과 비슷하게, [math(zeta_{0})]은 최초로 [math(epsilon_alpha=alpha)]를 만족하는 서수이다. 이 서수를 읽을 때는 칸토어의 서수 혹은 그냥 제타 서수라고 읽는다.

3. [math(zeta_{0})] 에서 [math(Gamma_{0})]까지

맨 먼저 유의해야 하는 사실은, [math(zeta_{0})] 역시 [math(epsilon)] 서수들에 속하므로 [math(zeta_{0}=omega^{zeta_{0}})]이라는 것이다.

따라서, 위에서와 똑같이 [math(omegazeta_{0}=omegatimesomega^{zeta_{0}}=omega^{zeta_{0}+1})]가 성립하며, 위에서와 비슷하게 서수의 수열 [math({zeta_{0}+1, omega^{zeta_{0}+1}, omega^{omega^{zeta_{0}+1}}, cdots})]를 정의할 수 있다. 이 수열의 극서수는 [math(zeta_{0}=epsilon_{zeta_{0}})] 바로 다음에 나타나는 [math(epsilon)] 서수이므로 [math(epsilon_{zeta_{0}+1})]이다. 비슷한 방식으로 [math(epsilon)] 서수들을 계속 정의할 수 있다.

이제 다음 단계로 서수 수열 [math(zeta_{0}+1, epsilon_{zeta_{0}+1}, epsilon_{epsilon_{zeta_{0}+1}}, cdots)]의 극한서수를 생각해보자. [math(epsilon_{1})]과 비슷하게, 이 수열의 극한서수는 [math(zeta_{0})] 이후 최초로 [math(epsilon_alpha=alpha)]을 만족하므로 [math(zeta_{1})]이다.

[math(epsilon)] 서수에서 했던 것과 비슷하게 위의 과정을 반복한다면 서수 수열 [math({0, zeta_{0}, zeta_{zeta_{0}}, zeta_{zeta_{zeta_{0}}}, cdots})]을 상상할 수 있다. 이 수열의 극서수는 자주 쓰이지는 않지만 그리스 문자 에타를 써서 [math(eta_{0})]이라고 쓴다. 당연히, [math(zeta_{eta_{0}}=eta_{0})]이며 이 서수는 [math(zeta_{alpha}=alpha)]을 만족하는 최초의 서수다.

지금까지의 과정을 복습해보면, [math(omega^alpha=alpha)]을 만족하는 서수들을 [math(epsilon)]으로 나타냈으며, [math(epsilon_alpha=alpha)] 을 만족하는 서수들을 [math(zeta)]로 나타냈고, [math(zeta_{alpha}=alpha)]을 만족하는 서수는 [math(eta)]로 나타냈다. 수학자 오스왈드 베블런은 이렇게 함수의 부동점을 이용하여 정의된 서수들을 일반화하여 베블런 함수를 만들어냈다. 베블런 함수 [math(phi_beta(alpha))]는 인수 및 결과값으로 서수를 갖는 함수이며, 이렇게 재귀적으로 정의된다.
  1. [math(phi_0(alpha)=omega^alpha)]
  2. [math(0<beta)]이고 [math(delta<beta)]인 모든 [math(delta)]에 대해 [math(phi_delta(alpha))]가 정의되었을 때, [math(phi_{beta}(gamma))]는 [math(gamma)]"번째"로 그 모든 [math(delta)]에 대해 [math(phi_delta)]의 부동점이 되는, 즉 [math(phi_delta(alpha)=alpha)]을 만족하는 서수[2], [math(phi_2(alpha)=zeta_alpha)], [math(phi_3(alpha)=eta_alpha)]이 된다!]
이제 [math(phi_1(0))], [math(phi_2(0))], [math(phi_3(0))]를 정의했으니 마찬가지로 나아가서 [math(phi_omega(0))]를 정의할 수 있다. 저 [math(omega)]에서 멈출 필요 없이, [math(epsilon_0)], [math(zeta_0)], 심지어 [math(eta_0)]까지 갈 수도 있으며, 이렇게 한 번 더 반복한다면 [math(phi_{phi_omega(0)}(0))]를 얻을 것이다. 똑같은 방법으로 계속 중첩시켜 나가면, [math(phi_{phi_{phi_cdots(0)}(0)}(0))]을 얻는다. 이 서수는 Feferman–Schütte 서수라 불리며 [math(Gamma_{0})]이라고 쓴다. 이 서수는 [math(phi)] 자체에 대하여 부동점이다. 즉, [math(phi_{Gamma_{0}}(0)=Gamma_{0})]이 성립한다.

4. 다변수 베블런 함수

편의를 위해 위의 베블런 함수 [math(phi_beta(alpha))]를 이제부터 [math(phi(beta, alpha))]로 쓰고, 특히 [math(phi_0(alpha)=omega^alpha)]는 [math(phi(alpha))]로 쓰도록 하자. 이제 [math(phi)]가 변수 한 개인 경우와 두 개인 경우에 대해 정의되었으므로, 변수 세 개인 경우에 대해서도 확장할 수 있다.
  1. [math(phi(0, beta, alpha)=phi(beta, alpha))]
  2. [math(0<rho)]이면 [math(phi(rho, 0, gamma))]는 [math(delta<rho)]인 모든 [math(delta)]에 대해 [math(phi(delta, alpha, 0)=alpha)]를 [math(gamma)]"번째"로 만족하는 서수이다.[4]]
  3. [math(0<beta)]이면 [math(phi(rho, beta, gamma))]는 [math(delta<beta)]인 모든 [math(delta)]에 대해 [math(phi(rho, delta, alpha)=alpha)]를 [math(gamma)]"번째"로 만족하는 서수이다. 이 정의는 [math(0=rho)]인 경우에도 위의 정의들과 모순이 없다.
계속 진행한다면, 충분히 큰 서수는 [math(phi(alpha, 0, 0)=alpha)]을 만족시킬 수 있기 때문에 이 확장으로도 제대로 나타낼 수 없다. 이러한 서수를 수학자 빌헬름 아커만의 이름을 따 아커만 서수라고 부른다. 이 서수는 [math(phi)]를 더욱 확장하여 [math(phi(1, 0, 0, 0))]이라고 나타낼 수 있다.

더욱 나아가, 서수들의 수열 [math({phi(1), phi(1, 0), phi(1, 0, 0), phi(1, 0, 0, 0), cdots})]을 생각할 수 있다. 이 수열의 극서수는 유한한 인수를 가진 베블런 함수로 나타낼 수 없는 최초의 서수다. 이 서수는 작은 베블런 서수 (Small Veblen Ordinal)이라고 부른다.

더욱 나아가, 초한 개의 인수를 가지는 베블런 함수도 생각할 수 있다. 작은 베블런 서수는 이 함수의 [math(omega)]번째 인수가 1, 나머지 인수가 0인 경우의 함수값이 될 것이다. 하지만 이런 함수 한계에 부딪히게 되며, 초한 베블런 함수로 나타낼 수 없는 가장 작은 서수를 큰 베블런 서수 (Large Veblen ordinal)로 부른다.

5. 서수 붕괴 함수

이렇듯 큰 가산서수들의 정의는 복잡하기 때문에, 집합론 수학자들은 이 가산서수들을 더 편리하게 나타내 더욱 큰 서수를 나타낼 방법을 고안했다. 아직 표기법이 통일되지 않았지만 (다양한 표기법이 정리된 문서), 최초로 만들어진 하인츠 바흐만(Heinz Bachmann)의 [math(psi)] 함수를 쓰면 지금까지 소개된 서수는 다음과 같이 나타낼 수 있다. 여기서, [math(Omega)]는 가장 작은 불가산 서수를 나타낸다.
  1. [math(zeta_{0})] 이하인 모든 서수 [math(alpha)]에 대해, [math(psi(alpha)=alpha)]
  2. [math(psi(Omega)=zeta_{0})]
  3. [math(psi(Omega+1)=epsilon_{zeta_{0}+1})]
  4. [math(psi(Omega2)=zeta_{1})]
  5. [math(psi(Omega^2)=eta_{0})]
  6. [math(psi(Omega^Omega)=Gamma_{0})]
  7. [math(psi(Omega^{Omega^2}))]는 아커만 서수
  8. [math(psi(Omega^{Omega^omega}))]는 작은 베블런 서수
  9. [math(psi(Omega^{Omega^Omega}))]는 큰 베블런 서수

집합 [math(S={0, 1, omega, Omega})]를 준비한다.
집합 [math(C(0))]은 [math(S)]의 원소들과 덧셈, 곱셈, 지수를 유한 번 사용하여 만들 수 있는 모든 서수의 집합으로 정의한다. 그럼 [math(C(0))]에는 [math(1, 2, 3, ...,omega, omega+1, omega2, omega^2, omega^omega, ..., Omega, Omega+1, Omega+omega, Omega^Omega)]과 같은 서수들이 포함되어 있다.

그런데 [math(C(0))]에는 [math(epsilon_0)]이 포함되어 있지 않다. "유한 번" 사용해야 한다고 했으므로, [math(omega)]가 무한 번 지수로 올려진 [math(epsilon_0)]은 원소가 될 수 없는 것이다. 따라서 [math(psi(0))]는 첫 번째로 도달할 수 없는 서수인 [math(epsilon_0)]로 정해진다.

그런 다음, [math(C(1))]을 [math(C(0))]의 원소들과 [math(psi(0)=epsilon_0)]을 유한 번 사용하여 만들 수 있는 모든 서수의 집합으로 정의한다. 아까와 마찬가지로, [math(omega)]나 [math(epsilon_0)][5]은 [math(epsilon_0^{epsilon_0^{epsilon_0^{.^{.^{.^{.}}}}}})]으로도 쓸 수 있다.]를 무한 번 써야하는 [math(epsilon_1)]은 [math(C(1))]에 없다. 따라서 [math(psi(1)=epsilon_1)]이 된다.

같은 방법으로 [math(C(2))]를 [math(C(1))]의 원소들과 [math(psi(1))]을 유한 번 사용해 만들 수 있는 서수의 집합으로 정의하고, [math(psi(2)=epsilon_2)]가 된다. 이쯤 되면 [math(psi(alpha)=epsilon_alpha)]임을 알 수 있다.

위의 식에서 [math(psi(epsilon_alpha)=epsilon_{epsilon_alpha}, psi(epsilon_{epsilon_alpha})=epsilon_{epsilon_{epsilon_alpha}})] 등도 얻어낼 수 있지만, [math(epsilon)]을 무한 번 사용해야 하는 [math(zeta_0)]은 이전과 같은 방법으로 얻어낼 수 없다. 여기서 [math(Omega)]가 등장한다.

[math(psi(zeta_0))]를 계산하면, [math(epsilon_{zeta_0}=zeta_0)]가 된다. [math(zeta_0)]보다 큰 어떤 서수를 넣어도 결과값으로 [math(zeta_0)]이 나온다. 그런데 [math(Omega)]가 [math(zeta_0)]보다는 크기 때문에, [math(psi(Omega)=zeta_0)]이 된다.

계속해서 [math(C(zeta_0+1))]은 [math(C(zeta_0))]의 원소들과 [math(psi(Omega)=zeta_0)]를 유한 번 사용해 만들 수 있는 모든 서수의 집합이 되고, 여기에 없는 최초의 서수는 [math(zeta_0)]의 바로 다음 [math(epsilon)]인 [math(epsilon_{zeta_0+1})]이다. 따라서 [math(psi(Omega+1)=epsilon_{zeta_0+1})]이다. [math(psi(Omega+2))]는 그 다음 엡실론이 되고, 그 값은 [math(epsilon_{zeta_0+2})]이다.

그럼 여기서 [math(psi(Omega+alpha)=epsilon_{zeta_0+alpha})]이라는 것을 알 수 있다. 그런데 앞에서도 그랬듯이 [math(alpha)]가 [math(zeta_1)]이상이면 성립하지 않는다. [math(epsilon_{zeta_0+zeta_1}=epsilon_{zeta_1}=zeta_1)]이기 때문이다.

[math(Omega)]를 다시 사용해, [math(psi(Omega+Omega)=psi(Omega2)=zeta_1)]이 된다. 계속하면 [math(psi(Omega2+alpha)=epsilon_{zeta_1+alpha})], 초월하여 [math(psi(Omega3)=zeta_2)]이다. 이를 통해 [math(psi(Omega×alpha)=zeta_{alpha-1})][6] 뒤에 붙는 -1은 서수들이 [math(zeta_0)]와 같이 밑첨자가 1이 아닌 0부터 시작하기 때문에 하나씩 당겨져서 붙는 것이다. 어차피 [math(alpha)]가 [math(omega)] 이상만 돼도 [math(-1+omega=omega)]이기 때문에 무시해도 좋다.]라는 규칙을 알아낼 수 있다. 이 역시도 [math(alpha)]가 [math(zeta)]에 대해 부동점인 [math(eta_0)] 이상이 되면 막히지만, [math(psi(Omega×Omega)=psi(Omega^2)=eta_0)]으로 도달한다.

이처럼 계산을 통해 규칙을 찾아내고, 부동점에 걸릴때마다 [math(Omega)]로 부동점을 돌파해내어, 다시 계산으로 규칙을 찾는 것을 반복하면 된다.
[1] 따라서, [math(phi_1(alpha)=epsilon_alpha)[2] 따라서, [math(phi_1(alpha)=epsilon_alpha)[3] 따라서 [math(phi(1, 0, 0)=Gamma_0)[4] 따라서 [math(phi(1, 0, 0)=Gamma_0)[5] [math(epsilon_1)[6] [math(alpha)