본문으로 건너뛰기

장 89 선택공리를 포함한 체르멜로-프렝켈

[LEI14]의 3.1절에 이에 대한 좋은 설명이 있습니다.

89.1 궁극의 함수방정식

추상수학에서는 구조를 가져야 할 성질로 정의하는 경우가 많습니다. 예를 들어 군은 이러이러한 공리를 만족하는 집합과 이항연산이고, 거리 공간은 이러이러한 공리를 만족하는 집합과 거리 함수입니다.

그러나 이러한 정의들은 이전의 정의에 의존합니다. [LEI14]의 생생한 예시를 보면:

  • 벡터 공간은 다음을 만족하는 아벨 군입니다…

  • 아벨 군은 다음을 만족하는 이항연산을 가집니다…

  • 집합 위의 이항연산은…

  • 집합은 …

등등입니다.

어딘가에서는 멈춰야 하는데, 무한한 정의의 목록은 좋지 않기 때문입니다. 멈추는 지점은 결국 성질로 ”정의된” 집합이 됩니다. 여기서 요령은 집합이 무엇인지 실제로 정의하지 않으면서도, 이러한 집합들이 특정 성질을 만족한다고 가정한다는 점입니다. 이것이 바로 𝖹𝖥𝖢 공리입니다. 대략적으로 𝖹𝖥𝖢궁극의 함수방정식으로 생각할 수 있습니다.

이 공리들이 무엇인지 말하기 전에, 주의할 점들을 먼저 이야기해야 합니다.

89.2 칸토어의 역설

직관적으로 집합은 순서 없는 원소들의 모임입니다. 두 집합은 같은 원소를 공유하면 같습니다:

{xx깃털 없는 두 발 동물입니다}={xx사람입니다}

(공룡에 관한 문제는 잠시 접어두겠습니다).

또 다른 예로, 아무 대상도 포함하지 않는 공집합 이 있습니다. 집합 {1,2,3}을 가질 수도 있고, 자연수의 집합 ={0,1,2,}을 가질 수도 있습니다. (집합론의 목적상 0은 보통 자연수로 간주됩니다.) 집합은 심지어 {,,}처럼 다른 집합을 포함할 수도 있습니다. 다 괜찮아 보이지 않습니까?

문제는 이 정의가 사실 충분히 좋지 않다는 것인데, 그 이유는 다음과 같습니다. ”집합은 대상들의 임의의 모임이다”라고만 말한다면, 모든 집합의 집합인 정말로 큰 집합 V를 생각할 수 있습니다. 여기까지는 문제가 없지 않습니까? VV라는 기이한 상황이 생기겠지만, 뭐 별일 아닙니다.

불행하게도 이 V의 존재는 즉시 역설로 이어집니다. 고전적인 것은 러셀의 역설입니다. 저는 대신 다소 더 간단한 것을 제시하겠습니다: V가 자기 자신을 포함할 뿐만 아니라, 모든 부분집합 SV가 그 자체로 V의 원소입니다(즉 SV). 𝒫(V)V 멱집합(즉 V의 모든 부분집합)을 나타낸다고 하면, 다음과 같은 포함관계를 얻습니다

𝒫(V)V.

이는 좋지 않은데, 그 이유는:

보조정리 89.2.1 (칸토어의 대각선 논법).

임의의 집합 X에 대해, 단사 사상 ι:𝒫(X)X를 구성하는 것은 불가능합니다.

증명.

모순을 이끌어내기 위해 ι가 존재한다고 가정하십시오.

연습문제 89.2.2.

ι가 존재하면 전사 사상 j:X𝒫(X)가 존재함을 보이십시오. (이는 보기보다 쉬운데, 그냥 ”ι를 뒤집으면” 됩니다.)

이제 j가 존재할 수 없다고 주장합니다.

먼저 아이디어를 전달하기 위해 j에 대한 그림을 그려 보겠습니다:

x1x2x3x4x5x1𝑗𝟎1101x2𝑗1𝟏011x3𝑗01𝟎01x4𝑗100𝟏0x5𝑗0111𝟏

여기서, 각 j(x)X에 대해, 해당 원소가 j(x) 안에 있다는 것을 뜻하기 위해 “1”이라고 쓰고, 그렇지 않으면 “0”이라고 쓰겠습니다. 따라서 j(x1)={x2,x3,x5}입니다. (X가 비가산일 수 있으므로 여기서 첨자는 정수가 아니라 순서수입니다. 전문가라면 제가 X의 정렬을 암묵적으로 가정했음을 눈치챌 수 있겠지만, 이 그림은 어디까지나 동기 부여를 위한 것이므로 이 점에 대해서는 깊이 다루지 않겠습니다.) 그런 다음 대각선을 읽어내어 새로운 집합을 얻을 수 있습니다. 우리 예시에서, 대각선은 집합 A={x2,x4,x5}를 지정합니다. 그런 다음 이것을 “뒤집어” 집합 B={x1,x3,}를 얻습니다.

형식적 증명으로 돌아갑시다. 위에서 동기를 부여했듯이, 우리는 다음과 같이 정의합니다

B={xxj(x)}.

구성에 의해, BXj의 상(image)에 속하지 않으며, 이는 j가 전사라고 가정했던 것과 모순됩니다. ∎

이제 여러분이 집합론자가 아니라면, 아마도 “뭐, 특정 집합들은 볼 수 없나 보다”라고 하며 그냥 넘어갈 수 있을 것입니다. 하지만 여러분이 집합론자라면, 이는 여러분을 걱정스럽게 만듭니다. 왜냐하면 이것이 집합을 그저 “대상들의 모임”으로 정의할 수 없다는 것을 의미한다는 것을 깨닫게 되기 때문입니다. 그렇게 하면 모든 것이 폭발해 버립니다. 무언가 더 필요합니다.

89.3 집합론의 언어

우리는 “대상들의 모임”이라는 비형식적 서술 외에 집합을 지칭할 방법이 필요합니다.

그래서 우리가 할 일은 다음과 같습니다. 우리는 논리 진술을 작성하는 방법인 형식적 집합론의 언어를 정의하는 것으로 시작하겠습니다. 먼저 우리가 흔히 쓰는 논리 연산자들을 도입할 수 있습니다:

  • 는 “모든  에 대해”를 의미합니다

  • 는 “존재한다”를 의미합니다

  • =는 “같다”를 의미합니다

  • XY는 “X이면 Y이다”를 의미합니다

  • AB는 “A이고 B”를 의미합니다

  • AB는 “A이거나 B”를 의미합니다

  • ¬A는 “A가 아니다”를 의미합니다.

우리는 집합론을 다루고 있으므로, 추가할 연산자는 단 하나, 즉 포함 관계 뿐입니다. 그리고 (당분간은) 이것이 우리가 사용할 전부입니다.

그렇다면 “집합 {1,2}”와 같은 것을 어떻게 표현할까요? 요령은 우리가 실제로 어떤 집합을 “구성”하지 않고, 대신 다음과 같이 간접적으로 지칭한다는 것입니다:

S:xS((x=1)(x=2)).

이는 다음과 같이 읽습니다: “x=1 또는 x=2일 때, 그리고 그때에만 xS 안에 있는 그러한 S가 존재한다”. 우리는 더 이상 집합 그 자체를 대상으로 지칭할 필요가 없습니다 — 이제 우리에게는 집합이 정확히 무엇을 포함하는지에 대한 공식을 씀으로써 집합을 “생성”하는 방법이 생겼습니다. 이는 기계가 파싱할 수 있는 것입니다.

그렇다면 집합이 아닌 12 같은 것들은 어떻게 해야 할까요? 답은 다음과 같습니다:

집합의 원소들은 그 자체로 집합입니다.

우리는 모든 것을 집합으로 만들 것입니다. 자연수는 집합이 될 것입니다. 순서쌍도 집합이 될 것입니다. 함수도 집합이 될 것입니다. 나중에 1과 같은 것을 어떻게 집합으로 부호화하는지 정확히 알려드리겠습니다. 지금은 집합이 단지 대상만을 담는 것이 아니라 다른 집합들도 담는다는 것만 알아두시면 됩니다.

이제 어떤 것이 집합인지 아닌지에 대해 이야기하는 것이 말이 됩니다: x는 “x는 집합이다”를 의미하고, x는 “x는 집합이 아니다”를 의미합니다. 다시 말해, 우리는 어떤 것이 집합인지 판별하는 문제를 그것이 존재하는지의 문제로 바꾸어 말한 것이며, 이는 우리의 형식적 언어에서 다루기 더 쉽게 만들어 줍니다. 이는 우리의 공리 체계가 다음을 증명할 수 있게 허용하지 않으면서도, 많은 것들이 존재함을 보일 수 있는 방법을 반드시 찾아야 함을 의미합니다

Sx:xS.

왜냐하면 만약 우리가 이 논리식을 증명한다면, 처음에 우리를 이 토끼굴로 빠뜨린 원인이었던 그 “나쁜” 집합을 갖게 되기 때문입니다.

89.4 𝖹𝖥𝖢의 공리들

이 공리들에 대해 특별히 자세히 다루고 싶지는 않습니다; 관심이 있다면 다음을 읽으십시오:

다음은 공리들에 대한 훨씬 더 간결한 설명으로, 집합론 언어로 된 대응 문장도 함께 포함합니다. , 등을 해석하는 연습을 해볼 가치가 있으며, 형식적 문장을 공리의 자연어 서술과 비교함으로써 그렇게 할 수 있습니다.

먼저, 가장 쉬운 두 공리입니다:

  • Extensionalityxy((a(axay))x=y)라는 문장이며, 이는 두 집합 xy가 같은 원소를 가지면 x=y임을 말합니다.

  • EmptySeta:x¬(xa)라는 문장입니다; 이는 원소가 없는 집합이 존재함을 말합니다. Extensionality에 의해 이 집합은 유일하므로, 이를 으로 표기합니다.

다음 두 공리는 새로운 집합을 만드는 기본적인 방법을 제공합니다.

  • 두 원소 xy가 주어지면, 그 두 원소만을 포함하는 집합 a가 존재합니다. 기계 코드로 표현하면, 이는 Pairing이라는 문장이며 다음과 같이 씁니다

    xyaz,za((z=x)(z=y)).

    Extensionality에 의해 이 집합 a는 유일하므로, a={x,y}로 씁니다.

  • 집합 a가 주어지면, a의 원소들의 합집합을 만들 수 있습니다. 예를 들어, a={{1,2},{3,4}}이면, U={1,2,3,4}는 하나의 집합입니다. 형식적으로, 이는 Union이라는 문장입니다:

    aUx[(xU)(y:xya)].

    UExtensionality에 의해 유일하므로, 이를 a로 표기합니다.

  • 우리는 멱집합 𝒫(x)를 구성할 수 있습니다. 형식적으로, PowerSet 문장은 다음을 말합니다

    xPy(yPyx)

    여기서 yxz(zyzx)의 축약입니다. ExtensionalityP의 유일성을 보장하므로, 이를 𝒫(x)로 표기합니다.

  • Foundation은 무한히 하강하는 연쇄가 존재하지 않음을 말합니다

    x0x1x2.

    이는 우리가 귀납을 사용할 수 있게 해주므로 중요합니다. 특히, 어떤 집합도 자기 자신을 포함하지 않습니다.

  • Infinityω={0,1,}가 하나의 집합임을 함의합니다.

이것들은 모두 여러분이 이미 익숙한 것들이므로, 그 직관을 유지하십시오. 다음 것은 덜 직관적입니다:

  • 제한된 분리 스키마는 다음을 말합니다: 집합 X가 주어지고, 어떤 논리식 ϕ(x)가 있다면, X의 원소들을 걸러내어 다음과 같은 부분집합을 얻을 수 있습니다

    Y={xXϕ(x)}.

    형식적으로, 논리식 ϕ가 주어지면:

    XYy(yYyXϕ(y)).

이러한 걸러내기는 오직 이미 주어진 집합에 대해서만 할 수 있음에 유의하십시오. 따라서 {xx집합입니다}를 만드는 것은 유효하지 않습니다. 우리는 이 점에 감사해야 하는데, 이것이 칸토어의 역설을 피할 수 있게 해주기 때문입니다.

표기의 남용 89.4.1.

엄밀히 말하면, 가능한 모든 논리식 ϕ에 대해 하나씩 존재하는 무한히 많은 문장 Comprehensionϕ가 있음에 유의하십시오. 표기를 남용하여, 모든 ϕ에 대한 무한히 많은 공리 ComprehensionϕComprehension으로 줄여 표기하겠습니다.

Replacementϕ라 불리는 마지막 스키마가 하나 있습니다. X가 집합이고 ϕ(x,y)가 어떤 논리식이어서, 모든 xX에 대해 ϕ(x,y)가 참이 되는 유일한 y가 전체 영역 안에 존재한다고 합시다: 예를 들어 “y=x{x}”는 이를 만족합니다. (사실상, ϕX 위에서 함수 f를 정의하는 셈입니다.) 그러면 정확히 이러한 상들로 이루어진 집합 Y가 존재합니다: (즉 fimg(X)는 하나의 집합입니다).

표기의 남용 89.4.2.

표기를 남용하여, 모든 ϕ에 대한 무한히 많은 공리 ReplacementϕReplacement로 줄여 표기하겠습니다.

비고 89.4.3.

여기서 “모든 xX에 대해, ϕ(x,y)가 참이 되는 유일한 y가 전체 영역 안에 존재한다”는 것은 무엇을 의미할까요? 논리식 ϕ가 주어졌을 때, Replacementϕ가 공리가 되기 위해 그 진술이 참인지를 우리는 어떻게 판단할 수 있을까요?

일반적으로는 판단할 수 없다는 것이 밝혀집니다. 하지만 우리는 그것이 필요하지 않습니다! 이 문제를 우회하기 위해, 모든 ϕ(x,y)에 대해, 공리 Replacementϕ는 다음을 말합니다

ϕ가 함수를 정의한다”XYY=fimg(X).

다시 말해, ϕ가 함수라는 가정은 공리 Replacementϕ 자체에 “접혀 들어가” 있습니다.

이는 지금 당장은 그다지 중요하지 않겠지만, 나중에 모형 이론에서 중요해질 것인데, 그때 우리는 보조정리 92.5.1에서 모형 MReplacement를 만족한다는 것이 무엇을 의미하는지 서술할 것입니다.

우리는 선택 공리에 대한 논의를 잠시 미룹니다.

89.5 부호화

이제 이 허술한 집합의 우주를 갖추었으니, 수학을 다시 세우기 시작할 수 있습니다. 이는 다음 장인 순서수에 관한 장에서 더 자세히 보게 될 것입니다.

정의 89.5.1.

순서쌍 (x,y)는 다음과 같은 형태의 집합입니다

(x,y){{x},{x,y}}.

(x,y)=(a,b)인 것은 x=a이고 y=b인 것과 동치임에 유의하십시오. 순서 k-튜플은 재귀적으로 정의될 수 있습니다: 세 자리 튜플 (a,b,c)(a,(b,c))를 의미합니다.

정의 89.5.2.

함수 f:XY는 다음을 만족하는 순서쌍들의 모임으로 정의됩니다

  • (x,y)f이면, xX이고 yY입니다.

  • 모든 xX에 대해, (x,y)fyY가 유일하게 존재합니다. 이 yf(x)로 표기합니다.

정의 89.5.3.

자연수는 다음과 같이 귀납적으로 정의됩니다

0 =
1 ={0}
2 ={0,1}
3 ={0,1,2}

모든 자연수의 집합은 ω로 표기됩니다.

표기의 남용 89.5.4.

네, 죄송합니다만, 집합론에서 0은 자연수로 간주됩니다. 이러한 이유로 저는 이 아니라 ω를 사용하고 있는데, 이 책의 다른 모든 부분에서는 명시적으로 0으로 두고 있기 때문입니다.

등등, 등등.

89.6 선택과 정렬순서

선택 공리는, 공집합이 아닌 집합들의 모임 Y가 주어졌을 때, Y의 각 원소로부터 하나의 원소를 “고르는” 함수 g:YY가 존재한다는 것을 말합니다. 이는 모든 yY에 대해 g(y)y임을 의미합니다. (전형적인 예시로는, Y가 무한히 많은 서랍을 포함하고, 각 서랍(즉 y)에 양말이 하나씩 들어 있다는 것입니다.)

형식적으로는, 다음 문장입니다

Y(Yg:YY 인yY(g(y)y).)

까다로운 부분은 그러한 함수 g를 우리가 상상할 수 있다는 것이 아니라, 실제로 이 함수 g실제로 하나의 집합이라는 것입니다.

자주 유용하게 쓰이는 동치인 서술 방식이 있습니다.

정의 89.6.1.

X 정렬순서 <란, X 위의 무한 하강 사슬이 없는 강한 전순서입니다.

집합 위의 정렬순서는 매우 유용한데, 최소 원소를 고를 수 있기 때문입니다: 예를 들어 이는 귀납법을 수행할 수 있게 해줍니다.

예제 89.6.2 (정렬순서의 예시와 반례).
  1. (a)

    자연수 ω={0,1,2,}<에 의해 정렬순서를 이룹니다.

  2. (b)

    정수 ={,2,1,0,1,2,}<에 의해 정렬순서를 이루지 않는데, 무한 하강 사슬이 존재하기 때문입니다 (1>2>3>를 생각해 보십시오).

  3. (c)

    양의 실수는 <에 의해 정렬되지 않는데, 이는 다시 감소하는 사슬 11>12>13> 때문입니다.

  4. (d)

    양의 정수는 나눗셈 연산 에 의해 정렬되지 않습니다. 감소하는 사슬은 없지만, 비교할 수 없는 원소들이 존재합니다 (예를 들어 35, 53이고 35).

정리 89.6.3 (정렬 정리).

선택공리를 가정하면, 모든 집합에 대해 어떤 정렬 순서를 놓을 수 있습니다.

사실, 정렬 정리는 실제로 선택공리와 동치입니다.

89.7 집합 대 클래스

대표적인 예: 모든 집합의 집합은 진클래스의 표준적인 예시입니다.

”클래스”를 언급하면서 𝖹𝖥𝖢에 대한 논의를 마무리합니다.

대략적으로 말하면, 일어난 ”나쁜 일”이란 우리가 어떤 집합 S, 즉 ”모든 집합의 집합”을 고려했는데, 그것이 너무 컸다는 것입니다. 즉,

{xx집합입니다}

는 좋지 않습니다. 마찬가지로, 우리는 다음과 같은 집합을 구성할 수 없습니다

{xx순서쌍입니다}.

칸토어 역설의 교훈은 우리가 원하는 아무 집합이나 만들 수는 없다는 것입니다. 우리는 그보다 더 조심해야 합니다.

그럼에도 불구하고, 어떤 집합이 주어지면 우리는 여전히 그것이 순서쌍인지 아닌지를 알 수 있습니다. 그러므로 편의상, 우리는 클래스를 ”모든 순서쌍의 클래스”와 같은 하나의 ”개념”으로 정의하겠습니다. 형식적으로, 클래스는 어떤 논리식 ϕ에 의해 정의됩니다: 그것은 그 논리식을 만족하는 집합들로 이루어집니다.

특히:

정의 89.7.1.

모든 집합의 클래스는 V로 표기되며, V={xx=x}로 정의됩니다. 이는 폰 노이만 전체라고 불립니다.

클래스가 집합이 아닐 때 이를 진클래스라고 하며, 예를 들면 다음과 같습니다:

정리 89.7.2 (모든 집합의 집합은 존재하지 않습니다).

V는 진클래스입니다.

증명.

그렇지 않다고 가정하면, V는 집합입니다. 그러면 VV인데, 이는 Foundation을 위반합니다. (사실, 앞서 보았듯이 Foundation이 없더라도 V는 집합일 수 없습니다). ∎

표기의 남용 89.7.3.

클래스 C가 주어지면, xC의 정의 성질을 가진다는 것을 나타내기 위해 xC라고 쓰겠습니다. 예를 들어, xV는 ”x는 집합이다”를 의미합니다.

이는 xV의 원소라는 것을 의미하지 않습니다 – V는 집합이 아니므로 이는 말이 되지 않습니다.

89.8 생각해 볼 만한 조금 더 어려운 문제

문제 89A.

AB를 집합이라 합시다. ABA×B가 집합임을 보이십시오.

문제 89B.

모든 군의 클래스가 진클래스임을 보이십시오. (군의 정의를 순서쌍 (G,)로 취할 수 있으며, 여기서 는 함수 G×GG입니다.)

문제 89C.

정렬 정리로부터 선택공리가 따라 나옴을 보이십시오.

문제 89D.

사실 ReplacementComprehension임을 증명하십시오.

문제 89E (대만 IMO 훈련 캠프에서).

각각 빨간색, 초록색, 파란색 중 하나인 모자를 쓴 무한히 많은 사람들을 생각해 봅시다. 각 사람은 자신을 제외한 모든 사람의 모자 색깔을 볼 수 있습니다. 동시에 각 사람은 자신의 모자 색깔을 추측합니다. 이들이 기껏해야 유한히 많은 사람만 자신의 색깔을 잘못 추측하도록 하는 전략을 세울 수 있음을 보이십시오.

힌트. 이것은 선택 공리의 응용입니다.

풀이. 두 모자 배치가 유한하게 많은 곳에서만 다를 경우 이를 동치로 간주하는 동치 관계를 정의합니다. 이제 각 동치류에 대해, 모두가 특정한 대표원에 미리 합의합니다. 마지막으로, 한 사람이 자신의 모자 색깔을 모르더라도 그룹이 어떤 동치류에 속하는지 판단할 수 있다는 점에 주목하십시오. 따라서 모두가 만장일치로 같은 대표원을 선택하게 되며, 증명 완료입니다.