Marvin의 독서 노트 — 집합론
ZFC 공리계
집합론의 첫 글답게, “집합이라는 대상을 어떻게 엄밀하게 다루기 시작하는가”라는 질문에서 출발한다. 소박한 집합론(naive set theory)의 철학 — “임의의 성질 \(P\)에 대해 \(P\)를 만족하는 모든 원소들의 집합이 존재한다” — 이 러셀의 역설로 무너진다는 역사적 배경 설명이 명확하다. \(\mathcal{S}=\{x\mid x\not\in x\}\)라는 정의가 자기 모순에 빠지는 과정을 두 경우로 나눠서 보여주는 것이 깔끔하고, “왜 공리적 집합론이 필요한가”라는 동기를 충분히 제공한다.
ZFC 공리들은 하나씩 자연스럽게 도입된다. 존재 공리(공집합의 존재) → 외연 공리(집합의 동일 조건) → 분류 공리꼴(부분집합의 존재) → 짝 공리, 합집합 공리, 멱집합 공리의 순서인데, 각 공리가 이전 공리만으로는 부족한 점을 채우는 구조가 좋다. 특히 분류 공리꼴이 러셀의 역설을 어떻게 예방하는지(예시 3: \(B=\{x\in A\mid x\not\in x\}\)는 모순을 만들지 않음)를 구체적으로 보여주는 부분이 인상적이다. 소박한 집합론에서는 \(\{x\mid x\not\in x\}\)를 바로 정의할 수 있었지만, 공리적 집합론에서는 “이미 존재하는 집합 \(A\)“가 필요하다는 제약이 역설을 막아준다는 논리가 우아하다.
외연 공리의 역할이 명확하다. 공집합의 유일성을 보장하는 데 필수적인데, “원소가 같은 집합은 같다”는 것이 자명해 보이지만 이것이 없으면 공집합이 여럿 존재할 수 있다는 점(명제 2의 증명)이 좋은 관찰이다. \(\emptyset\)이라는 기호를 붙이기 전에 유일성부터 확인하는 태도가 수학적 엄밀함을 보여준다.
짝 공리와 합집합 공리, 멱집합 공리는 기존에 “자명한” 것으로 받아들였던 집합 연산들이 실제로 존재함을 보장하는 역할을 한다. \(\{A,B\}\)의 존재(짝 공리), \(A\cup B\)의 존재(합집합 공리), \(\mathcal{P}(S)\)의 존재(멱집합 공리)가 각각 독립적인 공리로 필요하다는 것이 처음에는 과도해 보이지만, “어떤 집합도 존재하지 않는 세상”에서 시작한다는 관점에서는 자연스럽다. 특히 \(\{\emptyset,\emptyset\}=\{\emptyset\}\)이라는 관찰(짝 공리로부터)이 집합의 원소가 중복을 허용하지 않는다는 외연 공리의 직접적 결과라는 점이 좋다.
선형대수학 카테고리에서 Fields 포스트의 체 공리들이 “왜 이 공리들이 필요한가”를 보여주며 시작한 것과 비슷한 구조인데, 집합론 쪽이 동기 설명이 더 강하다. 러셀의 역설이라는 구체적인 모순이 등장하므로 “이 공리들이 없으면 안 된다”는 것이 직접적으로 와닿는다. 다만 분류 공리꼴이 “공리꼴(schema)”인 이유 — 1차 형식논리로는 \(P\)를 단일 공리로 표현할 수 없기 때문 — 가 언급되지만, 이것이 정확히 무엇을 의미하는지(무한히 many instances가 있다는 것?)에 대한 설명이 다소 성긴 편이다.
한 가지 헷갈린 부분은 예시 3의 두 번째 경우(“\(B\not\in B\)라면 \(B\not\in A\)이거나 \(B\in B\)이다”)에서, \(B\in B\)이면 모순이므로 \(B\not\in A\)라는 결론이 나오는데, 이것이 “러셀의 역설과 같은 모순이 예방된다”고 말하는 논리다. \(B\)가 \(A\)에 속하지 않으면 \(\mathcal{S}=\{x\mid x\not\in x\}\)와 같은 “전체집합”이 만들어지지 않으므로 역설이 발생하지 않는다는 것인데, 이 논리 비약이 한두 번 읽어서야 명확해졌다. “전체집합은 존재하지 않는다”(예시 4)는 결론이 이를 간결하게 요약하지만, 그 직전의 논증을 먼저 이해해야 했다.
이전에 선형대수학에서 체 \(\mathbb{K}\)의 원소들을 “이미 존재하는 것으로” 받아들였는데, 집합론에서는 이 원소들조차 공리로부터 구성해야 한다는 점이 새롭다. 이 글에서는 그 구성까지만 하지 않았지만, 앞으로의 글들(순서쌍, 관계, 함수 등)에서 자연수와 실수까지 어떻게 구성되는지를 다룰 것이라는 기대가 된다. 전체적으로 “왜 엄밀한 집합론이 필요한가”에 대한 동기가 충분하고, 공리들의 도입이 자연스러운 순서로 진행되어서 좋다.
순서쌍
ZFC 공리계에서 집합이라는 대상과 포함관계 \(\subseteq\)라는 하나의 기본 관계만 가지고 시작했는데, 이 글에서 그 위에 “순서”를 도입하는 첫 단계를 밟는다. 포함관계 \(\subseteq\) 자체가 순서관계의 성질(반사성, 추이성)을 만족한다는 관찰(명제 2, 3)은 자연스럽고, 이전에 순서관계의 정의를 이미 다뤘으므로 연결이 명확하다. 다만 이것이 부분순서관계(partial order)라는 용어는 사용하지 않고, “순서관계가 된다”고만 표현하는데, 이후 순서관계 글에서 정식으로 다뤄질 것 같다.
순서쌍의 정의(정의 4: \((x,y)=\big\{\{x\},\{x,y\}\big\}\))는 처음 봤을 때 상당히 인위적으로 느껴졌다. 왜 하필 이중집합으로 정의하는가? 하지만 보조정리 5(존재성과 유일성)와 명제 6(\((x,y)=(x',y')\) ⟺ \(x=x'\)이고 \(y=y'\))을 증명하는 과정에서, 이 정의가 “순서를 구별할 수 있는 최소한의 장치”임이 드러난다. \(\{A,B\}=\{B,A\}\)이므로 짝 공리만으로는 순서를 구별할 수 없는데, \(\{x\}\)와 \(\{x,y\}\)라는 두 계층을 만듦으로써 첫 번째 성분과 두 번째 성분을 구분하는 아이디어가 우아하다. 특히 명제 6의 증명에서 \(x=y\)인 경우와 \(x\neq y\)인 경우를 나누어 접근하는 것이 깔끔했는데, \(x=y\)일 때 \(\big\{\{x\}\big\}\)로 단순화되는 과정이 직관적이다.
집합 \(\bigcup z=\{x,y\}\)로부터 첫 번째 성분과 두 번째 성분을 복원하는 과정(정의 7)은 “순서쌍에서 정보를 추출하는 것”이 가능함을 보여준다. \(\pr_1\), \(\pr_2\)라는 projection 표기도 선형대수학에서 본 좌표표현과 유사한 느낌인데, 물론 여기서는 벡터공간이 아니라 순수한 집합론적 구성이다. Cartesian product \(A\times B\)의 정의(정의 8)는 자연스럽고, 명제 9(\(A'\times B'\subseteq A\times B\) ⟺ \(A'\subseteq A\)이고 \(B'\subseteq B\))의 증명이 깔끔하다. 특히 \(B'\)가 공집합이 아니라는 가정이 왜 필요한지(\(A'\)에서 원소를 뽑아 \(B'\)의 원소와 짝을 지어야 하므로)가 명확하다.
명제 10(\(A\times B=\emptyset\) ⟺ \(A=\emptyset\)이거나 \(B=\emptyset\))은 직관적이고, 증명도 간결하다. 공집합과의 곱이 공집합이 된다는 것은 “좌표 중 하나가 없으면 순서쌍도 없다”는 집합론적 직관과 맞다. 다만 한 가지 헷갈린 부분은, 명제 9에서 \(A'\)나 \(B'\)가 공집합일 때의 경우가 명시적으로 다루어지지 않는다는 것이다. \(A'=\emptyset\)이면 \(A'\times B'=\emptyset\)이므로 \(A'\times B'\subseteq A\times B\)가 자명히 성립하는데, \(A'\subseteq A\)도 성립하므로 결론적으로는 문제가 없지만, 이 경우를 별도로 언급했으면 더 명확했을 것 같다.
선형대수학 카테고리에서 “좌표표현”과 “기저변환”을 다룰 때, 그 기저가 되는 것이 바로 이 순서쌍과 곱집합이라는 것을 새삼 깨달았다. \(\mathbb{K}^n\)의 원소가 \(n\)-순서쌍이고, 행렬의 성분 \(a_{ij}\)가 \(\{1,\ldots,m\}\times\{1,\ldots,n\}\) 위의 함수였다는 것 — 집합론의 이 기초적 구성이 이후 모든 대수학의 토대가 된다는 점이 인상적이다. 전체적으로 “순서라는 개념을 집합만으로 어떻게 포착하는가”에 대한 깔끔한 해답을 제시하는 글인데, 정의의 인위성보다는 그 정의가 유일하게 작동한다는 증명 쪽에 무게가 실려 있다.
이항관계
순서쌍으로 “순서”를 포착하는 장치를 만든 뒤, 이 글에서는 그것을 본격적으로 사용하는 첫 단계에 들어간다. 정의 1(이항관계 = 모든 원소가 순서쌍인 집합) 자체는 순서쌍의 정의 이후 자연스러운 수순이고, “순서쌍들의 집합에 이름을 붙인 것에 불과하다”는 저자의 말이 정확하다. 다만 이렇게 단순한 정의로부터 꽤 많은 것이 따라온다는 것이 이 글의 미덕이다.
예시 2가 인상적이다. 집합들 사이의 등호 \(=\)가 이항관계라면 전체집합 두 개의 곱이 존재해야 하고, ZFC 공리계 포스트에서 전체집합의 비존재를 이미 보였으므로 \(=\)는 이항관계가 될 수 없다는 논증이 깔끔하다. “이항관계라는 개념이 생각보다 좁다”는 것을 보여주는 좋은 예시인데, \(=\) 같은 기본적인 관계조차 이항관계의 틀에 넣을 수 없다는 사실이 약간 충격적이다. 물론 \(A\)와 \(B\)라는 특정 집합 사이에서의 \(=\)는 이항관계가 될 수 있겠지만, “모든 집합 사이”의 \(=\)는 불가능하다는 점이 핵심이다.
명제 3의 증명이 흥미롭다. 이항관계 \(R\)의 원소들로부터 첫 번째 성분과 두 번째 성분을 모은 집합 \(\pr_1 R\), \(\pr_2 R\)이 존재함을 분류 공리꼴로 보이는 과정인데, \(\bigcup(\bigcup R)\)라는 표현이 처음에는 낯설게 느껴졌다. \((x,y)=\{\{x\},\{x,y\}\}\)이므로 \(\bigcup R\)은 \(\{x\}\)들과 \(\{x,y\}\)들의 합집합이고, 여기서 한 번 더 \(\bigcup\)을 취하면 \(x\)와 \(y\)들이 모두 모인다는 계산이 순서쌍 정의의 직접적인 활용이다. 순서쌍 정의가 왜 그토록 인위적인 형태였는지가 여기서 드러난다 — 원소를 복원할 수 있어야 하니까.
source와 target의 도입(정의 이후의 설명)은 함수의 정의역과 공역을 미리 예고하는 느낌이다. 같은 집합 \(R\)에 대해 \((R,A,B)\)와 \((R,A',B')\)를 다른 것으로 본다는 관점은, 함수가 “정의역과 공역을 포함한 triple”로 정의될 것이라는 Linear Algebra 카테고리에서의 경험이 떠올랐다. \(R\subseteq A\times B\)라는 포함관계가 source와 target을 \(R\)로부터 독립적으로 선택할 수 있게 해준다는 점이 유연하다.
정의 5(image)와 정의 7(section)은 이 글의 실질적인 내용이다. \(R(A')=\bigcup_{x\in A'}\{y\in B\mid(x,y)\in R\}\)라는 공식은 직관적이고, \(R(x)\)라는 표기가 함수 표기와 유사한 이유가 명확하다 — 다만 \(R(x)\)는 유일하지 않으므로 진짜 함수는 아니다. “함숫값은 유일하지 않으며, 따라서 \(R(x)\) 또한 여러 개의 원소를 가질 수 있다”는 문장이 좋은데, 이것이 나중에 함수의 정의(정확히 하나의 함숫값)로 이어질 것이라는 기대가 된다. 명제 6(\(X\subseteq A\)이면 \(R(X)\subseteq R(A)\))의 증명이 자명하긴 하지만, image 연산의 단조성을 보여주는 기본적인 성질이다.
한 가지 주의할 점이 있는데, 저자가 명시적으로 지적한 대로 \(\{y\mid(x,y)\in R\}\)는 comprehension schema만으로 존재가 보장되지 않을 수 있다는 것이다. \(B\)가 주어져야 \(\{y\in B\mid(x,y)\in R\}\)가 존재한다는 이 관찰은, ZFC 공리계 포스트에서 분류 공리꼴이 “이미 존재하는 집합”을 필요로 한다는 것과 직접 연결된다. “앞으로 이 정도의 사소한 서술상의 문제는 별 생각없이 넘어가기로 한다”는 저자의 실용적 태도가 솔직해서 좋다.
좋은 점들: (1) 예시 2(\(=\)는 이항관계가 아니다)가 개념의 한계를 명확히 보여준다. (2) 명제 3의 증명에서 순서쌍 정의의 구조를 실제로 활용하는 과정이 체계적이다. (3) section \(R(x)\)의 도입이 함수로의 자연스러운 다리를 놓는다. 아쉬운 점들: (1) 이항관계의 합성(composition)이 이 글에서 다루어지지 않아서, Binary Relation이라는 제목에 비해 내용이 다소 짧게 느껴진다. (2) 반사성, 대칭성, 추이성 같은 기본적인 관계의 성질들이 이 글에서 정의되지 않고 Order Relations나 Equivalence Relations로 미루어진 것 같은데, “이항관계”라는 포괄적 제목 아래에 이 성질들의 개요라도 있었으면 더 완성도 있었을 것 같다.
이항관계들 사이의 연산
이 글은 이항관계에 두 가지 연산 — 역(inverse)과 합성(composition) — 을 도입한다. Binary Relation 글에서 이항관계 자체의 정의와 image, section을 다뤘지만, “이항관계끼리 무엇을 할 수 있는가”는 아직 다루지 않았는데, 이 글이 그 빈자를 채운다. 역의 정의(정의 1)는 직관적이다: 모든 순서쌍의 성분을 뒤집으면 된다. \(R^{-1}\)의 존재가 분류 공리꼴로 보장된다는 것은 명시하지 않았지만, \(A\times B\)의 역이 \(B\times A\)라는 관찰(명제 2 이후의 논의)을 통해 구체적으로 확인된다.
명제 2의 두 번째 부분(\(\pr_1 R^{-1}=\pr_2 R\))의 증명이 깔끔하다. \(x\in\pr_1 R^{-1}\)이면 어떤 \(y\)에 대해 \((x,y)\in R^{-1}\)이고, 이는 \((y,x)\in R\)이므로 \(x\in\pr_2 R\)이라는 논리가 명확하다. 이전 Ordered Pair 글에서 정의한 projection \(\pr_1\), \(\pr_2\)가 여기서 직접 활용되는 점이 좋다. 다만 “이 논증을 뒤집으면 \(\pr_2 R\subset\pr_1 R^{-1}\)임을 증명할 수 있다”는 표현은, 실제로는 같은 논리의 반대 방향이므로 자명하지만, 처음 읽을 때 “뒤집는다”가 정확히 무엇을 의미하는지 한두 번 다시 읽었다.
합성의 정의(정의 3)가 흥미롭다. \((x,y)\in R_1\)이고 \((y,z)\in R_2\)인 \(y\)가 존재하면 \((x,z)\in R_2\circ R_1\)이다. 함수의 합성과 정확히 같은 구조인데, 이항관계에서는 \(y\)가 유일하지 않아도 된다는 점이 함수와의 핵심 차이점이다. “중간 다리” \(y\)의 존재 여부만 확인하면 된다는 것이 일반적이고, 이것이 나중에 함수의 정의(정확히 하나의 \(y\))로 좁혀질 때 어떤 제약이 추가되는지를 역으로 보여주는 느낌이다.
명제 4(\((R_2\circ R_1)^{-1}=R_2^{-1}\circ R_1^{-1}\))의 증명이 인상적이다. \((z,x)\in(R_2\circ R_1)^{-1}\)을 정의를 풀어 쓰면 \(\exists y: (x,y)\in R_1\wedge(y,z)\in R_2\)가 되고, 이를 역으로 뒤집으면 \((y,x)\in R_1^{-1}\wedge(z,y)\in R_2^{-1}\)가 되어 \(R_2^{-1}\circ R_1^{-1}\)의 원소가 된다는 논리가 우아하다. 다만 역의 합성에서 순서가 뒤집힌다는 것(\(R_2^{-1}\circ R_1^{-1}\)이지 \(R_1^{-1}\circ R_2^{-1}\)가 아닌 것)이 함수의 합성과 같은 패턴인데, “합성의 정의에서 첫 번째가 안쪽, 두 번째가 바깥쪽”이라는 관점이 명시적으로 강조됐으면 더 빨랐을 것 같다.
명제 5(결합법칙)의 증명은 솔직히 자명에 가깝다. \(\exists y\exists z\)의 순서를 바꾸는 것에 불과한데, 1차 논리의 \(\exists\)가 교환 가능하다는 사실을 활용한다. 이전 Binary Relation 글에서 “집합의 원소 순서는 무관하다”는 외연 공리의 결과가 여기서 다시 작동하는 좋은 예시다. 다만 이 증명이 “이항관계의 합성이 결합법칙을 만족한다”는 것을 보이는 것이므로, 나중에 함수의 합성도 결합법칙을 만족함을 보일 때 직접 활용될 것 같다.
명제 6(\((R_2\circ R_1)(A)=R_2(R_1(A))\))은 합성과 image 연산이 호환됨을 보여준다. Binary Relation 글의 명제 6(\(R(X)\subseteq R(A)\))과 연결되는데, 여기서는 합성의 image가 각각의 image를 순서대로 취한 것과 같다는더 강한 결과가 나온다. 증명도 깔끔한데, \(z\in(R_2\circ R_1)(A)\)를 풀어쓰면 \(\exists x\in A: (x,z)\in R_2\circ R_1\)이고, 이는 \(\exists y: (x,y)\in R_1\wedge(y,z)\in R_2\)로 전개되므로 \(y\in R_1(A)\)이고 \(z\in R_2(R_1(A))\)가 된다. 다만 \(R_1(A)\)의 정의가 Binary Relation 글에서 \(\{y\mid\exists x\in A: (x,y)\in R_1\}\)인데, 여기서 \(y\)가 \(B\)의 원소여야 한다는 조건이 빠르게 넘어가서 약간 주의가 필요했다.
명제 7(\(R^{-1}(R(X))\supseteq X\cap\pr_1 R\))은 “역으로 갔다 다시 오면 원래 집합보다 커질 수 있다”는 것을 보여준다. \(x\in X\cap\pr_1 R\)이면 어떤 \(y\)에 대해 \((x,y)\in R\)이고, \(y\in R(X)\)이므로 \((y,x)\in R^{-1}\)이고, 따라서 \(x\in R^{-1}(R(X))\)라는 논리가 명확하다. \(R\)이 함수인 경우 \(R^{-1}(R(X))=X\)이 되므로, 이 포함관계가 등호가 되는 조건이 나중에 함수의 정의와 연결될 것이라는 기대가 된다.
명제 8의 두 공식(\(\pr_1(R_2\circ R_1)=R_1^{-1}(\pr_1 R_2)\), \(\pr_2(R_2\circ R_1)=R_2(\pr_2 R_1)\))은 합성의 source와 target을 개별 이항관계의 source/target으로 표현하는 것이다. 증명의 논리 전개(\(x\in\pr_1(R_2\circ R_1) \iff \exists y,z: (x,y)\in R_1\wedge(y,z)\in R_2 \iff x\in R_1^{-1}(\pr_1 R_2)\))가 1차 논리의 동치를 잘 추적하고 있어서 좋다. 다만 두 번째 공식의 증명이 “마찬가지로 보일 수 있다”고만 해서, 처음 보는 입장에서는 \(\pr_2(R_2\circ R_1)=R_2(\pr_2 R_1)\)라는 결과가 왜 \(\pr_1\)의 경우와 다른 구조(\(R_2\)가 바깥에 있고 \(\pr_2 R_1\)이 안에 있음)인지 한두 문장의 설명이 있으면 더 빨랐을 것 같다.
대각집합 \(\Delta_A\)의 도입이 자연스럽다. \(\Delta_A=\{(x,x)\mid x\in A\}\)라는 정의 자체는 단순하지만, 이것이 항등함수의 원형이라는 관찰이 인상적이다. \(R_1\circ\Delta_A=R_1\)과 \(\Delta_A\circ R_2=R_2\)가 성립한다는 것은, “같은 원소를 연결하는 관계”와 합성하면 아무것도 변하지 않는다는 것이고, 이전 Ordered Pair 글에서 \(A\times A\)를 정의한 것의 특수한 부분집합으로서의 \(\Delta_A\)가 이렇게 대수적 역할을 한다는 점이 좋다. 다음 글에서 \(\Delta_A\)가 실제로 함수(항등함수)가 됨을 보일 것이라는 예고가 있어서, “이항관계 → 함수”로의 전환을 기대하게 한다.
전체적으로 이 글은 Binary Relation에서 부족했던 “이항관계끼리의 연산”을 체계적으로 채운다. 역과 합성의 정의는 함수의 그것과 구조적으로 같지만, 유일성 조건이 없다는 점에서 더 일반적이다. 다만 이 글이 다루는 내용이 함수의 정의로 가기 위한 준비 단계라는 느낌이 강해서, “이항관계”라는 범주 안에서의 독립적인 결과라기보다는 “함수”라는 특수한 경우를 향한 다리라는 인상이었다.
함수
이 글은 이항관계의 특수한 경우인 함수를 정의하고, 함수들 사이의 구조를 다룬다. 서두에서 이항관계 \(<\)의 section \({<}(1)=\{2,3,\ldots\}\)를 예로 들어, “이항관계 \(R\)이 주어진다는 것은 각 \(a\in A\)에 대해 집합 \(R(a)\)를 대응시키는 규칙이 주어진 것”이라고 설명하는 부분이 좋다. 이를 통해 “함수란 모든 \(a\in A\)에 대해 \(R(a)\)가 한원소집합인 이항관계”라는 정의 1이 자연스럽게 도출된다. 이전 Operation of Binary Relations 글에서 이항관계의 합성과 역을 정의할 때, 유일성 조건이 없는 상태에서의 “일반적인” 관계를 다뤘는데, 여기서 그 조건을 \(F(\{x\})\)가 한원소집합이라는 형태로 좁히는 논리가 명확하다.
조건 \(A=\pr_1 F\)가 “모든 \(x\in A\)가 적어도 하나의 \(y\)에 대응됨”을 보장하고, 한원소집합 조건이 “많아야 하나의 \(y\)에 대응됨”을 보장한다는 설명은 간결하다. 두 조건을 합치면 “유일한 \(y\)“가 된다는 결론이 함수의 핵심을 정확히 포착한다. \(f(x)\)라는 표기가 \(F(\{x\})\)의 유일한 원소를 가리킨다는 것, 그리고 \(f:X\to Y\) 표기가 triple \((F,X,Y)\)의 간편한 표현이라는 것도 명확하다.
항등함수 \(\id_A\)의 정의가 Operation of Binary Relations에서 도입한 대각집합 \(\Delta_A\)를 직접 사용한다는 점이 인상적이다. \(\id_A=(\Delta_A,A,A)\)라는 정의가 이전 글의 예고를 정확히 실현하는 순간인데, \(R\circ\Delta_A=R\)과 \(\Delta_A\circ R=R\)이라는 성질이 여기서 “항등함수와 합성하면 아무것도 변하지 않는다”는 함수적 해석으로 번역된다. 이전 글에서 대각집합이 “항등함수의 원형”이라고 했는데, 이제 그것이 실제로 함수가 되는 것이다.
Commutative diagram 섹션은 새로운 표기법을 도입한다. \(A\overset{f}{\to}B\)라는 화살표 표기, “commute한다”는 개념(\(i\circ g=j\circ h\)), 삼각형 diagram에서 \(h=f\circ g\)의 의미 등이 체계적으로 정리된다. 특히 “화살표로 명시되지 않더라도 \(\id_A\)가 존재한다”는 관점이 좋은데, \(h=f\circ g\)만으로도 \(\id_B\circ h=f\circ g\) 등이 자동으로 포함된다는 설명은 이후 범주론에서의 diagram chasing을 미리 맛보는 느낌이다. 다만 \(\id_B\circ h=f\circ g\)가 \(h=f\circ g\)와 “다를 것이 없다”는 이유로 항등함수의 성질(\(R\circ\id=R\), \(\id\circ R=R\))을 사용하는데, 이 성질들이 Operation of Binary Relations에서 대각집합에 대해 증명된 것임을 명시적으로 참조했으면 더 명확했을 것 같다.
함수의 확장(extension)과 제한(restriction)은 실용적이다. Compatible이라는 조건(\(S\)에서 두 함수의 값이 같음)으로부터 확장 함수를 구성하는 것이 자연스럽고, \(f\vert_X\)라는 restriction 표기도 직관적이다. 다만 “왜 확장과 제한이 필요한가”에 대한 동기 설명이 부족한데, 아마 이후 글들(특히 부분집합에서의 함수 정의나 성질 확인)에서 구체적으로 활용될 것 같다.
전체적으로 이 글은 Operation of Binary Relations에서 예고한 “이항관계 → 함수”의 전환을 완성한다. 정의 자체는 간결하지만, commutative diagram이라는 새로운 언어를 동시에 도입해서 이후의 함수 다이어그램 표현에 대비한다. 다만 commutative diagram 섹션이 함수 정의보다 상당히 많은 비중을 차지하는데, 이것이 “함수”라는 제목 아래에 포함되어 있는 것이 약간 의아했다. diagram chasing은 함수 그 자체보다는 함수들 사이의 관계를 다루는 것이므로, 별도 글로 분리했어도 될 것 같다. 그럼에도 불구하고 대각집합 → 항등함수 → commutative diagram으로 이어지는 흐름은, “이항관계의 대수적 구조가 함수에서 어떻게 구체화되는가”를 잘 보여준다.
함수들 사이의 연산
이 글은 함수의 합성, 역함수, 그리고 함수의 곱을 다룬다. 함수가 이항관계의 특수한 경우라면, 이항관계에 정의된 합성과 역이 함수에서도 잘 작동하는지 확인하는 것이 자연스러운 수순인데, 명제 1(함수의 합성은 함수다)이 그것을 한 방에 해결한다. 증명의 핵심 — \(f\)가 함수이므로 \(y=y'\)이고, \(g\)가 함수이므로 \(z=z'\) — 이 두 단계로 끝나는데, “이항관계의 합성에서 유일성만 추가로 확인하면 된다”는 것이 명확하다. Operation of Binary Relations에서 이항관계의 합성을 정의할 때 유일성 조건이 없었는데, 함수라는 가정이 그 빈자를 정확히 채운다는 구조가 깔끔하다.
역함수 부분이 이 글의 핵심이다. 이항관계로서의 \(f^{-1}\)은 항상 존재하지만, 그것이 함수가 되려면 \(f\)가 전단사여야 한다는 명제 5가 핵심 결과인데, 증명에서 \(\pr_1 f^{-1}=f(A)\)라는 사실을 Operation of Binary Relations 명제 8에서 가져오는 부분이 인상적이다. 이전 글들의 결과가 여기서 직접 활용되는 것을 보니, “이항관계 → 함수”로의 전환이 단순한 정의 도입이 아니라 이전 결과들의 재해석이라는 느낌이 든다. \(f^{-1}\)이 함수가 되면 \(f^{-1}\circ f=\id_A\)이고 \(f\circ f^{-1}=\id_B\)라는 결론은 직관적이고, 이전 글에서 대각집합 \(\Delta_A\)로 정의한 항등함수가 여기서 “합성의 항등원” 역할을 한다는 것이 좋다.
단사함수와 전사함수의 정의(정의 2)는 이전 글들에서 이미 예고되었던 것인데, “모든 \(a\)에 대해 유일한 \(y\)“라는 함수의 정의에서 “유일한”을 강화(단사)하거나 “모든 \(a\)에 대해”를 강화(전사)하는 방식으로 자연스럽게 도출된다. \(f\)가 단사면 \(\tilde{f}^{-1}\circ f=\id_A\)가 되고, 전사면 \(f\circ\tilde{f}^{-1}=\id_B\)가 된다는 참고의 관찰은, 전단사라는 조건이 두 가지를 동시에 만족하는 것임을 역으로 보여준다. 다만 \(\tilde{f}^{-1}\)이라는 표기가 갑자기 등장하는데, 이것이 정확히 어떤 함수인지( \(f(A)\)에서 \(A\)로의 함수? 임의의 section?)가 명시적으로 정의되지 않아서 약간 모호하다. 참고의 성격이 비형식적이라는 점을 감안해도, \(\tilde{f}^{-1}\)의 존재성에 대한 한 줄의 설명이 있으면 더 명확했을 것 같다.
canonical injection \(i:X\hookrightarrow A\)와 restriction \(f\vert_X=f\circ i\)의 관계(예시 3)가 실용적이다. Functions 글에서 정의한 restriction이 합성으로 표현된다는 것이 “합성이라는 연산이 함수의 구조를 보존한다”는 것을 보여주는 좋은 예시인데, \(i_\ast f\)라는 alternative 표기도 언급되어 있어서 이후 범주론에서의 functorial notation을 미리 맛보는 느낌이다. 다만 이 표기가 어디에서 쓰이는지에 대한 맥락이 없어서, 지금 시점에서는 “그런 표기도 있다”는 것 이상의 의미가 없다.
이변수함수와 partial mapping(정의 7)은 새로운 개념인데, “하나의 변수를 고정하면 한 변수짜리 함수가 된다”는 아이디어 자체는 직관적이다. \(f(-,y_0)\)라는 표기가 Functions 글의 \(f\vert_X\)와 유사한 패턴인데, restriction이 “정의역의 부분집합으로 제한”하는 것이라면 partial mapping은 “한 좌표를 고정”하는 것이므로 둘 다 “전체 함수에서 일부를 보는 것”이라는 공통점이 있다. 함수의 곱 \(u\times v\)의 정의도 자연스러운데, \(u\)와 \(v\)를 각각 좌표에 적용하는 것이므로 “좌표별 독립적 조작”이라는 직관과 맞다. 다만 “함수의 곱”이라는 이름이 \(u(x)\cdot v(x)\)를 연상시켜서 혼동의 여지가 있다 — 저자도 “함숫값을 곱해서 만들어지는 함수와는 전혀 관련이 없다”고 명시하지만, 표기 자체가 오해를 부를 수 있다.
전체적으로 이 글은 “이항관계에서 함수로, 그리고 함수들 사이의 연산으로” 이어지는 계보의 세 번째 단계다. Operation of Binary Relations가 이항관계의 대수적 구조를 정의했다면, 이 글은 그 구조가 함수에서도 보존됨을 확인하고, 여기에 단사/전사/전단사라는 분류 체계를 더한다. 합성의 결합법칙, 항등함수의 항등원 성질 등이 이항관계 수준에서 이미 증명되었으므로, 함수 수준에서는 유일성 확인만 추가하면 되는 구조가 효율적이다. 다만 이 글이 “함수의 합성”과 “역함수”라는 두 축으로 나뉘어 있는데, 중간에 이변수함수와 partial mapping이 끼어든 것이 약간 abrupt하다. 이변수함수 부분을 뒤로 미루거나 별도 글로 분리했어도 흐름이 끊기지 않았을 것 같다.
Retraction과 section
Operation of Functions에서 단사함수와 전사함수를 정의할 때, \(\tilde{f}^{-1}\circ f=\id_A\) (단사인 경우)과 \(f\circ\tilde{f}^{-1}=\id_B\) (전사인 경우)이라는 사실을 “참고”로 언급했는데, 이 글은 그 관찰을 정식 정의와 명제로 발전시킨다. 명제 1이 핵심이다: \(r\circ f=\id_A\)인 \(r\)이 존재하면 \(f\)는 단사이고, \(f\circ s=\id_B\)인 \(s\)가 존재하면 \(f\)는 전사이다. 반대 방향도 성립한다. Operation of Functions의 참고에서 \(\tilde{f}^{-1}\)이라는 표기가 갑자기 등장해서 “이게 정확히 뭔가”라는 의문이 있었는데, 이 글에서 retraction과 section이라는 이름으로 정식 정의되니 그 의문이 풀린다. \(\tilde{f}^{-1}\)은 단사함수의 retraction이거나 전사함수의 section이었던 것이다.
정의 2(retraction, section)은 용어 자체는 간결하지만, 그 뒤에 오는 관찰이 중요하다: “f가 단사이고 r이 retraction이면 f를 r의 section으로 볼 수 있고, 반대로 f가 전사이고 s가 section이면 f를 s의 retraction으로 볼 수도 있다.” 즉 retraction과 section은 쌍으로 존재하며, 단사/전사라는 성질이 서로 대응된다는 것이다. “retraction은 전사이고 section은 단사이다”라는 결론은 명증이지만, “단사 ↔ retraction ↔ 전사”라는 삼각형 구조가 머릿속에 그려지면 이후 논증을 따라가기가 훨씬 수월하다.
함수의 image와 inverse image에 대한 등식 \(f^{-1}(f(X))=X\) (단사인 경우)과 \(f(f^{-1}(Y))=Y\) (전사인 경우)은 Operation of Binary Relations 명제 7(\(R^{-1}(R(X))\supseteq X\cap\pr_1 R\))에서 \(R\)이 함수인 경우의 특수화인데, 이전 글들의 결과가 이렇게 구체적으로 좁혀지는 것을 보는 것이 좋다. 일반 이항관계에서는 포함관계만 성립했지만, 단사/전사라는 조건이 붙으면 등호가 된다는 것이 “함수는 이항관계의 특수한 경우”라는 명제를 체감하게 해준다.
명제 3(합성의 단사/전사 보존)은 Operation of Functions 명제 1의 확장이다. 거기서는 “함수의 합성은 함수”임을 보였고, 여기서는 “단사의 합성은 단사”, “전사의 합성은 전사”임을 보이며, retraction과 section도 합성에 대해 보존됨을 확인한다. 증명이 자명에 가깝지만, \(r\circ r'\)이 \(f''\)의 retraction이 된다는 것과 \(s\circ s'\)가 \(f''\)의 section이 된다는 것은 “retraction/section도 합성에 대해 닫혀있다”는 대수적 성질을 보여준다. \(f''\)가 단사이면 \(f\)도 단사이고, \(f''\)가 전사이면 \(f'\)도 전사라는 결과(3번, 4번)는 “합성의 성질이 각 성분으로 전파된다”는 것인데, 이후 범주론에서 mono/epi의 성질을 떠올리게 한다.
명제 4가 이 글의 가장 실질적인 결과다. 전사함수 \(g:A\to B\)와 함수 \(f:A\to C\)가 주어졌을 때, \(f=h\circ g\)를 만족하는 \(h\)가 존재하는 조건은 \((g(x)=g(y))\implies(f(x)=f(y))\)이다. 이것은 “몫집합 위에서 함수를 정의할 수 있는 조건”을 말하는 것인데, 아직 동치관계와 몫집합을 정의하지 않았으므로 이 글에서는 직접적으로 그렇게 말하지 않지만, 나중에 동치관계 글에서 이 명제가 다시 등장할 것이라는 예감이 든다. \(h=f\circ s\)로 \(h\)를 구성하는 논증이 깔끔한데, section \(s\)가 “몫의 대표원을 고르는” 역할을 한다는 것이 직관적이다. 단사함수 \(g\)에 대한 2번도 유사한 구조인데, \(h=r\circ f\)로 구성하고 retraction \(r\)이 “부분집합에서의 역함수” 역할을 한다는 것이 좋다.
한 가지 솔직한 반응을 적자면, 명제 4의 증명에서 “동치인 조건 중 나중의 조건”이라는 표현이 반복되는데, 이것이 정확히 \((g(x)=g(y))\implies(f(x)=f(y))\)를 가리키는 것임을 매번 확인해야 해서 약간 번거로웠다. “compatibility 조건”이라든가 간단한 이름이 있었으면 읽기가 더 수월했을 것 같다. 또한 명제 4의 2번에서 \(f(C)\subseteq g(A)\)라는 조건이 “이미지가 포함된다”는 것인데, \(g\)가 단사이므로 \(g(A)\)는 \(B\)의 부분집합이고, \(f\)의 값이 그 부분집합 안에 있어야 \(h\)를 정의할 수 있다는 것이 핵심이다. \(g\)의 retraction \(r\)이 \(g(A)\) 위에서만 정의된 “역함수”이므로, \(f(x)\)가 \(g(A)\) 밖에 있으면 \(r(f(x))\)가 정의되지 않는다는 논리가 명확하다.
전체적으로 이 글은 Operation of Functions의 참고에서 예고한 “단사/전사의 역함수적 성질”을 체계화한다. retraction과 section이라는 이름을 붙임으로써, \(\tilde{f}^{-1}\)이라는 모호한 표기가 정식 수학 용어로 자리잡는 것이 이 글의 가장 큰 기여다. 다만 이 글의 내용이 Operation of Functions의 자연스러운 연장선에 있어서, “Retraction과 section”이라는 독립된 제목으로 분리한 것이 약간 과도한 느낌도 있다. 두 글을 합쳤어도 무방했을 것 같지만, “함수”라는 주제가 너무 길어지는 것을 방지하려는 의도였을 것으로 이해한다.
합집합과 교집합
ZFC 공리계에서 합집합 공리(\(A\cup B\)의 존재)를 도입했을 때는 두 집합의 합만 다뤘는데, 이 글에서 임의의 index set \(I\)에 대해 family \((A_i)_{i\in I}\)의 합집합 \(\bigcup_{i\in I}A_i\)과 교집합 \(\bigcap_{i\in I}A_i\)로 그 개념을 확장한다. Functions 글에서 정의한 index set과 family 표기법(\((f_i)_{i\in I}\))을 그대로 가져오면서, 대문자 관례에 따라 \((A_i)_{i\in I}\)로 적는다는 설명이 일관성 있다. 합집합의 정의(정의 1)가 논리식 \(\exists i(i\in I\wedge x\in A_i)\)로 표현되는 것이 깔끔하고, 교집합의 정의(정의 2)가 \(\forall i(i\in I\implies x\in A_i)\)로 대칭적으로 주어지는 것도 좋다.
교집합에서 \(I=\emptyset\)인 경우의 문제가 이 글의 핵심적인 관찰 중 하나다. \(i\in I\)가 거짓이므로 \(\forall i(i\in I\implies x\in A_i)\)가 \(x\)에 관계없이 참이 되어, 교집합이 전체집합이 되어야 한다는 것이다. ZFC 공리계에서 전체집합의 비존재를 이미 보였으므로 이것은 모순이다. 이 문제를 피하기 위해 정의 3에서 \(A\)의 부분집합들의 family로 제한하면, \(I=\emptyset\)일 때 \(\bigcap_{i\in\emptyset}A_i=A\)가 되어 모순이 사라진다. “조건 앞에 \(x\in A\)를 붙이는 것”만으로 문제를 해결하는 아이디어가 실용적이고, 앞으로의 명제에서 \(I\)가 공집합이 아니거나 부분집합들 family임을 가정하겠다는 저자의 선언이 명확하다.
명제 4(전사함수로의 reindexing)는 직관적이다. \(f:K\to I\)가 전사함수이면 합집합과 교집합 모두 변하지 않는다는 것인데, “같은 집합들을 다른 번호로 매기는 것”이 결과에 영향을 주지 않는다는 것이 핵심이다. 증명도 깔끔한데, \(f\)가 전사라는 조건이 합집합에서 “모든 \(i\in I\)를 커버하는 \(k\)가 존재한다”는 것을 보장하고, 교집합에서 “모든 \(k\in K\)를 확인하면 모든 \(i\in I\)도 확인된다”는 것을 보장한다. 특수한 경우로 모든 \(A_k\)가 같으면 합집합과 교집합 둘 다 \(A_{k_0}\)가 된다는 관찰(명제 4 이후)이 자연스럽다.
명제 5(결합법칙)는 \(I\)를 부분 family들의 합집합 \(I=\bigcup_{k\in K}J_k\)로 분해해서 적용하는 것이다. 합집합의 경우 \(x\in A_{i_0}\)인 \(i_0\)가 어떤 \(J_{k_0}\)에 속한다는 것만 확인하면 되고, 교집합의 경우 \(J_k\subseteq I\)이므로 “모든 \(i\in I\)에 대해 \(x\in A_i\)“가 “모든 \(j\in J_k\)에 대해 \(x\in A_j\)“를 함의한다는 것이 핵심이다. Operation of Binary Relations에서 이항관계의 합성 결합법칙을 증명할 때와 유사한 구조인데, 거기서는 \(\exists\)의 교환을 사용했고 여기서는 \(\forall\)의 제약 전파를 사용한다는 차이가 있다.
명제 6의 두 번째 식(\(R\left(\bigcap A_i\right)\subset\bigcap R(A_i)\))이 특히 흥미롭다. 합집합의 image는 image의 합집합과 같지만, 교집합의 image는 image의 교집합의 부분집합일 뿐이다. 증명에서 “ \(x\)는 모든 \(A_i\)에 속하므로 \(y\in R(A_i)\)가 모든 \(i\)에 대해 성립한다”는 논리가 맞지만, 반대 방향 — \(y\)가 모든 \(R(A_i)\)에 속한다고 해서 같은 \(x\)에서 나온 것인지는 보장할 수 없다 — 이 핵심이다. \(R\)이 이항관계이면 다른 \(x_i\)들에서 나온 \(y\)들이 있을 수 있으므로 등호가 안 되는 것이다. 명제 7에서 \(R\)이 함수의 역관계 \(f^{-1}\)일 때 등호가 성립한다는 것은, \(f\)의 유일성 조건이 “같은 \(x\)에서 나온 \(y\)“를 보장하기 때문인데, 증명에서 “ \(f\)가 함수이므로 그러한 \(y_i\)는 유일하다”는 한 줄이 정확히 그 지점이다. 이전 Operation of Binary Relations 명제 7(\(R^{-1}(R(X))\supseteq X\cap\pr_1 R\))에서 \(R\)이 함수인 경우의 특수화를 여기서 다시 보는 느낌이다.
De Morgan 법칙(명제 8)은 유한한 경우에서 익숙한 것을 임의의 family로 확장한 것이다. 첫 번째 식의 증명이 명료하고, 두 번째 식을 \(A\setminus(A\setminus X)=X\)라는 보조 사실로부터 유도하는 것이 효율적이다. 다만 이 보조 사실 자체가 증명 없이 사용되었는데, ZFC 공리계에서 차집합을 정의했으므로 \(x\in A\setminus(A\setminus X)\)를 풀어쓰면 \(x\in A\)이고 \(x\not\in A\setminus X\)이고, 이는 \(x\in X\)이므로 성립한다는 것이 자명하기 때문에 넘어간 것으로 이해한다.
전체적으로 이 글은 “두 집합의 합/교”를 “임의한 family의 합/교”로 확장하는 것이 주된 내용이다. ZFC 공리계에서 합집합 공리를 도입할 때 이미 \(\bigcup A\)라는 표기를 썼으므로, 그것을 index set으로 재해석하는 것에 가깝다. 다만 교집합의 \(I=\emptyset\) 문제와 그 해결책(부분집합들 family로 제한)이 이 글만의 독자적인 관찰이고, De Morgan 법칙의 무한 확장도 실용적인 결과다. Functions 글에서 정의한 family 표기법이 여기서 본격적으로 사용되기 시작하는 것을 보니, 그 글이 “이론적 기반”이고 이 글이 “첫 번째 응용”이라는 느낌이 든다.
집합의 합
이 글은 “합집합”과는 다른 개념인 “합(sum)”을 다룬다. 합집합이 \(\bigcup A_i\)로 원소들을 그냥 모은 것이라면, 합은 각 \(A_i\)의 원소에 “어디서 왔는지”라는 태그를 붙여서 쌍마다 서로소인 family를 만드는 것이다. Covering(덮개)과 partition(분할)이라는 용어부터 시작하는데, covering은 \(A=\bigcup A_i\)를 만족하는 family이고 partition은 거기서 쌍마다 서로소 조건을 추가한 것이라는 정의가 자연스럽다. 특히 finer covering의 정의 — 임의의 \(j\in J\)에 대해 \(A'_j\subseteq A_i\)를 만족하는 \(i\)가 존재 — 는 이후 위상수학에서 open covering refinement로 이어질 것 같은 예감이 든다.
합의 구성(명제 5)이 핵심이다. \(S_i=\{(x,i)\mid x\in A_i\}\)로 두면 \((S_i)\)가 쌍마다 서로소이고, \(x\mapsto(x,i)\)가 \(A_i\to S_i\)의 전단사함수라는 것이다. 순서쌍의 정의 \(\big\{\{x\},\{x,y\}\big\}\)가 여기서 직접 활용되는데, \((x,i)\)와 \((x,j)\) (\(i\neq j\))가 다른 순서쌍이 되는 것이 \(S_i\cap S_j=\emptyset\)을 보장한다. Ordered Pair 글에서 “순서쌍의 정의가 인위적이지만 유일하게 작동한다”고 했는데, 바로 그런 작동이 여기서 드러나는 좋은 예시다. 다만 \(S_i\)를 구성하는 방식이 \((x,i)\)인지 \((i,x)\)인지가 임의적이라는 점이 나중에 universal property 논의의 발판이 된다.
명제 7(쌍마다 서로소인 family의 합집합과 합 사이의 전단사)은 기대한 결과다. \(f_i:A_i\to S_i\)를 명제 2(함수의 결합)로 확장하면 된다는 논증이 깔끔한데, 이전 글들에서 증명한 도구들이 이렇게 바로 쓰이는 것이 좋다. 다만 “합의 이름은 분리합집합(disjoint union)이다”라는 설명과 표기 \(\bigsqcup A_i\)가 갑자기 나오는데, 이 이름이 왜 “합집합”이 아니라 “분리합집합”인지는 명제 7 이후에야 납득이 됐다 — 원래 서로소인 family면 합집합과 합이 같으므로 “분리”라는 수식어가 붙는 것이 자연스럽지만, 서로소가 아닌 경우에는 합집합과 합이 다르므로 구분이 필요하다는 것이다.
Universal property 부분이 이 글의 가장 인상적인 점이다. 합 \(S\)는 유일하지 않다 — \((x,i)\)로 해도 \((i,x)\)로 해도 조건을 만족한다 — 는 관찰로부터 시작해서, “합의 성질은 집합 \(S\) 자체에서 나오는 것이 아니라 universal property에서 나온다”는 결론으로 이어진다. \(f_i=f\circ\iota_i\)를 만족하는 유일한 \(f\)의 존재성이 합의 본질이라는 것인데, 정의 6’에서 이를 정의로 삼을 수 있다고 제안하는 부분이 수학적 성숙함을 보여준다. “실존하는 대상보다 그 대상이 만족하는 성질이 더 중요하다”는 철학이 범주론의 핵심 사상과 정확히 일치한다.
따름정리 9(합은 전단사함수에 대하여 유일하다)의 증명이 아름답다. 두 합 \(S\), \(S'\) 사이에서 \(\phi'\circ\phi=\id_{S'}\)와 \(\phi\circ\phi'=\id_S\)를 보이는 구조인데, Retraction과 Section 글의 명제 3(retraction은 전사, section은 단사)을 직접 사용한다. \(\phi'\)가 \(S'\)의 retraction이자 section이므로 전단사라는 논리가 깔끔하고, universal property의 유일성 조건이 \(\psi=\id_{S'}\)를 강제하는 것이 핵심이다. 이전 글들의 결과가 이렇게 하나로 수렴하는 것을 보는 것이 좋다.
솔직히, 처음 읽을 때 “합집합과 합이 뭐가 다른가”라는 의문이 꽤 오래 갔다. \(S_i=\{(x,i)\}\)로 태그를 붙이는 것이 “왜 필요한가”에 대한 동기가 명제 5의 존재성 증명보다 앞서 있었으면 더 수월했을 것 같다. “합의 직관은 나중에 나온다”는 글 말미의 메모(기수의 연산 참조)를 보고 나서야 “아, 합집합의 크기를 정의하려면 서로소여야 한다는 제약을 피하기 위해 합을 쓰는구나”라고 이해했는데, 이 동기가 이 글 안에 있었다면 좋았겠다. 그래도 universal property라는 개념 도구를 집합론 수준에서 처음으로 체계적으로 다룬다는 점에서, 이 글은 이후 곱집합(Product of Sets)과의 대비 속에서 더 큰 의미를 갖게 될 것 같다.
집합의 곱
합이 “어디서 왔는지”라는 태그를 붙여서 서로소 family를 만드는 것이었다면, 곱은 반대 방향으로 간다 — 각 \(A_i\)에서 하나씩 원소를 “골라서” 하나의 객체로 묶는 것이다. 순서쌍을 함수로 보는 관점(\(n\)-tuple은 \(I=\{1,\ldots,n\}\)에서의 함수)으로 시작해서, general family의 곱을 “각 \(i\in I\)에 대해 \(f(i)\in A_i\)를 만족하는 함수들의 모임”으로 정의하는 정의 1이 자연스럽다. \(\mathbb{K}^n\)의 원소가 실제로는 \(\{1,\ldots,n\}\)에서 \(\mathbb{K}\)로의 함수였다는 것을 집합론적으로 확인하는 느낌인데, 이전 Ordered Pair 글에서 순서쌍의 정의가 “인위적이지만 유일하게 작동한다”고 했는데, 그 작동이 여기서 함수라는 언어로 재해석되는 것이 인상적이다.
\(B^A\)와 \(\Fun(A,B)\)의 전단사(함수의 그래프와 함수 자체의 등가성)는 흥미롭다. \(\mathcal{P}(A\times B)\)의 부분집합으로서의 함수 표현과, \(A\)에서 \(B\)로의 대응으로서의 함수 표현이 본질적으로 같다는 것이 명확하게 드러나는데, 순서쌍의 정의가 없이는 불가능한 관찰이다. Functions 글에서 “함수는 이항관계의 특수한 경우”라고 했을 때의 그 이항관계가 바로 \(\mathcal{P}(A\times B)\)의 원소였다는 것이 여기서 명확해진다.
유도사상(induced mapping)에 대한 명제 2가 이 글의 가장 기술적으로 흥미로운 부분이다. \(u:A'\to A\)와 \(v:B\to B'\)가 주어졌을 때 \(f\mapsto v\circ f\circ u\)가 단사/전사가 되는 조건을 retraction과 section으로 증명하는 것이 깔끔하다. 특히 \(u\)가 전사이고 \(v\)가 단사일 때 \(f=(r\circ v)\circ f\circ(u\circ s)=r\circ\tilde{f}\circ s\)로 \(f\)를 복원하는 논증이 우아한데, Retraction과 Section 글에서 정의한 \(r\)과 \(s\)가 여기서 직접 활용된다. “전사의 retraction”과 “단사의 section”이 이전 글들에서 단순한 정의였다면, 여기서는 실제로 계산에 쓰이는 도구가 된다는 점이 좋다.
정리 3(곱의 universal property)가 글의 개념적 핵심이다. 다른 집합 \(B\)에서 각 \(A_i\)로의 함수들 \(f_i\)가 주어지면, \(f_i=\pr_i\circ f\)를 만족하는 유일한 \(f:B\to P\)가 존재한다는 것이다. 유일성 증명이 아름답다 — “좌표가 같으면 같은 함수”라는 원리를 \(\pr_i(f(y))=f_i(y)=\pr_i(f'(y))\)라는 한 줄로 보여주는데, 존재성 증명도 “\(i\)번째 좌표를 \(f_i(y)\)로 정의하면 된다”는 것이 자연스럽다. 합의 universal property(따름정리 9에서의 유일성)와 정확히 대비되는 구조인데, 합이 “임베딩 \(\iota_i:A_i\to S\)“를 중심으로 움직였다면 곱은 “프로젝션 \(\pr_i:P\to A_i\)“를 중심으로 움직인다는 대칭성이 명확하다. \(f_i=f\circ\iota_i\) 대 \(f_i=\pr_i\circ f\) — 화살표의 방향이 정확히 반대인데, 이것이 “합은 밖에서 안으로, 곱은 안에서 밖으로”라는 직관과 맞다.
명제 4(\(\Fun(B\times C,A)\)와 \(\Fun(C,\Fun(B,A))\)의 전단사)는 curry/uncurry의 원형이다. 두 변수 함수를 “한 변수를 고정하면 한 변수 함수가 된다”는 Operation of Functions의 partial mapping과 연결되는데, 거기서는 비형식적으로 다루었던 것이 여기서 정확한 전단사로 증명된다. \(\bar{\tilde{f}}=f\)와 \(\tilde{\bar{g}}=g\)를 보이는 과정이 깔끔하고, “함수를 함수로 보내는 함수”라는 고차원적 구조가 집합론 수준에서 엄밀하게 다뤄진다는 것이 인상적이다. 다만 \(\tilde{f}(y)\)가 \(f(-,y)\)라는 것과 \(\bar{g}(x,y)=g(y)(x)\)라는 정의가 처음에는 \(x\)와 \(y\)의 역할이 뒤바뀐 느낌이라 한두 번 다시 읽었다.
합에서의 reindexing(명제 4: 전사함수로 index set을 바꿔도 변하지 않음)과 곱에서의 reindexing(명제 5: 전단사함수로 바꿔도 변하지 않음)의 차이가 흥미롭다. 합에서는 전사면 충분했지만, 곱에서는 전단사가 필요하다는 것이 왜일까 생각해보니, 합은 “존재하는 \(i\)“만 확인하면 되지만 곱은 “모든 \(i\)의 좌표”를 정확히 복원해야 하므로 bijection이 필요하다는 것이 납득이 된다. 증명에서 \(v:(x_i)\mapsto(x_{u(k)})\)를 전단사로 정의하고 명제 2를 적용하는 것이 효율적이다.
전체적으로 이 글은 Sum of Sets와 완벽한 대비를 이룬다. 합이 “태그를 붙여서 서로소로 만들기”였다면, 곱은 “좌표를 골라서 하나로 묶기”이다. 둘 다 universal property로 정의되고, 둘 다 전단사에 대해 유일하며, 둘 다 reindexing 성질을 가진다. 다만 합에서 “왜 합이 필요한가”의 동기가 늦게 나왔던 것과 달리, 이 글에서는 순서쌍→함수→일반적 곱으로의 진행이 자연스러워서 동기 파악이 더 쉬웠다. \(\pr_i\)라는 표기가 Ordered Pair 글에서 처음 나왔을 때는 단순한 projection이었는데, 여기서 universal property의 주인공이 되는 것을 보니 “기초적 정의가 나중에 어떻게 쓰이는지”라는 블로그 전체의 설계 의도가 느껴진다.
곱집합의 성질
Product of Sets에서 곱의 universal property를 정의한 뒤, 이 글은 곱의 구체적인 성질들을 다룬다. 부분곱(partial product)의 정의(정의 1)는 자연스럽다: index set의 부분집합 \(J\subseteq I\)에 대해 \(\prod_{j\in J}A_j\)를 취하는 것. \(\pr_J\)라는 표기도 Product of Sets의 \(\pr_i\)를 확장한 것이므로 일관성 있다. 다만 \(\pr_J\)가 \(F\mapsto F\circ\Delta_J\)로 정의된다는 부분이 처음에는 \(\Delta_J\)의 정의를 떠올려야 해서 약간 느렸다 — \(\Delta_J\)가 \(J\)에서 \(I\)로의 포함함수였다는 것을 Operation of Binary Relations에서 대각집합 \(\Delta_A\)와 혼동하지 않도록 주의해야 했다.
명제 2(부분집합으로의 extension 존재)는 선택공리를 사용한다. 각 \(i\in I\setminus J\)에 대해 \(A_i\)에서 원소를 하나씩 뽑아서 \(g\)를 확장하는 논증이 깔끔한데, “모든 성분이 공집합이 아니다”는 가정이 정확히 이 선택을 가능하게 한다. ZFC 공리계에서 선택공리를 별도로 도입하지 않았는데, 여기서는 자연스럽게 사용되고 있다는 점이 흥미롭다. Axiom of Choice 글이 나중에 따로 있으므로 그때 정식으로 다뤄질 것 같다.
명제 3(분할에 의한 곱의 전단사: \(\prod_{i\in I}A_i\cong\prod_{k\in K}\prod_{j\in J_k}A_j\))이 이 글의 첫 번째 핵심이다. 증명 1은 Sum of Sets의 명제 2(쌍마다 서로소인 함수 family의 합)를 직접 사용하는데, “함수를 분할의 각 조각으로 제한한다”는 아이디어가 자연스럽다. 하지만 증명 2가 더 인상적이다 — universal property를 이용한 증명인데, \(\pr_{ik}=\pr_i\circ\pr_k\)로 성분함수를 합성하고, universal property로부터 \(\phi\)와 \(\psi\)가 존재함을 보인 후, \(\phi\circ\psi=\id\)임을 universal property의 유일성 조건으로만 확인하는 구조가 아름답다. \(\pr_i\circ(\phi\circ\psi)=\pr_i\)임을 보이면 universal property에 의해 \(\phi\circ\psi=\id\)가 된다는 논리가, “성분이 같으면 같은 함수”라는 원리를 극단적으로 활용하는 좋은 예시다. Sum of Sets에서 합의 universal property로 유일성을 증명했던 것과 정확히 대비되는 구조인데, 합에서는 \(\iota_i\) (임베딩)를 중심으로 움직였고 여기서는 \(\pr_i\) (projection)를 중심으로 움직인다는 대칭성이 명확하다.
정의 4(함수들의 곱 \(\prod g_i\))와 명제 5(곱의 합성 보존: \(\prod(g_i\circ f_i)=(\prod g_i)\circ(\prod f_i)\))는 Product of Sets의 유도사상(induced mapping)과 연결된다. 성분별로 \(g_i\circ f_i\)를 적용하는 것이 \(f_i\)를 먼저 적용한 뒤 \(g_i\)를 적용하는 것과 같다는 것이 핵심인데, 증명이 commutative diagram 두 개로 끝나는 것이 효율적이다. Product of Sets 명제 2에서 \(f\mapsto v\circ f\circ u\)의 단사/전사 조건을 retraction과 section으로 증명했던 것과 비교하면, 이 글에서는 성분별 독립성이 더 직접적으로 드러나는 느낌이다.
분배법칙 섹션이 이 글의 가장 실질적인 부분이다. 명제 6(합집합과 교집합 사이의 분배법칙)은 “무한한 경우까지 포함하는” 일반적 결과인데, \(\bigcup_{k\in K}\bigcap_{i\in J_k}A_{k,i}=\bigcap_{f\in I}\bigcup_{k\in K}A_{k,f(k)}\)라는 공식이 처음에는 \(f\in I=\prod J_k\)가 “각 \(k\)에 대해 \(J_k\)의 원소를 하나씩 고르는 함수”라는 해석이 필요해서 한두 번 다시 읽었다. 증명의 핵심 — \(x\)가 좌변에 속하면 어떤 \(k_0\)에서 모든 \(i\)에 대해 \(x\in A_{k_0,i}\)이므로, 임의의 \(f\)에 대해 \(x\in A_{k_0,f(k_0)}\) — 가 맞지만, 대우명제를 사용한 반대 방향(\(f(k)\)를 “\(x\)가 없는 \(i\)“로 선택)이 더 직관적이었다. Union and Intersection에서 De Morgan 법칙을 임의의 family로 확장한 것과 비슷한 맥락인데, 여기서는 \(\prod J_k\)라는 곱집합이 등장한다는 점이 다르다.
명제 7(곱과 합/교 사이의 분배법칙)은 명제 6과 대칭적이다. \(\prod_{k\in K}\bigcup_{i\in J_k}A_{k,i}=\bigcup_{f\in I}\prod_{k\in K}A_{k,f(k)}\)라는 공식은 “곱이 합집합에 분배된다”는 것인데, 증명이 “แท�같으므로 생략”이라고만 해서 아쉬웠다. 명제 6의 증명과 구조가 같다는 것은 납득이 가지만, 좌변의 원소가 “각 \(k\)마다 \(J_k\)의 어떤 \(i\)에서 \(A_{k,i}\)의 원소를 고른 것”이고 이것이 우변의 \(f\in I\)로 자연스럽게 대응된다는 직관을 한두 문장이라도 적어줬으면 더 빨랐을 것 같다. 교집합의 경우 \(\prod\bigcap=\bigcap\prod\)는 더 단순한데, “모든 \(i\)에 대해 \(x\in A_{k,i}\)“가 “모든 \(f\)에 대해 \(x_k\in A_{k,f(k)}\)“를 함의한다는 논리가 명확하다.
솔직한 반응을 적자면, 이 글의 첫 번째 절(부분곱과 결합법칙)은 Product of Sets의 자연스러운 연장이지만, 두 번째 절(분배법칙)은 갑자기 Union and Intersection과의 상호작용으로 넘어가서 약간 abrupt했다. “곱의 성질”이라는 제목 아래에 분배법칙이 포함되는 것이 자연스러운지에 대해 처음에는 의문이 있었지만, “곱이 다른 집합 연산과 어떻게 상호작용하는가”도 곱의 성질이므로 결국 적절한 구성이라는 결론에 이르렀다. 다만 분배법칙의 기하학적 직관이나 구체적 예시가 없어서, 공식 자체를 외우는 느낌이 강했다. \(n=2\)인 유한한 경우를 먼저 구체적으로 계산한 뒤 일반화했으면 접근이 더 쉬웠을 것 같다.
전체적으로 이 글은 Product of Sets의 “정의와 universal property”에서 “구체적 계산 규칙”으로의 전환을 이루는 글이다. 부분곱의 결합법칙(명제 3)이 universal property의 힘을 보여주는 핵심이라면, 분배법칙(명제 6, 7)은 합집합/교집합과의 상호작용을 다루는 실용적 결과다. 다만 두 절의 성격이 상당히 다르다는 점에서, 분배법칙을 별도 글로 분리했어도 무방했을 것 같다. Equivalence Relations로 넘어가기 전에 “곱의 대수적 성질”을 정리하는 글로서의 역할은 충실히 수행하고 있다.
동치관계
Binary Relation 글에서 이항관계의 정의와 image, section을 다루고, Operation of Binary Relations에서 역과 합성을, Functions에서 유일성 조건을 추가한 함수를 정의했다면, 이 글은 이항관계에 “같다”는 개념을 부여하는 세 가지 조건 — 반사성, 대칭성, 추이성 — 을 체계화한다. 정의 1 자체는 간결하다: reflexive(모든 \(x\)에 대해 \(x\sim x\)), symmetric(\(x\sim y\)이면 \(y\sim x\)), transitive(\(x\sim y\)이고 \(y\sim z\)이면 \(x\sim z\)). 이 세 조건이 합쳐지면 동치관계가 된다는 것은 직관적으로 “같은 부류끼리 묶는 규칙”이라는 느낌인데, 이전 글들에서 이미 만났던 예시들(\(=\), \(A\times A\))이 여기서 동치관계의 극단적 사례로 등장하는 것이 자연스럽다.
명제 3이 이 글의 첫 번째 핵심이다. 동치관계가 \(\pr_1 R=A\), \(R=R^{-1}\), \(R\circ R=R\)이라는 세 조건과 동치임을 보이는 것인데, 이전 Operation of Binary Relations에서 정의한 합성과 역이 여기서 직접 활용된다. 특히 \(R\circ R=R\)이라는 조건이 “이항관계의 합성이 자기 자신을 재생산한다”는 것인데, 이것이 추이성과 반사성을 합친 결과라는 것이 인상적이다. 증명에서 \(R\)이 reflexive하므로 \((x,x)\in R\)이고, 따라서 \((x,y)\in R\circ R\)을 보이는 부분 — 반사성이 합성의 “항등원 역할”을 한다는 관찰 — 이 Operation of Binary Relations에서 대각집합 \(\Delta_A\)가 합성의 항등원이었던 것과 연결된다. \(R=R^{-1}\)이라는 조건이 대칭성과 동치라는 것도 명제 2의 \(\pr_1 R^{-1}=\pr_2 R\)과 연결되어서, 이전 글들의 결과가 이렇게 동치관계 이론에서 재활용되는 구조가 깔끔하다.
몫집합(quotient set) \(A/R\)의 도입이 이 글의 실질적인 전환점이다. Equivalence class \(R(x)\)가 Binary Relation 글에서 정의한 section \(R(x)\)를 그대로 가져온다는 점이 좋은데, “이항관계의 section”이 “동치류”라는 특별한 이름을 갖게 되는 순간이다. 보조정리 6에서 canonical projection \(p:A\to A/R\)을 정의하고, \(x\sim y\)와 \(p(x)=p(y)\)가 동치임을 보이는 부분이 핵심인데, 증명에서 \(R(y)\subseteq R(R(x))=(R\circ R)(x)=R(x)\)라는 계산이 Operation of Binary Relations 명제 6(\(R(X)\subseteq R(A)\))과 명제 3(\(R\circ R=R\))을 직접 사용한다. 이전 글들의 결과가 이렇게 한데 모이는 순간인데, “동치류가 서로소이다”는 결론이 “몫집합의 원소들이 분할을 이룬다”는 것으로 이어지는 것이 자연스럽다.
명제 7(분할로부터 동치관계를 복원)은 그 역이다. Sum of Sets에서 정의한 분할(쌍마다 서로소인 covering)로부터 “같은 집합에 속하면 동치”라는 관계를 정의하면, 이것이 동치관계가 됨을 보이는 것이고, 증명에서 추이성의 핵심 — \(y\in A_i\cap A_j\)이고 분할이므로 \(i=j\) — 이 분할의 “쌍마다 서로소” 조건을 직접 사용한다. Sum of Sets에서 분할을 정의할 때 “왜 서로소여야 하는가”에 대한 동기가 부족했는데, 여기서 그 답이 드러난다: 서로소가 아니면 추이성이 깨진다는 것이다. \(x,y\in A_i\)이고 \(y,z\in A_j\)인데 \(i\neq j\)이면 \(x\sim z\)를 보장할 수 없다는 것이 명확하다.
솔직한 반응을 적자면, 이 글의 전반부(명제 3까지)는 이전 글들의 결과를 동치관계에 맞춰 재해석하는 것이라 수월했지만, 후반부(몫집합과 분할)는 새로운 개념의 도입이라 밀도가 높았다. 특히 보조정리 6의 증명에서 “section의 section은 section과 같다”는 논증(\(R(R(x))=R(x)\))을 이해하려면 \(R\circ R=R\)이라는 명제 3의 결과를 먼저 체감하고 있어야 했다. “동치관계 ⟺ 분할”이라는 대응이 이 글의 핵심인데, 이것이 Retraction and Section에서 “단사 ⟺ retraction 존재, 전사 ⟺ section 존재”라는 대응과 구조적으로 비슷하다는 느낌이 들었다 — 어떤 이항관계가 특수한 성질을 가지면, 그것이 다른 수학적 객체(몫집합, retraction 등)와 일대일로 대응된다는 것이 공통 패턴이다.
Operation of Functions 명제 4에서 “ \(g(x)=g(y)\implies f(x)=f(y)\) “라는 조건이 나왔을 때, 이것이 정확히 “ \(f\) 가 \(g\) 의 동치관계를 보존한다”는 것임을 이제야 명확히 이해했다. \(g\) 가 정의하는 동치관계의 각 equivalence class 위에서 \(f\) 가 상수값을 가져야 \(h\) 가 정의된다는 것인데, Retraction and Section에서는 “몫집합 위에서의 함수”라는 말 없이도 같은 결과를 보였다는 것이 놀랍다. 앞으로의 글들(Examples of Equivalence, Order Relations 등)에서 동치관계가 구체적으로 어떻게 쓰이는지가 궁금하다. 전체적으로 “이항관계의 section이 특별한 이름을 갖게 되는 순간”을 다루는 글로서, 이전 글들의 도구들(합성, 역, section)이 하나로 수렴하는 느낌이다.
⚠️ 정의 없이 사용: finer/coarser (Sum of Sets 정의 1에서 도입된 covering의 finer/coarser인데, 동치관계의 맥락에서의 의미 전환이 명시적으로 설명되지 않음)
동치관계의 예시들
동치관계 글에서 “동치관계 ⟺ 분할”이라는 대응을 보고 나서, “그럼 실제로 어떤 동치관계가 쓰이는가”라는 질문이 자연스러웠는데, 이 글이 바로 그 답을 제시한다. 함수에 의해 정의되는 동치관계(명제 1: \(f(x)=f(y)\)이면 동치)부터 시작하는데, 이 정의 자체는 자명하지만 Retraction and Section 명제 4에서 “ \(g(x)=g(y)\implies f(x)=f(y)\) “라는 조건이 나왔을 때의 맥락을 정확히 형식화하는 것이다. 그때는 “몫집합 위에서의 함수”라는 말 없이도 같은 결과를 보였는데, 이제 \(f\)가 정의하는 동치관계의 각 equivalence class 위에서 \(f\)가 상수값을 가져야 \(h\)가 정의된다는 것이 명확해진다.
Compatible한 단항관계(정의 3)와 명제 4는 “동치관계와 어울리는 성질”을 다루는 짧지만 실용적인 부분이다. “equivalence class의 단 하나의 원소만 \(P\)를 만족하면, 같은 class의 모든 원소가 \(P\)를 만족한다”는 결론은 동치관계의 본질 — “같은 부류끼리 묶기” — 을 가장 직접적으로 보여주는 예시인데, 수학적귀납법이나 대칭성 논증에서 자주 만나는 패턴의 추상화다. 다만 이 섹션이 짧고, \(P\)가 “짝수이다” 같은 구체적 예시만 있어서, “이게 어디에 쓰이는가”에 대한 감을 잡기 어려웠다.
포화(saturated) 부분집합(정의 5)이 이 글의 첫 번째 실질적인 새로운 개념이다. \(X\)가 \(R\)-saturated이려면 \(x\in X\)이면 \(R(x)\subseteq X\)여야 한다는 조건은, “equivalence class를 통째로 포함하거나 통째로 배제해야 한다”는 것이 핵심인데, \(p^{-1}(p(X))\)가 \(X\)를 포함하는 가장 작은 saturated subset이라는 관찰( \(X\)의 saturation)이 인상적이다. \(p^{-1}(p(X))\supseteq X\)는 Operation of Binary Relations 명제 7( \(R^{-1}(R(X))\supseteq X\cap\pr_1 R\) )에서 \(R\)이 함수인 경우의 특수화인데, 이전 글들의 결과가 이렇게 동치관계 이론에서 재활용되는 구조가 깔끔하다. \(X\)가 saturated이면 \(p^{-1}(p(X))=X\)가 되고, 아니면 진짜 포함관계만 성립한다는 것이 “포화라는 조건이 정확히 등호를 만드는 지점”임을 보여준다.
Canonical decomposition(정의 6, 명제 7)이 이 글의 개념적 핵심이다. \(f\)가 \(R\)과 compatible하면 \(f=h\circ p\)를 만족하는 \(h\)가 존재한다는 결과는, Retraction and Section 명제 4를 \(g=p\) (canonical projection)에 적용한 것인데, “몫집합 위에서의 함수”라는 말이 여기서 정확히 실현된다. \(h\)가 단사이고 전역을 \(f(A)\)로 제한하면 전단사가 된다는 것도 깔끔한데, “ \(f\)의 canonical decomposition \(f=j\circ\tilde{f}\circ p\) “라는 공식이 “임의의 함수를 전사 → 전단사 → 단사로 분해한다”는 것을 보여주는 것이 인상적이다. 특히 \(h\)가 단사라는 증명 — \(h(t)=h(t')\)이면 \(f(x)=f(x')\)이므로 \(x\sim x'\)이고 \(t=t'\) — 이 동치관계의 정의(추이성)를 직접 사용하는 것이 좋다.
동치관계의 finer/coarser 관계(정의 8)와 quotient \(R/S\)는 Equivalence Relations 글 말미에서 예고되었던 것인데, \(S\)가 \(R\)보다 finer하면 \(p_R=h\circ p_S\)를 만족하는 \(h\)가 존재한다는 것이 Retraction and Section 명제 4의또 한 번 활용이다. \(h\)가 \(A/S\) 위에 정의하는 \(R\)의 quotient \(R/S\)라는 이름이, “동치관계끼리의 나눗셈”이라는 느낌을 주는데, 실제로는 “ \(S\)로 더 잘게 나눈 뒤 \(R\)로 다시 묶는 것”이라는 직관과 맞다. Canonical decomposition을 거쳐 \(k:A/S\to A/(R/S)\)가 전단사가 된다는 결론은, “몫의 몫은 원래 몫과 같다”는 대수적 직관의 집합론적 버전이다.
동치관계의 곱( \(R\times R'\) )은 Product of Sets의 곱집합 \(A\times A'\) 위에서 정의되는데, \((x,x')\sim(y,y')\) iff \(x\sim y\)이고 \(x'\sim y'\)라는 정의가 자연스럽다. \(f\times f'\)에 의해 유도되는 동치관계가 \(R\times R'\)과 같다는 것과, \((A\times A')/(R\times R')\)와 \((A/R)\times(A'/R')\) 사이의 canonical bijection이 존재한다는 것이 이 글의 마지막 결과인데, “곱의 몫은 몫의 곱과 같다”는 것이 핵심이다. \(f\times f'\)의 canonical decomposition을 두 번 적용하는 논증이 Product of Sets에서 유도사상의 단사/전사 조건을 retraction과 section으로 증명했던 것과 구조적으로 비슷하다.
솔직한 반응을 적자면, 이 글의 전반부(함수에 의한 동치관계, compatible, 포화)는 Equivalence Relations의 자연스러운 연장이지만, 후반부(canonical decomposition, quotient, 곱)는 상당히 밀도가 높았다. 특히 canonical decomposition이 “ \(f=h\circ p\) “라는 하나의 공식으로 요약되지만, 그 안에 Retraction and Section의 명제 4, 동치류의 정의, section의 존재성 등 이전 글들의 결과가 모두 응축되어 있어서, 이전 글들을 충분히 소화하지 못한 상태에서 읽으면 놓치는 것이 많을 것 같다. \(R/S\)라는 표기가 “동치관계의 나눗셈”이라는 것을 처음 봤을 때는 당황스러웠는데, “ \(S\)로 더 잘게 나눈 뒤 \(R\)로 다시 묶는 것”이라는 직관을 잡고 나니 납득이 됐다. Equivalence Relations에서 “동치관계 ⟺ 분할”이라는 대응을 보여줬다면, 이 글은 그 위에 “함수와의 상호작용”, “동치관계끼리의 관계”, “곱으로의 확장”이라는 세 축을 추가하는 글로서, 동치관계 이론의 실질적인 응용 도구 상자을 여는 느낌이다.
순서관계의 정의
동치관계가 “같다”를 정의하는 것이었다면, 순서관계는 “크거나 같다”를 정의하는 것이다. 정의 2(reflexive + transitive + anti-symmetric)는 세 조건이 합쳐져서 순서관계가 된다는 것인데, anti-symmetric 조건(\(x\leq y\)이고 \(y\leq x\)이면 \(x=y\))이 동치관계의 symmetric(\(x\sim y\)이면 \(y\sim x\))과 정확히 대비되는 것이 인상적이다. 동치관계에서는 “서로 관련되면 같다”가 아니라 “서로 관련되면 같다”인데, 순서관계에서는 “서로 관련되면 같다”가 된다는 것이다. Equivalence Relations에서 \(R=R^{-1}\)이 대칭성과 동치였는데, 여기서는 \(R\cap R^{-1}=\Delta_A\)가 anti-symmetry와 동치라는 명제 5가 그 대응을 정확히 보여준다.
명제 5(\(R\circ R=R\)과 \(R\cap R^{-1}=\Delta_A\)가 순서관계와 동치)는 Equivalence Relations 명제 3(\(\pr_1 R=A\), \(R=R^{-1}\), \(R\circ R=R\)이 동치관계와 동치)과 구조적으로 완벽하게 대비된다. 동치관계에서는 \(R=R^{-1}\)이 대칭성을, \(R\circ R=R\)이 추이성을 포착했고, 순서관계에서는 \(R\cap R^{-1}=\Delta_A\)가 anti-symmetry를, \(R\circ R=R\)이 추이성을 포착한다. \(R=R^{-1}\) 대 \(R\cap R^{-1}=\Delta_A\) — “전체가 같다” 대 “교집합만 같다” — 라는 차이가 대칭성과 anti-symmetry의 차이를 정확히 반영한다. Equivalence Relations에서 “이항관계의 합성과 역이 동치관계 이론에서 재활용된다”고 했는데, 순서관계에서도 같은 도구들이 다시 쓰이는 구조가 일관성 있다.
원순서관계(preorder, 정의 7: reflexive + transitive)의 도입이 자연스럽다. 예시 6에서 함수 \(f:A\to B\)로부터 순서관계를 끌어올리려 했더니 anti-symmetry가 깨진다는 관찰이 동기인데, Examples of Equivalence에서 “함수에 의해 정의되는 동치관계”(\(f(x)=f(y)\)이면 동치)와 정확히 같은 구조다. 거기서는 \(f\)가 정의하는 동치관계를 다뤘고, 여기서는 \(f\)가 정의하는 원순서관계를 다루는데, “함수로부터 관계를 유도한다”는 아이디어가 두 맥락에서 반복되는 것이 좋다. 다만 동치관계에서는 \(f\)의 값이 같으면 동치였는데, 순서에서는 \(f\)의 값의 순서를 비교한다는 점이 다르다.
명제 8(preorder에서 \(x\leq y\)이고 \(y\leq x\)이면 동치관계)은 Equivalence Relations의 핵심 아이디어를 preorder에 맞춰 재해석한 것이다. anti-symmetry가 없는 대신 “거의 같은” 원소들을 동치류로 묶으면, 몫집합 위에서는 순서관계가 된다는 것이 핵심인데, Equivalence Relations에서 “동치관계 ⟺ 분할”이라는 대응을 보여줬던 것과 연결된다. preorder에서 “같다”를 확장한 동치관계로 몫을 취하면 순서관계가 얻어진다는 것이, “preorder = 순서관계 + 동치관계의 혼합”이라는 직관을 준다.
Strict order(정의 9: asymmetric + transitive)와의 대응(명제 10)도 깔끔하다. order relation에서 \(x\neq y\) 조건을 추가하면 strict order가 되고, strict order에 \(x=y\)를 허용하면 order relation이 된다는 것이 대칭적이다. \(\leq\)와 \(<\)의 관계가 \(=\)와 \(\neq\)의 관계를 포함하면서도 더 풍부한데, 참고의 관찰(\(x\not\leq y\)라고 해서 \(x>y\)인 것은 아니다)이 이를 잘 보여준다. \(\{a\}\not\leq\{b\}\)이지만 \(\{a\}>\{b\}\)도 아닌 \(\mathcal{P}(S)\)의 예시가 “순서가 없는 것과 역순서인 것은 다르다”는 것을 명확히 보여준다.
전체적으로 이 글은 Equivalence Relations와 Examples of Equivalence에서 다룬 “관계 이론”을 순서관계 방향으로 확장한다. 동치관계가 “같다”를 포착했다면, 순서관계는 “비교 가능하다”를 포착하는 것이고, preorder는 그 사이의 중간 단계다. Equivalence Relations 명제 3의 구조를 명제 5가 정확히 모방하면서도 anti-symmetry로 대체하는 것이, “같은 도구로 다른 성질을 포착한다”는 집합론적 방법론을 보여준다. 다만 이 글이 상당히 짧고, 순서관계의 구체적인 성질(상한, 하한, 격자 등)은 이후 글들로 미루어져서, “정의만 있고 응용은 없다”는 느낌이 있다. 다음 글들(Monotone Functions, Elements in Ordered Set 등)에서 이 정의들이 어떻게 움직일지 기대된다.
단조함수
Order Relations에서 순서관계의 정의를 다루고 나서, 이 글은 그 위에서 “순서를 보존하는 함수”를 정의한다. 시작은 원순서관계의 restriction(명제 1)과 곱(명제 2)인데, 둘 다 자명에 가깝다. \(R\cap(A'\times A')\)가 \(A'\) 위의 preorder를 정의한다는 것은 반사성과 추이성이 부분집합에서도 보존된다는 것이고, 곱에서의 좌표별 비교 \(x\leq y\iff\forall i(x_i\leq y_i)\)도 Product of Sets에서 곱의 universal property를 떠올리면 자연스럽다. 다만 restriction 표기 \(\leq_R\)를 “약간의 표기법의 남용”으로 그대로 재사용한다는 저자의 관례가 솔직해서 좋다.
예시 3이 실용적이다. 함수 \(f:A\to B\)를 \(B^A=\prod_{a\in A}B\)의 원소로 보고, \(B\) 위의 preorder로부터 점별 순서(pointwise order)를 끌어올리는 것이다. \(f\leq g\)가 모든 \(x\)에 대해 \(f(x)\leq g(x)\)라는 것은 직관적이고, Product of Sets에서 curry/uncurry를 다룰 때의 “함수를 함수의 집합의 원소로 보기”와 같은 관점이다. 다만 strict order에 대한 주의 — \(f<g\)가 \(\forall x(f(x)<g(x))\)와 다르다는 것 — 가 중요한데, “하나의 \(y\)에서만 \(f(y)<g(y)\)이면 \(f<g\)“라는 것이 처음에는 반직관적이었다. \(f\)와 \(g\)가 대부분의 점에서 같더라도 한 점만 다르면 strict inequality가 성립한다는 것인데, 이것이 Product of Sets에서 곱의 strict order를 정의할 때 “좌표별 strict”와 “전체 strict”가 다르다는 일반적 현상의 구체적 사례라는 것을 깨달았다.
단조함수의 정의(정의 4) 자체는 간결하다. \(x\leq y\implies f(x)\leq f(y)\)가 증가함수, 반대 방향이 감소함수. 상수함수가 둘 다 만족한다는 관찰(참고 1)은 당연하지만, “역이 성립하지 않는다”는 예시 — \(=\)를 순서로 갖는 집합 위의 항등함수 — 가 깔끔하다. 동치관계에서 “상수함수는 하나의 동치류로 모든 원소를 보내는 함수”였다면, 여기서는 “순서를 무시하는 함수”라는 다른 관점에서 상수함수를 보는 것이 좋다.
순단조함수(정의 5)와의 관계가 흥미롭다. “단조인 단사함수는 항상 순단조”라는 것은 \(x<y\)이면 \(f(x)\leq f(y)\)이고, 단사므로 \(f(x)\neq f(y)\)이므로 \(f(x)<f(y)\)라는 논리가 명확하다. 하지만 역이 성립하지 않는다는 참고 2의 반례 — \(\mathbb{N}\) 위에 짝수끼리/홀수끼리만 비교 가능한 순서 \(\prec\)을 정의하고 \(m\mapsto\lfloor m/2\rfloor\)를 취하면 순증가하지만 단사가 아니다 — 가 상당히 교묘하다. \(\lfloor 0/2\rfloor=\lfloor 1/2\rfloor=0\)이므로 단사가 아니지만, \(m\prec n\)이면 \(\lfloor m/2\rfloor<\lfloor n/2\rfloor\)가 성립한다는 계산이 맞다. 다만 이 반례의 순서 \(\prec\)이 “짝수와 홀수를 비교 불가능하게 만든다”는 것이 \(\mathbb{N}\) 위의 자연스러운 직관과 조금 어긋나서, 처음 읽을 때 “이게 정말 strict order인가”를 확인하느라 시간이 걸렸다 — asymmetric과 transitive를 직접 검증한 뒤에야 납득했다.
명제 6이 이 글의 가장 구조적으로 흥미로운 부분이다. 감소함수 \(u:A\to A'\)와 \(v:A'\to A\)가 \(v(u(x))\geq x\), \(u(v(x'))\geq x'\)를 만족하면 \(u\circ v\circ u=u\)이고 \(v\circ u\circ v=v\)이라는 것이다. 증명은 놀랍도록 짧다 — \(u\)가 감소함수이므로 \(v(u(x))\geq x\)에서 \(u(v(u(x)))\leq u(x)\)가 나오고, 가정의 두 번째 부분에서 \(u(v(u(x)))\geq u(x)\)이므로 등호가 된다. 두 줄짜리 증명이지만, 이 결과의 의미는 깊다. \(u\)와 \(v\)가 서로의 “pseudo-inverse” 역할을 한다는 것이고, \(u\circ v\)와 \(v\circ u\)가 각각 \(A'\)와 \(A\) 위의 closure operator처럼 작동할 것이라는 예감이 든다. Filter and Ideal에서 Galois connection을 다룰 때 이 명제가 다시 등장할 것이라는 기대가 되는데, 현재 시점에서는 “감소함수 쌍의 자기복원 성질”이라는 이름 없이 그냥 놓여 있는 것이 약간 아쉽다. 이 결과에 이름이 붙었다면 기억하기 더 쉬웠을 것 같다.
전체적으로 이 글은 Order Relations에서 도입한 순서관계 위에 “순서를 보존하는 함수”라는 개념을 얹는 짧지만 실용적인 글이다. restriction과 곱은 기존 도구(Product of Sets, Functions)의 자연스러운 확장이고, 단조함수의 정의 자체는 익숙하지만 strict order와의 관계에서 생기는 미묘한 점들이 좋은 관찰이다. 명제 6의 adjunction-like 성질이 가장 인상적인데, 이것이 이후 Galois connection이나 closure operator로 어떻게 발전할지가 궁금하다. 다만 이 글이 짧고, 단조함수의 구체적인 응용(고정점 정리, 격자 이론 등)이 없어서 “정의와 기본 성질만 있고 응용은 없다”는 느낌이 있다. Elements in Ordered Set에서 이 정의들이 어떻게 쓰일지 기대된다.
순서집합의 원소들
이 글은 순서집합 위에서 “특정 원소”를 찾는 도구들을 체계화한다. 극소원소(minimal element)와 최소원소(least element)의 구분이 핵심인데, 정의 1과 정의 2를 나란히 놓고 보면 차이가 명확하다: 극소원소는 “나보다 작은 원소가 없으면 나 자신”이고, 최소원소는 “모든 원소보다 작거나 같다”이다. Hasse diagram으로 \(b\)와 \(c\)가 모두 minimal이지만 least는 아닌 예시가 이 차이를 직관적으로 보여준다. 명제 3(least element가 존재하면 유일한 minimal element)의 증명이 깔끔한데, anti-symmetry가 핵심적으로 작동하는 지점이 Order Relations의 명제 5(\(R\cap R^{-1}=\Delta_A\))와 직접 연결된다.
상한(supremum)과 하한(infimum)의 정의(정의 6)는 “upper bound 중 가장 작은 것”이라는 자연스러운 발상인데, minimal element와 supremum이 “같은 방향의 극한”이면서도 정의가 다른 것이 흥미롭다. minimal element는 원소 자체의 성질이고, supremum은 부분집합의 upper bound들 중의 특별한 원소라는 것이다. 명제 7의 2번(\(X=\emptyset\)일 때 sup은 least, inf은 greatest)은 빈집합의 upper bound가 전체 공간이라는 관찰인데, Union and Intersection에서 교집합의 \(I=\emptyset\) 문제가 떠올랐다 — 빈집합의 조건이 “모든 원소를 만족”하므로 vacuous truth로 전체가 되는 것이 같은 패턴이다.
명제 8–12가 이 글의 실질적인 내용이다. 명제 8(\(X'\subseteq X\)이면 \(\sup X'\leq\sup X\))은 직관적이고 증명도 자명하다. 명제 9(좌표별 \(x_i\leq y_i\)이면 \(\sup x_i\leq\sup y_i\))는 단조함수와의 연결을 암시하는데, Monotone Functions에서 정의한 “순서를 보존하는 함수”가 상한 연산을 보존한다는 것이 여기서 구체적으로 드러난다. 명제 10(분할에 의한 sup의 결합법칙)은 Property of Products의 명제 3(분할에 의한 곱의 전단사)과 구조적으로 비슷한데, “큰 supremum = 작은 supremum들의 supremum”이라는 것이 곱의 결합법칙 “\(\prod_{i\in I}A_i\cong\prod_{k\in K}\prod_{j\in J_k}A_j\)“와 대비된다. 합에서는 universal property가 \(\iota_i\)를 중심으로 움직였고, 곱에서는 \(\pr_i\)를 중심으로 움직였는데, 여기서는 supremum이 “upper bound 중 최소”라는 조건으로 움직인다는 점이 다른 맥락이다.
명제 11(곱집합에서의 sup = 좌표별 sup)이 가장 인상적이다. \(\sup_{\prod A_i}X=(\sup_{A_i}X_i)\)라는 결론은 “곱의 상한은 성분별 상한”이라는 것인데, Product of Sets에서 곱의 universal property(\(f_i=\pr_i\circ f\))와 정확히 대응된다. 증명에서 “좌표가 같으면 같은 원소”라는 원리가 다시 작동하는 것이 좋다. 다만 반대 방향(\(\sup X\)가 존재하면 각 \(\sup X_i\)가 존재)의 증명에서 “\(i\)번째 성분을 \(a_i'\)로 바꾸어 정의하면 \(c\geq a\)이므로 \(a_i'\geq a_i\)“라는 부분이 약간 빠르게 넘어가서, \(c\)의 다른 좌표들이 \(a\)의 다른 좌표들과 같다는 관찰을 명시적으로 해야 했다.
참고 4(\(\sup_AX'\)와 \(\sup_XX'\)가 다를 수 있다는 것)는 \(\mathbb{Q}\)에서 \(\sqrt{2}\) 근방의 예시로 구체적이다. \(X'=\{x\in\mathbb{Q}\mid x<\sqrt{2}\}\)의 supremum이 \(\mathbb{Q}\)에서는 존재하지 않지만 \(\mathbb{R}\)에서는 존재한다는 것은, supremum의 존재가 ambient space에 의존한다는 것을 보여준다. \(X_2=X'\cup\{2\}\)에서 \(\sup_{X_2}X'=2\)이지만 \(\sup_{\mathbb{Q}}X'\)는 존재하지 않는다는 관찰 — “상한이 ambient space 밖에 있을 수 있다”는 것 — 은 이후 위상수학이나 해석학에서 completeness의 중요성을 미리 예고하는 느낌이다. 명제 12(\(\sup_AX'\leq\sup_XX'\)이고, \(\sup_AX'\in X\)이면 등호)는 이 관찰을 partially 보완하는 결과인데, “상한이 원래 집합 안에 있으면 ambient space와 무관하다”는 것이 핵심이다.
솔직히, 이 글의 전반부(극대/극소, 최대/최소)는 Order Relations의 자연스러운 후속이어서 수월했지만, 후반부(상한/하한과 집합 연산)는 밀도가 높았다. 특히 명제 10과 명제 11의 증명에서 “존재 ⟺ 존재”라는 동치를 양방향으로 보이는 구조가 반복되는데, 한 방향만 보고 “반대도 마찬가지”라고 넘어가는 패턴이 몇 번 나와서 직접 확인하느라 시간이 걸렸다. Hasse diagram이 도입부에서만 나오고 이후 증명에서 활용되지 않는 점이 약간 아쉬웠다 — supremum이나 infimum을 Hasse diagram으로 시각화하면 더 직관적이었을 것 같다. Monotone Functions에서 명제 6의 adjunction-like 성질이 “감소함수 쌍의 자기복원”이었는데, 여기서 \(\sup\)와 \(\inf\)가 “쌍대적”으로 정의되는 것을 보니 그 연결이 더 명확해진다.
유향집합
Elements in Ordered Set에서 supremum, infimum, upper bound, lower bound라는 도구를 정리한 뒤, 이 글은 그 위에 “방향성”이라는 새로운 성질을 얹는다. Cofinal과 coinitial의 정의로 시작하는데, “임의의 \(x\in A\)에 대해 \(y\in X\)가 존재하여 \(x\leq y\)“라는 조건은 “\(X\)가 \(A\) 전체를 오른쪽으로 커버한다”는 직관과 맞다. \(\{a_{2n}\}_{n\in\mathbb{N}}\)이라는 예시가 좋은데, 원소가 무한히 많아도 “큰 쪽으로 빠져나가는” 부분집합이면 cofinal이 된다는 것이 Elements in Ordered Set에서 다루었던 유한한 경우와 다른 느낌이다. \(\{a_{1000+n}\}_{n\in\mathbb{N}}\)도 cofinal이라는 관찰 — “아무리 먼 곳에서 시작해도 끝까지 간다”는 것 — 이 cofinal의 본질을 잘 보여준다.
Directed set의 정의(정의 1)는 간결하다: 임의의 두 원소의 부분집합이 bounded above이면 right directed. \(\mathcal{P}(A)\)가 right directed이라는 예시(명제 1)가 직관적이다 — \(X\cup Y\)가 \(X\)와 \(Y\)의 upper bound이므로, 임의의 두 부분집합을 합치면 upper bound가 된다. Elements in Ordered Set에서 \(\sup\{X,Y\}=X\cup Y\)라는 것을 이미 알고 있으므로, “합집합이 곧 supremum”이라는 것이 directedness의 충분조건이 된다는 것이 자연스럽다. 다만 right directed와 left directed의 차이가 단순히 “bounded above” 대 “bounded below”인데, 이 글에서는 right directed에만 집중하는 것이 약간 아쉬웠다 — left directed의 구체적 예시도 있었으면 대칭적 이해가 더 쉬웠을 것 같다.
명제 2(right directed set에서 maximal element는 greatest element)가 인상적이다. 증명이 놀랍도록 짧다 — \(\{x,a\}\)의 upper bound \(y\)가 존재하고, \(a\)가 maximal이므로 \(a=y\)이고, 따라서 \(x\leq a\). 두 줄짜리 증명이지만, “maximal이 곧 greatest가 되는 조건이 directedness”라는 결론이 강력하다. Elements in Ordered Set에서 “maximal과 greatest는 다르다”고 했을 때의 그 차이가, directedness라는 가정 하에서 사라진다는 것이 “조건이 구조를 바꾼다”는 좋은 예시다. \(\mathcal{P}(A)\)에서 maximal element가 \(A\) 자체이고 이것이 greatest인 것을 떠올리면, 이 명제가 자연스럽게 납득이 된다.
명제 3(right directed set들의 family의 곱도 right directed)은 Product of Sets에서 곱의 universal property를 떠올리면 자연스럽다. 각 좌표에서 \(x_i,y_i\leq z_i\)를 만족하는 \(z_i\)를 고르면, \((z_i)\)가 \((x_i)\)와 \((y_i)\)의 upper bound가 된다는 것이 핵심인데, “좌표별로 directedness가 성립하면 전체 곱도 directed”라는 것이 Elements in Ordered Set에서 명제 11(곱집합에서의 sup = 좌표별 sup)과 구조적으로 비슷하다. “좌표가 같으면 같은 원소”라는 원리가 여기서도 작동하는 좋은 예시다.
Lattice의 정의(정의 4)가 이 글의 개념적 전환점이다. “임의의 두 원소가 supremum과 infimum을 갖는다”는 것이 “join \(x\vee y\)“와 “meet \(x\wedge y\)“라는 두 연산을 제공한다는 것인데, \(\mathcal{P}(A)\)에서 \(\vee=\cup\)이고 \(\wedge=\cap\)이라는 관찰(명제 1 이후의 설명)이 직관적이다. \(x\vee y\)와 \(x\wedge y\)라는 표기가 Union and Intersection에서 \(\bigcup\)과 \(\bigcap\)을 쓰던 것과 다른 맥락인데, lattice에서는 “두 원소의 연산”으로서의 합집합/교집합을 다루는 것이므로 구분이 필요하다는 것이 명확하다. Complete lattice의 정의 — “모든” 부분집합이 sup과 inf을 가진다 — 가 “유한”에서 “임의”로의 확장인데, Union and Intersection에서 \(I=\emptyset\) 문제를 다룰 때의 맥락이 떠올랐다.
Totally ordered set의 정의(정의 5)는 “임의의 두 원소가 comparable”이라는 조건인데, \(\{a\}\not\leq\{b\}\)이고 \(\{a\}>\{b\}\)도 아닌 \(\mathcal{P}(S)\)의 예시(Order Relations의 참고)를 떠올리면, totally ordered가 얼마나 강한 조건인지 체감된다. Trichotomy가 totally ordered set에서 성립한다는 관찰은 Elements in Ordered Set에서 “maximal과 greatest의 차이”가 부분순서에서 생기는 것이었음을 역으로 보여준다 — totally ordered면 그 차이가 사라진다. \(x\leq y\)의 부정이 \(x>y\)가 되는 것이 totally ordered의 편의성인데, 일반 순서집합에서는 \(x\not\leq y\)와 \(x>y\)가 다르다는 것이 Order Relations의 핵심 관찰이었다.
명제 6(totally ordered set에서 순단조함수는 단사)은 Monotone Functions의 반례(순증가하지만 단사가 아닌 함수)가 totally ordered에서는 성립하지 않음을 보여준다. 증명이 \(x\neq y\)이면 \(x>y\) 또는 \(x<y\)이므로 \(f(x)>f(y)\) 또는 \(f(x)<f(y)\)라는 것이 깔끔한데, trichotomy가 핵심적으로 작동하는 지점이다. Monotone Functions에서 \(\mathbb{N}\) 위의 비자명한 순서 \(\prec\)을 정의하고 반례를 만들었던 것과 비교하면, totally ordered라는 가정이 얼마나 많은 것을 단순화하는지 체감된다.
닫힌구간과 열린구간의 정의는 Elements in Ordered Set에서 \(\sup\)과 \(\inf\)를 다룰 때의 맥락을 형식화한 것이다. \([a,b]=\{x\mid a\leq x\leq b\}\)라는 정의 자체는 자명하지만, \((-\infty,a]\)라는 표기가 “unbounded인 닫힌구간”이라는 것이 \(\sup_{A}\emptyset=\text{greatest element}\)와 연결되는 느낌이다. 명제 8(lattice에서 두 interval의 교집합도 interval)은 \(\mathcal{P}(A)\)에서 \([X,Y]\cap[X',Y']=[X\cup X',Y\cap Y']\)가 되는 것을 떠올리면 자연스러운데, 증명이 없어서 아쉬웠다 — lattice의 구조를 직접 사용하는 증명이 있었으면 이해가 더 빨랐을 것 같다.
전체적으로 이 글은 Elements in Ordered Set의 “원소의 종류”에서 “집합 전체의 방향성”으로의 전환을 이루는 짧지만 실용적인 글이다. Directed set의 정의 자체는 간결하지만, lattice와 totally ordered set이라는 두 가지 강화 조건이 동시에 도입되어서 “순서집합의 스펙트럼”이 더 명확해진다 — 부분순서 → preorder → 순서 → lattice → totally ordered → well-ordered로 이어지는 계층이 머릿속에 그려진다. 다만 cofinal/coinitial의 응용(예: 위상수학에서의 net이나 필터)이 없어서, “이게 어디에 쓰이는가”에 대한 감을 잡기 어려웠다. Filter and Ideal에서 Galois connection을 다룰 때 lattice가 본격적으로 활용될 것이라는 예감이 드는데, 그때 이 글의 정의들이 어떻게 움직일지 기대된다.
필터와 아이디얼, 갈루아 대응
유향집합에서 directed set과 lattice를 정의한 뒤, 이 글은 그 위에 “filter”와 “ideal”이라는 두 가지 특수한 부분집합을 도입하고, 마지막에 Galois connection이라는 새로운 도구를 제시한다. 정의 1(lower set, upper set, ideal, filter)의 구조가 깔끔하다 — lower set에 right directedness를 붙이면 ideal이 되고, upper set에 left directedness를 붙이면 filter가 된다. 유향집합에서 “두 원소의 upper bound가 존재한다”는 조건이 여기서 “두 원소의 join이 ideal 안에 있다”(\(x\vee y\in I\)) 또는 “두 원소의 meet이 filter 안에 있다”(\(x\wedge y\in F\))로 구체화되는 것이 자연스럽다. 유향집합에서 lattice를 정의할 때 \(\vee\)와 \(\wedge\)를 도입했는데, 그것이 여기서 바로 쓰인다는 것이 좋다.
principal ideal \(\downarrow x\)와 principal filter \(\uparrow x\)의 정의(예시 2)는 직관적이다. “원소 \(x\)보다 작거나 같은 모든 것”이 \(x\)가 generate하는 ideal이라는 것이고, \(\mathcal{P}(A)\)에서 \(\downarrow X=\{Y\subseteq A\mid Y\subseteq X\}\)가 되는 것을 떠올리면 자연스럽다. 다만 \(\downarrow x\)가 항상 ideal이라는 것 — 즉 \(\downarrow x\)가 right directed라는 것 — 은 \(x\) 자체가 \(\downarrow x\)의 최대원소이므로 자명하지만, “principal이라는 이름이 왜 붙는지”에 대한 설명이 없어서 약간 아쉬웠다.
prime ideal과 prime filter의 정의(정의 4)가 흥미롭다. \(x\wedge y\in I\)이면 \(x\in I\) 또는 \(y\in I\)라는 조건은, 분배법칙이 성립하는 lattice에서 “\(A\setminus I\)가 filter”라는 것과 동치라는 관찰(정의 4 이후)이 인상적이다. \(\mathcal{P}(A)\)에서 prime ideal이 “어떤 원소 \(a\)를 포함하지 않는 모든 부분집합”이라는 예시를 떠올리면, prime ideal이 “어디를 잘라야 하는지”를 결정하는 도구라는 직관이 잡힌다. 명제 5(maximal ideal은 prime이다)의 증명이 깔끔한데, \(J=\{z\mid x\wedge z\in I\}\)로 정의하고 \(J\)가 \(I\)를 strict하게 포함하는 proper ideal임을 보이는 구조가 우아하다. \(z_1\vee z_2\in J\)를 보일 때 분배법칙(\(x\wedge(z_1\vee z_2)=(x\wedge z_1)\vee(x\wedge z_2)\))을 직접 사용하는 것이 핵심인데, “분배법칙이 없으면 maximal이 prime이 아닐 수도 있다”는 것이 명제 5의 가정으로서의 중요성을 보여준다.
Galois connection 부분이 이 글의 개념적 전환점이다. 정의 6의 두 가지 variant — monotone(\(F(a)\leq b\iff a\leq G(b)\))와 antitone(\(b\leq F(a)\iff a\leq G(b)\)) — 가 동시에 도입되는데, 둘 다 “\(F\)와 \(G\)가 서로의 조건을 뒤집는다”는 공통 구조가 있다. \(a\leq GF(a)\)와 \(FG(b)\leq b\)(monotone 경우) 또는 \(b\leq FG(b)\)(antitone 경우)가 항상 성립한다는 관찰은 직전에 다룬 단조함수의 명제 6(\(v(u(x))\geq x\), \(u(v(x'))\geq x'\))을 정확히 떠올리게 한다. 그때는 “감소함수 쌍의 자기복원 성질”이라는 이름 없이 놓여 있었는데, 여기서 Galois connection이라는 이름이 붙으니 그 결과의 의미가 명확해진다. Monotone Functions에서 명제 6이 “adjunction-like 성질”이라고 느꼈는데, 실제로 그게 adjunction이었다는 것이 이 글에서 확인되는 순간이다.
명제 7(\(GFG=G\), \(FGF=F\))은 Galois connection의 핵심 성질이다. 증명이 짧지만 — \(G(y)\leq GFG(y)\)는 \(a\leq GF(a)\)에서 \(a=G(y)\)를 대입하면 나오고, \(GFG(y)\leq G(y)\)는 \(FG(b)\leq b\)에서 \(G\)가 증가함수이므로 따라온다 — 이 결과의 의미는 깊다. \(G\circ F\)와 \(F\circ G\)가 모두 closure operator가 된다는 결론(정의 8 이후의 논의)은, “Galois connection을 두 번 합성하면 멈춘다”는 것이고, closed subset 위에서 \(F\)와 \(G\)가 anti-isomorphism을 이룬다는 Galois correspondence가 이 글의 최종 결과다. 다만 anti-isomorphism이라는 용어가 정의 없이 사용되어서, “순서를 뒤집는 동형사상”이라는 것임을 유추해야 했다.
솔직한 반응을 적자면, filter와 ideal의 정의 자체는 유향집합의 자연스러운 확장이어서 수월했지만, Galois connection 부분은 갑자기 새로운 도구가 등장해서 밀도가 높았다. 특히 monotone과 antitone 두 variant를 동시에 다루는 것이 처음에는 혼란스러웠는데, monotone은 “부등호 방향이 같고” antitone은 “부등호 방향이 반대”라는 것만 기억하면 구분이 된다. \(GF\)가 closure operator가 된다는 결론이 인상적인데, 위상수학에서의 closure operator와의 연결이 궁금하다 — 위상수학 섹션에서 이 개념이 다시 등장할 것이라는 예감이 든다. 전체적으로 이 글은 “순서집합 위의 특수한 부분집합(filter, ideal)”과 “순서집합 사이의 대응(Galois connection)”이라는 두 축을 하나로 묶는 글인데, 두 주제 사이의 연결이 직접적이지 않아서 약간 abrupt한 느낌이 있다.
⚠️ 정의 없이 사용: anti-isomorphism (순서를 뒤집는 동형사상으로 유추되지만, 이전 글 어디에서도 정의되지 않음)
서수와 정렬집합
필터와 아이디얼, Galois connection까지 순서집합 위의 “부분구조”를 다뤘다면, 이 글은 순서집합의 가장 강력한 형태인 정렬집합과 서수를 다룬다. 서두에서 페아노 공리계를 소개하는 것이 좋은 출발점인데, “자연수를 어떻게 엄밀하게 정의하는가”라는 질문 자체가 서수의 motivation이 된다. 0이 자연수이고, successor function \(S\)에 대해 닫혀있고, 수학적 귀납법이 성립한다는 페아노 공리들은 Elements in Ordered Set에서 다룬 least element, supremum 같은 도구들과는 다른 방향 — “순서의 구조”가 아니라 “순서의 생성” — 에 집중한다. 수학적 귀납법이 사실은 페아노 공리의 다섯 번째 공리(induction axiom)에서 나온다는 관찰이 인상적인데, 학부 시절 “귀납법은 당연한 것”이라고 받아들였던 것이 실제로는 공리의 일부였다는 것을 새삼 깨닫게 한다.
재귀 정리(정리 1)가 이 글의 첫 번째 실질적인 도구다. \(f_0=a\)이고 \(f_{n+1}=g(f_n,n)\)를 만족하는 유일한 수열 \(f\)의 존재를 보이는 것인데, 증명의 아이디어 — \(m\)-step computation을 유한수열로 정의하고, 그것들의 합집합 \(F=\bigcup\mathfrak{F}\)를 취한다 — 가 깔끔하다. “compatible한 computation들의 합집합이 함수가 된다”는 논리가 Operation of Binary Relations에서 이항관계의 합성을 정의할 때의 compatible 조건과 구조적으로 비슷하다. 다만 증명에서 귀납법을 사용해야 한다는 점(2번)이 아이러니한데, 귀납법을 보장하는 공리를 사용해서 재귀 정리를 증명하고, 그 재귀 정리로 자연수의 연산을 정의하는 순환이 “닭이 먼저냐 달걀이 먼저냐”라는 느낌이다.
von Neumann의 자연수 모델이 이 글의 개념적 핵심이다. \(0=\emptyset\), \(1=\{\emptyset\}\), \(2=\{0,1\}\), \(S(x)=x\cup\{x\}\)라는 구성은 Ordered Pair에서 순서쌍의 정의가 “인위적이지만 유일하게 작동한다”고 했던 것과 같은 철학을 따른다. “자연수 \(n\)을 원소 \(n\)개짜리 집합으로 정의한다”는 아이디어 자체는 직관적이지만, 이것이 ZFC 공리계 안에서 엄밀하게 작동한다는 것을 확인하는 것이 중요하다. \(m<n\)이 \(m\in n\)과 동치라는 관찰이 인상적인데, “순서관계가 집합의 포함관계에서 나온다”는 것이 Ordered Pair에서 \(\subseteq\)가 부분순서관계였던 것과 연결된다. \(S(\omega)=\omega+1\)부터 시작해서 \(\omega\cdot 2\), \(\omega^2\), \(\omega^\omega\)까지 이어지는 서수의 계층이 흥미로운데, “이 과정이 끝났을 때 새 기호를 주면 또 같은 일을 반복할 수 있다”는 문장이 서수의 본질 — “끝이 없는 순서의 확장” — 을 잘 보여준다.
정렬집합의 정의(정의 2: totally ordered set인데, 공집합이 아닌 임의의 부분집합이 least element를 가짐)가 이 글의 엄밀한 출발점이다. Elements in Ordered Set에서 least element와 minimal element를 구분했던 것인데, 정렬집합에서는 “모든 부분집합이 least element를 가진다”는 조건이 그 구분을 압도적으로 만든다. 예시 3(\(\mathbb{N}\)은 정렬집합이지만 \(\mathbb{R}\)은 아니고, \(\mathbb{R}^{\geq 0}\)은 least element가 있지만 정렬집합이 아니고, \(\mathbb{Z}\)도 정렬집합이 아니다)이 조건의 강함을 잘 보여준다. “least element가 있는 것”과 “모든 부분집합이 least element를 가지는 것”의 차이가 \(\mathbb{R}^{\geq 0}\)과 \(\mathbb{N}\)의 차이로 구체화되는 것이 명확하다.
initial segment의 정의(정의 4: \(x\in S\)이고 \(y\leq x\)이면 \(y\in S\))는 Elements in Ordered Set에서 lower set의 정의와 정확히 같은데, “segment”라는 이름이 붙으면서 정렬집합에서 특별한 성질을 갖게 된다는 것이 핵심이다. 명제 5(정렬집합의 segment는 \((-\infty, a)\) 꼴)가 핵심 결과인데, 증명이 우아하다 — \(A\setminus S\)의 least element \(a\)를 찾고, \(A\setminus S=[a,\infty)\)임을 보이는 구조가 정렬집합의 본질(least element의 존재)을 직접 사용한다. \(A\setminus S\)에 \(x\in[a,\infty)\)가 \(A\setminus S\)에 속하지 않으면 \(x\in S\)이고, \(S\)가 segment이므로 \(a\in S\)가 되어 모순이라는 논리가 깔끔하다. 참고에서 \((-\infty, 3]=\{0,1,2,3\}=(-\infty, 4)\)라는 \(\mathbb{N}\)에서의 예시가 좋은데, “닫힌구간이 열린구간으로도 쓰일 수 있다”는 것이 정렬집합에서의 segment의 특성임을 보여준다. \(\mathbb{R}\)에서는 \((-\infty, a]\)가 \((-\infty, a')\) 꼴로 쓰일 수 없다는 대비가 명확하다.
솔직한 반응을 적자면, 이 글의 전반부(페아노 공리, 재귀 정리, von Neumann 모델)는 상당히 직관적이고 흥미로웠지만, 후반부(정렬집합, initial segment)는 갑자기 엄밀한 정의로 들어가서 밀도가 높아졌다. 특히 “서수”라는 제목인데 정렬집합까지만 다루고 서수 자체의 정의는 다음 글로 미루어진 것이 약간 의아했다 — \(\omega\), \(\omega+1\) 등을 소개하면서 “이것이 서수다”라고 말하지만, 정의 2는 정렬집합이지 서수가 아니므로, “서수란 정렬집합의 동형류인가?”라는 질문에 대한 답이 이 글에서 명확하지 않다. Elements in Ordered Set에서 supremum, infimum을 정리하고 Directed Set에서 lattice와 totally ordered set을 거쳐 Filter and Ideal에서 Galois connection까지 왔는데, 이 글에서 “정렬집합”이라는 새로운 계층이 등장하면서 순서집합의 스펙트럼이 한 단계 더 확장되는 느낌이다. 재귀 정리의 증명에서 “compatible한 computation들의 합집합”이라는 아이디어가 Operation of Binary Relations의 compatible 조건과 비슷하다는 관찰이 마음에 들었는데, “이전 글들의 도구가 이렇게 다른 맥락에서 다시 쓰인다”는 것이 집합론의 매력이다.
⚠️ 정의 없이 사용: Axiom of infinity (이전 글 어디에서도 도입되지 않았으나 이글에서 공리로 제시됨; ZFC 공리계 포스트에서 다루어졌어야 할 공리)
서수들 사이의 순서관계
선택공리까지 오면서 “모든 집합에 well-ordering을 줄 수 있다”는 결론을 봤는데, 이 글은 그 위에 “well-ordered set끼리 어떻게 비교하는가”라는 질문을 던진다. 명제 1이 출발점이다: 두 well-ordered set \(A\), \(B\)가 주어지면, \(A\)에서 \(B\)의 segment로의 order isomorphism이 존재하거나 \(B\)에서 \(A\)의 segment로의 order isomorphism이 존재한다. 증명에서 Zorn’s lemma를 사용하는 구조가 인상적인데, \(A\)의 segment에서 \(B\)의 segment로의 isomorphism들의 집합 \(\mathcal{F}\)가 inductive임을 보인 뒤 maximal element \(u_0\)를 찾고, \(S_0=A\)이거나 \(u_0(S_0)=B\)임을 보이는 논증이 깔끔하다. \(S_0\)과 \(u_0(S_0)\)가 둘 다 proper segment이면 \((a,b)\)를 추가해서 \(u_0\)을 확장할 수 있다는 관찰이 maximality에 직접 모순을 만드는 것이 우아하다.
이 명제의 의미가 크다. 임의의 ordinal은 well-ordered set이므로, 임의의 well-ordered set을 어떤 ordinal의 segment로 볼 수 있다는 결론이 나오는데, 이것이 정리 2(임의의 well-ordered set은 유일한 ordinal과 order isomorphic하다)로 이어진다. Well Ordering에서 “ordinal이란 정렬집합의 동형류인가?”라는 질문에 답이 명확하지 않았는데, 이 글에서 그 답이 “그렇다, 그것도 유일하다”로 제시되는 순간이다. 다만 정리 2의 증명에서 axiom schema of replacement가 필요한데, 이 공리가 이 글에서 처음으로 정식 도입된다. ZFC 공리계 포스트에서 다루어지지 않았던 공리인데, “함수의 image가 존재한다”는 것을 보장하는 것이 이 공리의 역할이라는 설명이 명확하다. 다만 replacement schema가 “왜 ZFC 공리계에 포함되어야 하는가”에 대한 동기가 이 글에서만으로는 충분하지 않아서, “선택공리와 replacement를 합쳐야 비로소 모든 well-ordered set을 ordinal로 분류할 수 있다”는 큰 그림을 잡는 데 시간이 걸렸다.
정리 2의 증명 자체가 상당히 기술적이다. 집합 \(X\)를 “\(S_x\)가 어떤 ordinal과 order isomorphic한 \(x\)들의 집합”으로 정의하고, replacement schema로 \(B\)를 구성한 뒤, \(B\)가 ordinal임을 보이는 부분이 핵심인데, “\(\gamma\in\alpha_x\)이면 \(S_c\)와 \(\gamma\) 사이의 isomorphism이 존재하므로 \(\gamma\in B\)“라는 논증이 ordinal의 구조(\(\alpha\)의 원소가 \(\alpha\)의 부분집합)를 직접 사용한다. Well Ordering에서 von Neumann ordinal의 정의가 “원소가 부분집합인 well-ordered set”이었는데, 그 정의가 여기서 핵심적으로 작동하는 것을 보니 “왜 그런 정의를 했는지”가 이해된다. \(X\)가 segment임을 보이는 부분도 같은 아이디어인데, \(y<x\)이면 \(S_y\)가 \(S_x\)의 segment이므로 \(y\in X\)라는 논리가 정렬집합의 본질을 잘 활용한다.
Hartogs number의 정의가 흥미롭다. “\(A\)의 어떠한 부분집합과도 전단사함수가 존재하지 않는 가장 작은 ordinal”이라는 것이 “ordinal의 크기로 측정할 수 있는 \(A\)의 한계”를 나타내는 것인데, successor ordinal은 이전 ordinal과 전단사가 존재하므로 Hartogs number가 될 수 없다는 관찰이 자연스럽다. Initial ordinal의 정의 — \(\beta<\alpha\)인 모든 \(\beta\)에 대해 \(\beta\)와 \(\alpha\) 사이의 전단사가 없음 — 은 “ordinal의 크기 순서가 곧 집합의 크기 순서와 일치하는 지점”을 포착하는 것인데, \(\omega\)와 \(\omega+1\)은 ordinal로 다르지만 집합의 크기는 같다는 관찰(서두에서 언급)이 initial ordinal이라는 개념의 motivation이 된다.
기수의 정의(\(\aleph_\alpha\))가 이 글의 최종 결과다. 무한한 initial ordinal에 \(\aleph_0, \aleph_1, \ldots\)라는 이름을 붙이는 것이 “ordinal의 순서구조”를 “집합의 크기”로 번역하는 도구인데, \(\omega_0=\omega\)이고 그 뒤로 \(\omega_1, \omega_2, \ldots\)가 이어진다는 것이 서수와 정렬집합에서 \(\omega, \omega+1, \omega\cdot 2, \ldots\)를 소개할 때의 연장선에 있다는 느낌이다. 다만 “기수의 연산”은 다음 글로 미루어져서, 정의만 있고 응용은 없는 상태인데, 동치관계의 예시들에서 “함수에 의해 정의되는 동치관계”를 다룰 때의 맥락이 떠올랐다 — 거기서는 \(f(x)=f(y)\)이면 동치로 묶었는데, 기수는 “전단사가 존재하면 같은 크기”라는 동치관계의 대표적 예시라는 것이 이제야 명확해진다.
솔직한 반응을 적자면, 이 글의 전반부(명제 1과 정리 2)는 상당히 기술적이고 증명이 길어서, “왜 이 증명이 필요한가”에 대한 큰 그림을 잃기 쉬웠다. Zorn’s lemma를 사용하는 구조 자체는 선택공리 글에서 이미 봤지만, 여기서는 isomorphism들의 집합 위에서 적용한다는 점이 다르다. 후반부(Hartogs number, initial ordinal, 기수)는 정의 위주라서 상대적으로 수월했지만, “ordinal의 순서와 집합의 크기 사이의 다리를 놓는다”는 이 글의 역할을 체감하는 데는 시간이 걸렸다. 서수와 정렬집합에서 ordinal을 소개하고 정렬집합의 성질들에서 ordinal의 구조를 다루고 선택공리에서 well-ordering의 존재를 보였다면, 이 글은 그 위에 “ordinal끼리의 비교”와 “크기의 정의”라는 두 축을 추가하는 글인데, “집합론의 기초”라는 큰 그림 안에서 기수라는 개념이 왜 필요한지를 보여주는 전환점이라는 느낌이다.
⚠️ 정의 없이 사용: Axiom schema of replacement (이 글에서 처음 도입되지만, ZFC 공리계 포스트에서 포함되었어야 할 공리; replacement가 없으면 well-ordered set의 ordinal 분류가 불가능함)
기수
서수들 사이의 순서관계까지 오면서 “ordinal의 순서구조”를 “집합의 크기”로 번역하는 도구가 필요하다는 것이 명확해졌는데, 이 글이 바로 그 도구 — 기수(cardinal) — 를 정의한다. Equipotent(전단사함수가 존재함)라는 관계로부터 시작하는 것이 자연스럽다. 정의 1에서 \(A\)와 \(B\) 사이에 전단사함수가 존재하면 equipotent하다고 정의하는데, 이것이 동치관계임을 확인하는 세 가지 조건(반사성: \(\id_A\), 대칭성: \(f^{-1}\), 추이성: 합성)이 모두 이전 글들에서 이미 다뤄진 것들이라는 점이 좋다. 다만 “전체집합 위에서의 동치관계”라는 문제가 있는데, 전체집합의 비존재를 ZFC 공리계에서 이미 보였으므로 equipotent가 특정 집합 위에서 reflexive하지 않다는 것이다. “엄밀한 해결책은 아니지만 이 문제가 해결되었다고 가정하겠다”는 저자의 실용적 태도가 솔직하지만, \(\card A\)를 “equivalence class의 한 representative”로 정의하는 정의 2가 그 해결책의 핵심이라는 것을 명시적으로 설명했으면 더 명확했을 것 같다.
기수 간의 대소관계(정의 3: \(\mathfrak{a}\leq\mathfrak{b}\)는 \(\mathfrak{a}\)가 \(\mathfrak{b}\)의 부분집합과 equipotent하다)가 order relation이 되려면 antisymmetry를 확인해야 하는데, 보조정리 4(Cantor-Bernstein 정리)가 그것을 보인다. 증명이 상당히 기술적이다 — \(C_0=\mathfrak{b}\setminus i(\mathfrak{a})\)부터 시작해서 \(C_{n+1}=f(C_n)\)으로 귀납적으로 정의한 \(C=\bigcup C_n\) 위에서 \(h\)를 \(f\)로, \(C\) 밖에서는 \(h\)를 항등함수로 정의하는 것이 핵심이다. “ \(C\) 안에 있으면 \(f\)로 보내고, 밖에 있으면 그대로 둔다”는 아이디어 자체는 직관적이지만, 이것이 단사이고 전사임을 보이는 논증에서 \(x\in C\)이고 \(y\not\in C\)인 경우(\(h(x)=f(x)\in C\)인데 \(h(y)=y\not\in C\)이므로 모순)를 다루는 부분이 특히 깔끔했다. 다만 증명의 전체 구조를 한눈에 파악하기 어려워서, 처음 읽을 때 “\(f\)와 \(i\)가 각각 뭘 하는 함수였지”를 반복 확인해야 했다 — \(i\)는 \(\mathfrak{a}\)에서 \(\mathfrak{b}\)의 부분집합으로의 전단사이고, \(f\)는 \(\mathfrak{b}\)에서 \(i(\mathfrak{a})\)로의 단사라는 것을 명시적으로 상기시켜주는 한 줄이 있었으면 더 수월했을 것 같다.
정리 5(cardinal들의 집합은 least element를 가진다)가 이 글의 두 번째 핵심이다. \(A=\bigcup_{\mathfrak{a}\in E}\mathfrak{a}\)를 정의하고 well-ordering principle로 \(A\) 위에 well-order를 준 뒤, 각 cardinal \(\mathfrak{a}\)에 대해 \(\mathfrak{a}\)와 equipotent한 \(A\)의 segment 중 least element를 \(\varphi(\mathfrak{a})\)로 정의하는 것이 우아하다. “cardinal의 크기를 segment로 측정한다”는 아이디어가 서수들 사이의 순서관계에서 “ordinal을 segment로 비교한다”는 것과 정확히 같은 구조인데, 거기서는 order isomorphism의 존재를 다뤘고 여기서는 equipotent의 존재를 다룬다는 차이가 있다. \(\mathfrak{a}\leq\mathfrak{b}\)가 \(\varphi(\mathfrak{a})\subset\varphi(\mathfrak{b})\)와 동치임을 보이는 마지막 논증 — \(\varphi(\mathfrak{b})\)의 어떤 segment가 \(\mathfrak{a}\)와 equipotent하면 \(\varphi(\mathfrak{b})\)의 정의에 모순 — 이 정렬집합의 본질(least element의 존재)을 직접 사용한다.
솔직한 반응을 적자면, equipotent라는 관계 자체는 직관적이고 “같은 크기”라는 것의 엄밀한 정의로서 자연스럽지만, Cantor-Bernstein 정리의 증명이 상당히 기술적이라서 “왜 이렇게 복잡한가”라는 느낌이 있었다. \(h\)를 \(C\) 안팎으로 나눠서 정의하는 아이디어가 핵심인데, 이것이 “부분적으로는 \(f\)로, 부분적으로는 항등함수로” 보내는 것이 “ \(\mathfrak{a}\)와 \(\mathfrak{b}\)의 크기가 같다”는 것을 보이는 방법이라는 것을 체감하는 데 시간이 걸렸다. 서수들 사이의 순서관계에서 “ordinal의 순서와 집합의 크기 사이의 다리를 놓는다”고 했는데, 이 글이 그 다리의 반대편 — ordinal이 아니라 cardinal의 관점에서 크기를 정의하는 것 — 을 다룬다. 다만 equipotent의 “전체집합 문제”를 비형식적으로 해결하고 넘어가는 것이 약간 불안한데, 이는 아마도 범주론이나 클래스 이론에서 정식으로 다뤄질 것 같다. 다음 글(기수들 사이의 연산)에서 cardinal에 \(+\), \(\times\) 같은 연산을 부여하면 자연수처럼 보이기 시작할 것이라는 기대가 된다.
⚠️ 정의 없이 사용: Well-ordering principle (Zermelo의 정리와 동치이지만 이전 글 어디에서도 이 이름으로 정의되지 않음)
기수들 사이의 연산
기수(cardinal)의 정의까지 오면서 “집합의 크기”를 엄밀하게 비교할 수 있게 됐지만, 아직 그 위에 산술 연산이 없어서 자연수처럼 다루기 어렵다. 이 글이 cardinal들 간의 합, 곱, 지수를 정의하여 그 빈자를 채운다. 합과 곱의 정의(정의 1)는 직관적이다: cardinal들의 family \((\mathfrak{a}_i)_{i\in I}\)에 대해, 대응하는 집합들의 분리합집합과 곱집합의 cardinal를 취하면 된다. Cardinals에서 cardinal를 equipotent 동치류의 representative로 정의했으므로, “어떤 representative를 고르든 결과가 같은지”를 확인해야 하는데, “ \(A_i\)와 \(\mathfrak{a}_i\)가 equipotent하면 \(\prod A_i\)와 \(\prod \mathfrak{a}_i\) 사이에도 bijection이 존재한다”는 관찰이 이를 보장한다. Sum of Sets에서 분리합집합을 정의한 이유가 여기서 드러난다 — 원래 집합끼리 서로소가 아닐 수 있으므로 cardinal를 정의하려면 합집합이 아니라 분리합집합이 필요했던 것이다. “굳이 분리합집합이라는 직관적인 이름을 놔두고 합이라는 용어를 썼다”는 저자의 말이 Sum of Sets에서의 선택을 retrospectively 정당화한다.
명제 2(재배열과 분할에 의한 합/곱의 보존)는 Union and Intersection에서 합집합/교집합의 reindexing을 다뤘던 것과 구조적으로 같은 결과인데, 거기서는 전사함수로 index set을 바꿔도 변하지 않았고 여기서는 bijection으로 바꿔도 변하지 않는다. 명제 3( \(\mathfrak{a}_i=\mathbf{0}\) 또는 \(\mathbf{1}\)인 항을 무시해도 된다)은 자명하지만, 공집합과의 합이 cardinal를 바꾸지 않고, singleton과의 곱이 cardinal를 바꾸지 않는다는 것이 \(\mathfrak{a}+\mathbf{0}=\mathfrak{a}\), \(\mathfrak{a}\cdot\mathbf{1}=\mathfrak{a}\)라는 항등원 성질의 출발점이 된다는 점이 좋다. 유한한 경우에 \(\mathfrak{a}+\mathfrak{b}=\mathfrak{b}+\mathfrak{a}\), \(\mathfrak{a}\mathfrak{b}=\mathfrak{b}\mathfrak{a}\), 결합법칙, 분배법칙이 모두 성립한다는 관찰은 자연수 산술을 cardinal 산술이 일반화함을 보여주는데, 분배법칙이 명제 4(double-index family에 대한 곱의 합 분배)로부터 나온다는 것이 Property of Products의 명제 6(합집합과 교집합 사이의 분배법칙)과 직접 연결된다.
지수 \(\mathfrak{b}^\mathfrak{a}\)의 정의(정의 7: \(\mathfrak{b}\)에서 \(\mathfrak{a}\)로의 함수들의 집합의 cardinal)가 이 글의 가장 개념적으로 흥미로운 부분이다. Product of Sets에서 \(B^A\)와 \(\Fun(A,B)\)의 전단사를 보였는데, 그것을 cardinal로 번역한 것에 불과하지만, “함수의 집합의 크기”라는 것이 cardinal 수준에서 의미를 갖는다는 것이 새롭다. \(\mathfrak{a}^\mathbf{0}=\mathbf{1}\), \(\mathfrak{a}^\mathbf{1}=\mathfrak{a}\), \(\mathbf{1}^\mathfrak{a}=\mathbf{1}\), \(\mathbf{0}^\mathfrak{a}=\mathbf{0}\) 같은 성질들은 함수의 집합을 직접 세어보면 나오는 것들이고, 명제 9( \(\mathcal{P}(A)\)의 cardinal는 \(\mathbf{2}^\mathfrak{a}\) )는 “부분집합은 원소마다 포함/미포함의 두 선택으로 결정된다”는 것을 cardinal로 번역한 것인데, \(\mathbf{2}\)를 \(\{\alpha,\beta\}\)로 놓고 포함이면 \(\alpha\), 미포함이면 \(\beta\)로 보내는 함수와의 대응이 깔끔하다.
명제 10(Cantor의 정리: \(\mathbf{2}^\mathfrak{a}>\mathfrak{a}\))이 이 글의 핵심 결과다. \(X=\{x\mid x\not\in f(x)\}\)라는 대각선 논증이 Cantor의 원래 증명인데, “임의의 함수 \(f\)의 image 밖에 항상 어떤 집합이 존재한다”는 것이 “멱집합은 원래 집합보다 항상 크다”는 것으로 해석된다. 유한한 경우 \(\mathfrak{a}\)와 \(\mathbf{2}^\mathfrak{a}\) 사이에 항상 어떤 cardinal이 있지만, 무한한 경우 이것이 자명하지 않다는 관찰이 동기가 되어 \(\beth_0=\aleph_0\), \(\beth_{\alpha+1}=\mathbf{2}^{\beth_\alpha}\)라는 새로운 서수열이 도입되고, 연속체 가설( \(\aleph_1=\beth_1\) )이 제기된다. Gödel과 Cohen이 이 가설이 ZFC에서 독립적임을 증명했다는 것은 놀라운데, “증명할 수도 반증할 수도 없다”는 결론이 집합론의 한계를 동시에 보여주는 느낌이다. 다만 \(\beth\) 표기 자체가 이 글에서 처음 등장하는데, 서수열 \(\aleph\)와의 관계 설명이 간결해서 처음 읽을 때 “\(\beth\)가 정확히 뭘 측정하는 것인가”를 한두 번 다시 읽었다 — \(\aleph\)가 ordinal의 순서를 따른다면, \(\beth\)는 멱집합 연산의 반복을 따른다는 것이 핵심이다.
솔직히, 이 글의 전반부(합과 곱의 정의와 기본 성질)는 Cardinals의 자연스러운 연장이어서 수월했지만, 후반부(지수와 Cantor의 정리, 연속체 가설)는 밀도가 높았다. 특히 Cantor의 정리의 증명이 대각선 논증이라는 고전적 기법을 사용하면서도, 그 결과가 연속체 가설이라는 미해결 문제로 이어진다는 것이 인상적이다. Cardinals에서 cardinal의 대소관계와 Cantor-Bernstein 정리를 다룰 때 “cardinal이 자연수를 일반화한다”고 했는데, 이 글에서 합, 곱, 지수까지 부여되면서 그 말이 실감난다. 다만 연속체 가설의 독립성 증명에 대한 설명이 두 문장으로 끝나서, “Gödel은 왜 반증 불가능을 먼저 증명했고, Cohen은 어떤 기법으로 증명 불가능을 보였는지”에 대한 감이 전혀 없어서 아쉬웠다 — forcing이라는 기법의 이름이라도 나왔으면 좋았을 것 같다. Natural Numbers에서 정수의 정의로 넘어가기 전에, cardinal 산술이 자연수 산술을 정확히 포함한다는 것을 확인하는 글로서의 역할은 충실히 수행하고 있다.
정렬집합의 성질들
서수와 정렬집합 글에서 ordinal을 간략히 소개하고 정의를 미뤄뒀는데, 이 글이 그 정의를 완성한다. 명제 1이 출발점이다: well-ordered set \(A\)의 segment들을 모은 집합 \(A^\ast\)도 well-ordered이고, \(x\mapsto S_x\)가 \(A\)와 \(A^\ast\setminus\{A\}\) 사이의 order isomorphism이라는 것이다. 서수와 정렬집합에서 segment가 \((-\infty, a)\) 꼴임을 보였고, Order Relations에서 order isomorphism을 정의했는데, 이 두 결과가 여기서 직접 활용된다. “각 well-ordered set은 자신보다 작은 well-ordered set들의 집합이다”라는 해석이 인상적인데, 서수를 “순서의 크기”가 아니라 “순서들의 집합”으로 보는 관점이von Neumann의 정의로 이어진다.
정의 2(von Neumann ordinal)가 이 글의 개념적 핵심이다. \(S\)의 원소들이 \(\in\)으로 strictly well-ordered되고, 각 원소가 \(S\)의 부분집합이어야 한다는 두 조건인데, “원소가 부분집합이다”라는 것이 \(2\in 3=\{0,1,2\}\)이고 \(2=\{0,1\}\subseteq\{0,1,2\}\)라는 구체적 예시에서 확인되니 납득이 된다. 서수와 정렬집합에서 \(m<n\)이 \(m\in n\)과 동치라고 했을 때의 관찰이 여기서 정의의 기반으로 쓰인다는 것이 좋다. 다만 “strictly well-ordered”라는 표현이 Order Relations에서 정의한 strict order와 서수와 정렬집합에서 정의한 well-ordered set의 조합인데, 이 조합이 명시적으로 정의되지 않아서 약간 주의가 필요했다 — “\(\in\)이 strict order이고, 그 위에서 well-ordered”라는 의미로 해석했다.
명제 3(ordinal의 successor도 ordinal)은 자명에 가깝다 — \(\alpha\)의 원소들은 \(S(\alpha)\)에도 들어있고, 새로 추가한 \(\alpha\) 자체가 \(S(\alpha)\)의 부분집합이므로 두 번째 조건이 만족된다. 서수와 정렬집합에서 \(S(\omega)=\omega+1\)부터 시작해서 \(\omega\cdot 2\), \(\omega^2\)까지 이어지는 계층을 소개했는데, 그 과정이 여기서 명제 3으로 정당화되는 것이다.
명제 4와 보조정리 5가 이 글의 가장 기술적인 부분이다. well-ordered set들의 family \((A_i)\)가 서로 segment 관계에 있으면, 합집합 \(A=\bigcup A_i\) 위에 유일한 well-ordering이 존재한다는 것이다. 보조정리 5의 증명 — \(R=\bigcup R_i\)가 유일한 후보이고, 이것이 order relation임을 직접 보이는 것 — 이 깔끔하다. 반사성은 각 \(R_i\)에서, anti-symmetry도 각 \(R_i\)에서, 추이성은 \(x,y,z\)를 모두 포함하는 \(A_l\)를 찾아서 \(R_l\)에서 해결하는 구조가 “합집합의 순서가 각 조각의 순서를 확장한다”는 것을 명확히 보여준다. \(A\)가 well-ordered임을 보이는 부분에서, \(X\cap A_i\)의 least element \(a\)가 \(X\) 전체의 least element가 되는 논증 — \(A_j\)가 \(A_i\)의 segment이면 \(x\in A_i\)이므로 \(a\leq x\)이고, \(A_i\)가 \(A_j\)의 segment이면 \(x<a\)가 \(a\)의 minimality에 모순 — 이 정렬집합의 본질(least element의 존재)을 직접 사용한다.
정의 6(successor ordinal과 limit ordinal의 구분)은 서수와 정렬집합에서 \(\omega\)의 존재를 다룰 때 예고되었던 것이다. \(\omega\) 이전에 무한히 많은 자연수들이 있어서 귀납법을 순차적으로 사용할 수 없다는 문제 — “maximal element가 없는 ordinal” — 가 limit ordinal이라는 이름으로 포착되는 것이 자연스럽다. successor ordinal은 \(\alpha=S(\beta)=\beta+1\)로 쓸 수 있으므로 “따름서수”라는 이름이 적절하고, limit ordinal은 “극한서수”인데, \(\omega\)가 대표적 예시라는 것이 서수와 정렬집합의 \(0,1,2,\cdots;\omega\) 패턴과 맞다.
보조정리 7(transfinite induction)이 이 글의 최종 결과다. 서수와 정렬집합에서 “귀납법을 일반 ordinal로 확장하는 것이 다소 어렵다”고 했는데, 이 보조정리가 그 문제를 해결한다. 조건 1(\(\mathcal{S}\)가 임의의 합집합에 닫혀있다)이 limit ordinal의 존재를 다루는 핵심인데, \(\omega=\bigcup_{n\in\omega}n\)이라는 관찰이 이를 구체적으로 보여준다. 증명이 우아하다 — \(A^\ast\setminus\mathcal{S}\)의 least element \(S\)를 찾고, \(S\)가 greatest element가 없으면 \(S=\bigcup S_x\)이므로 조건 1에 의해 \(S\in\mathcal{S}\)이고, greatest element \(a\)가 있으면 \(S=S_a\cup\{a\}\)이므로 조건 2에 의해 \(S\in\mathcal{S}\)라는 구조가, 정렬집합의 본질(least element의 존재)을 자기 자신에게 적용하는 좋은 예시다.
솔직한 반응을 적자면, 이 글의 전반부(von Neumann ordinal의 정의와 성질)는 서수와 정렬집합의 자연스러운 연장이어서 수월했지만, 후반부(명제 4의 합집합 well-ordering과 transfinite induction)는 밀도가 높았다. 특히 명제 4의 증명에서 “두 well-ordered set이 segment 관계에 있으면 합집합도 well-ordered”라는 결론이, 서수와 정렬집합에서 “정렬집합의 segment는 \((-\infty, a)\) 꼴”이라는 결과를 직접 사용한다는 것이 좋다 — 이전 글들의 도구가 이렇게 한데 모이는 순간이다. transfinite induction의 조건 1이 “합집합에 닫혀있다”는 것인데, Union and Intersection에서 \(I=\emptyset\) 문제를 다룰 때의 맥락이 떠올랐다 — 빈집합의 합집합이 공집합이 되는 것이 limit ordinal의 경우와 구조적으로 비슷하다. 서수와 정렬집합에서 “서수란 정렬집합의 동형류인가?”라는 질문에 대한 답이 이 글에서von Neumann 정의로 제시되는데, “동형류”가 아니라 “원소들이 부분집합인 집합”이라는 구체적 구성이 인상적이다.
선택공리
정렬집합의 성질들까지 오면서 “모든 집합에 well-ordering을 줄 수 있는가”라는 질문이 자연스럽게 떠올랐는데, 이 글이 바로 그 질문의 답 — 선택공리 — 을 제시한다. 선택공리 자체의 정의는 간결하다: 임의의 집합들의 모임 \(\mathcal{S}\) 위에서 \(f(X)\in X\)를 만족하는 choice function \(f\)가 존재한다는 것이다. “각 집합에서 원소를 하나씩 뽑아오는 함수”라는 설명이 직관적이고, “우리가 사실 알게 모르게 계속 사용해 왔다”는 저자의 말이 솔직해서 좋다. ZFC 공리계에서 선택공리를 별도로 다루지 않았는데, Property of Products에서 명제 2(부분집합으로의 extension 존재)를 증명할 때 이미 사용하고 있었다는 관찰이 인상적이다 — “선택공리를 몰랐던 것이 아니라 이름을 몰랐던 것”이라는 느낌이다.
정리 1(Zermelo의 정리: 임의의 집합에 well-ordering을 줄 수 있다)이 이 글의 첫 번째 핵심 결과다. \((\mathbb{R},\leq)\)가 well-ordered set이 아니지만, \(\mathbb{R}\) 위에 새로운 order relation \(\preceq\)를 정의하면 well-ordered set으로 만들 수 있다는 것이 충격적이다. Well Ordering에서 well-ordered set의 정의(“모든 부분집합이 least element를 가짐”)가 얼마나 강한 조건인지 확인했는데, 선택공리 하나로 임의의 집합에 그 조건을 만족하는 순서를 부여할 수 있다는 것이 놀랍다.
보조정리 2(Tarski-Bourbaki)의 증명이 이 글에서 가장 기술적인 부분이다. \(\mathcal{M}\)을 조건을 만족하는 관계들의 모임으로 정의하고, \(U\)와 \(U'\)의 segment \(V\)를 비교하는 논증이 Well Ordering의 보조정리 5(segment 관계의 well-ordering)을 직접 사용한다. “임의의 두 well-ordered set은 segment 관계에 있다”는 것을 보이는 구조가 서수와 정렬집합에서 “ordinal 사이의 관계”를 다룰 때와 유사한데, \(V=S_x=S_{x'}\)에서 \(x=p(S_x)=p(V)=p(S_{x'})=x'\)라는 계산이 깔끔하다. \(M\)에 greatest element \(a=p(M)\)를 추가하는 마지막 단계 — “\(M\not\in\mathcal{S}\)이므로 \(M=A\)“라는 결론 — 가 정렬집합의 본질(least element의 존재)을 활용하는 좋은 예시다.
Zorn’s lemma(정리 4)가 이 글의 두 번째 핵심이다. Inductive set의 정의(“임의의 totally ordered subset이 upper bound를 가짐”)가 Property of Products에서 부분집합으로의 extension을 다룰 때의 맥락과 연결되는데, 거기서는 “모든 성분이 공집합이 아니다”는 가정으로 선택을 했고, 여기서는 “totally ordered subset의 upper bound 존재”라는 가정으로 maximal element를 찾는다. 명제 5의 증명에서 \(\mathcal{S}\)를 strict upper bound를 갖는 부분집합들로 정의하고, \(p(S)\)를 strict upper bound로 뽑아오는 함수를 사용하는 것이 보조정리 2를 직접 적용하는 구조가 효율적이다. \(M\)이 strict upper bound를 갖지 못하므로 \(m\in M\)이고, \(m\leq m'\)이면 \(m=m'\)이라는 결론 — “maximal element를 찾았다” — 가 정렬집합의 성질을 극단적으로 활용하는 것이다.
선택공리, Zermelo의 정리, Zorn’s lemma의 동치성을 보이는 마지막 부분이 이 글의 구조적 완결성을 제공한다. Zermelo의 정리에서 choice function을 만드는 것 — least element를 \(p(S)\)로 정의 — 은 직관적이고, Zorn’s lemma에서 choice function을 만드는 것 — 부분집합 위의 choice function들을 모아서 inductive set을 구성 — 은 더 기술적이다. \(\tilde{f}(X)\)를 cases로 정의하는 부분이 깔끔한데, “기존 choice function을 확장하는 것”이 \(F\)의 maximality에 모순이라는 논리가 Zorn’s lemma의 본질을 보여준다.
솔직한 반응을 적자면, 이 글의 전반부(선택공리와 Zermelo의 정리)는 상당히 직관적이고 흥미로웠지만, 후반부(Zorn’s lemma와 동치성 증명)는 밀도가 높았다. 특히 보조정리 2의 증명에서 \(\mathcal{M}\)의 원소들이 segment 관계를 만족한다는 것을 보이는 부분이 상당히 길어서, “왜 이 증명이 필요한가”에 대한 큰 그림을 잃기 쉬웠다. Zorn’s lemma 자체는 “inductive set은 maximal element를 가진다”는 간결한 결론인데, 그 증명이 보조정리 2를 거쳐야 한다는 것이 체감상 꽤 멀게 느껴졌다. Property of Products에서 “선택공리를 사용한다”고 언급만 했던 것을 여기서 정식으로 다루는 구조가 좋고, 서수와 정렬집합에서 “모든 ordinal은 정렬집합이다”라고 했던 것을 “모든 집합에 well-ordering을 줄 수 있다”로 확장하는 것이 이 글의 큰 그림이다. 다만 Zorn’s lemma의 응용 예시(대수적 폐해의 존재, 기저의 존재 등)가 없어서, “이게 어디에 쓰이는가”에 대한 감을 잡기 어려웠다 — 이후 글들에서 구체적으로 활용될 것이라는 기대가 된다.
자연수와 무한집합
서수와 정렬집합에서 von Neumann의 구성(\(0=\emptyset\), \(S(x)=x\cup\{x\}\))으로 자연수를 정의했지만, 이 글은 cardinal의 관점에서 자연수를 다시 정의한다. 정의 1(“유한한 cardinal을 자연수라 부른다”)은 간결한데, \(\mathfrak{a}\neq\mathfrak{a}+\mathbf{1}\)이라는 조건이 “하나 더해도 같지 않은 크기”라는 직관과 맞다. Cardinals에서 cardinal의 대소관계를 이미 정의했으므로, 자연수는 그 부분집합으로서 자동으로 well-ordered되고, 따라서 귀납법을 사용할 수 있다는 관찰(정리 5와 보조정리 7의 직접적 활용)이 효율적이다. 서수와 정렬집합에서 “자연수를 어떻게 엄밀하게 정의하는가”라는 질문에 페아노 공리로 답했는데, 여기서는 cardinal 산술로 답하는 것이 인상적이다 — 두 정의가 같은 대상을 가리키는지 확인하는 것이 이후의 과제일 것 같다.
명제 4(\(\mathfrak{a}\leq n\)이면 \(\mathfrak{a}\)도 자연수)가 핵심적인 성질이다. “자연수보다 작은 cardinal은 모두 자연수”라는 것이 “유한의 세계는 닫혀있다”는 것을 보여주는데, 증명에서 \((\mathfrak{a}+1)+\mathfrak{b}\neq\mathfrak{a}+\mathfrak{b}\)로부터 \(\mathfrak{a}+1\neq\mathfrak{a}\)를 유도하는 부분이 깔끔하다. Operation of Cardinals에서 \(\mathfrak{a}+\mathbf{1}=\mathfrak{b}+\mathbf{1}\iff\mathfrak{a}=\mathfrak{b}\)라는 소거법칙을 이미 보였는데, 그것이 여기서 직접 활용되는 구조가 좋다. 명제 5(\(a<b\)이면 \(b=a+c\)인 자연수 \(c>0\) 존재)와 명제 6(\(x\mapsto a+x\)가 order isomorphism)은 자연수 산술의 기초를 다지는 결과인데, “구간 \([a,b]\)를 원소 \(b-a+1\)개짜리 집합과 동일시할 수 있다”는 결론이 이후 유한수열의 정의로 자연스럽게 이어진다.
특성함수 섹션(정의 8, 명제 9)은 갑자기 전환되는 느낌이다. \(\chi_X:E\rightarrow\{0,1\}\)의 정의 자체는 직관적이고, \(\chi_{X\cap Y}=\chi_X\chi_Y\) 같은 성질도 유용하지만, “자연수와 무한집합”이라는 제목 아래에 이 내용이 포함되는 것이 자연스러운지 의문이었다. 아마 이후 다른 글에서 특성함수를 본격적으로 활용할 때 동기가 드러날 것 같다. 유클리드 호제법(정리 10)은 well-ordering principle을 직접 사용해서 \(a<bp\)를 만족하는 \(p\)의 least element를 찾는 구조가 깔끔하고, Bézout’s lemma(따름정리 11)는 “정수를 아직 정의하지 않았으므로 증명을 생략한다”는 저자의 솔직한 태도가 좋다.
무한집합의 성질 부분이 이 글의 백미다. 보조정리 13(무한집합은 \(\mathbb{N}\)과 equipotent한 부분집합을 포함한다)의 증명이 우아한데, \(\mathbb{N}\)의 segment는 항상 유한하므로 \(\mathbb{N}\)이 \(A\)의 segment와 isomorphic해야 한다는 논리가 서수들 사이의 순서관계의 명제 1을 직접 사용한다. 보조정리 14(\(\mathbb{N}\times\mathbb{N}\)은 \(\mathbb{N}\)과 equipotent)는 대각선 논증의 원형 — \((1,1),(1,2),(2,1),(1,3),(2,2),(3,1),\cdots\) — 이 Cantor의 원래 아이디어임을 보여준다. 명제 12(\(\mathfrak{a}^2=\mathfrak{a}\) for infinite \(\mathfrak{a}\))의 증명이 이 글에서 가장 기술적인 부분인데, Zorn’s lemma를 사용해서 \(\mathfrak{b}^2=\mathfrak{b}\)인 \(\mathfrak{b}<\mathfrak{a}\)인 경우를 확장하는 구조가 Axiom of Choice에서의 Zorn’s lemma 활용과 패턴이 같다. 다만 증명의 핵심 — \(\card(A\setminus F)>\mathfrak{b}\)임을 보이는 논증에서 \(\mathfrak{a}\leq\mathfrak{b}+\mathfrak{b}=2\mathfrak{b}=\mathfrak{b}\)라는 계산이 처음에는 \(\mathfrak{b}=2\mathfrak{b}\)라는 결론이 놀라워서 한두 번 다시 읽었다. 무한 cardinal의 산술이 유한 cardinal과 이렇게 다르다는 것이 충격적이다.
솔직히, 이 글의 전반부(자연수의 cardinal 정의와 대소관계)는 Cardinals와 Operation of Cardinals의 자연스러운 연장이어서 수월했지만, 후반부(무한집합의 성질과 \(\mathfrak{a}^2=\mathfrak{a}\))는 상당히 밀도가 높았다. 특히 명제 12의 증명에서 Zorn’s lemma를 사용하는 구조가 Axiom of Choice에서 봤던 것과 유사하면서도, 적용 대상이 “bijection의 extension”이라는 점에서 새로운 맥락이었다. Cardinals에서 equipotent 관계를 정의하고 Operation of Cardinals에서 cardinal 산술을 부여한 뒤, 이 글에서 “유한 cardinal = 자연수”라는 identification이 이루어지는 큰 그림이 명확하다. 다만 Bézout’s lemma가 “정수를 아직 정의하지 않았다”는 이유로 증명이 생략된 것이 아쉽다 — 정수의 정의가 어디서 이루어질지(아마 별도의 카테고리?) 궁금하다. 따름정리 15(\(\mathfrak{a}^n=\mathfrak{a}\))는 Operation of Cardinals의 Cantor의 정리(\(\mathbf{2}^\mathfrak{a}>\mathfrak{a}\))와 대비되는데, \(\mathfrak{a}^n=\mathfrak{a}\)이면서 \(\mathbf{2}^\mathfrak{a}>\mathfrak{a}\)라는 것이 “곱셈으로는 무한을 넘을 수 없지만 지수로는 넘을 수 있다”는 것을 보여주는 인상적인 결과다.
극한
집합론 카테고리의 마지막 글답게, 이전 글들의 도구들을 총동원해서 “극한”이라는 개념을 구성한다. Inverse system과 direct system의 정의로 시작하는데, 둘 다 index set \(I\) 위에 preorder가 주어지고 각 \(i\leq j\)마다 함수가 정의된다는 공통점이 있지만, 함수의 방향이 정확히 반대이다. Inverse system은 \(f_{ij}:A_j\to A_i\) (큰 인덱스에서 작은 인덱스로), directed system은 \(f_{ij}:A_i\to A_j\) (작은 인덱스에서 큰 인덱스로)인데, 이 차이가 이후 전체 구조를 결정한다. 조합법칙 \(f_{ik}=f_{ij}\circ f_{jk}\) (inverse) 대 \(f_{ik}=f_{jk}\circ f_{ij}\) (direct)의 차이도 함수의 방향을 반영하는 것이 자연스럽다.
Inverse limit의 universal property가 Product of Sets의 곱의 universal property와 정확히 대비되는 것이 이 글의 첫 번째 핵심 관찰이다. 곱에서는 \(f_i=\pr_i\circ f\)를 만족하는 유일한 \(f\)가 존재했고, inverse limit에서는 \(u_i=f_i\circ u\)를 만족하는 유일한 \(u\)가 존재한다. 화살표의 방향이 정확히 반대인데, 곱이 “안에서 밖으로” ( \(B\to\prod A_i\)에서 각 좌표로의 projection )였다면 inverse limit은 “밖에서 안으로” ( \(B\)에서 각 \(A_i\)로의 함수들로부터 \(B\to\varprojlim A_i\)를 구성 )라는 것이 핵심이다. 존재성 증명에서 \(A=\{x\in\prod A_i\mid\pr_i x=f_{ij}(\pr_j x)\}\)로 정의하는 것이 Product of Sets에서 곱의 universal property를 사용하는 구체적 예시인데, “조건을 만족하는 원소들의 부분집합”이라는 아이디어가 ZFC 공리계의 분류 공리꼴을 직접 활용한다는 점이 좋다.
Direct limit의 존재성 증명이 더 흥미롭다. 분리합집합 \(S=\sum A_i\) 위의 동치관계 \(R\)를 \(x\mathrel{R}y\) iff \(\exists k\geq i,j: f_{ki}(x)=f_{kj}(y)\)로 정의하고, quotient \(S/R\)를 취하는 것인데, \(f_{ki}\)와 \(f_{kj}\)의 합성 성질이 추이성을 보장하는 것이 핵심이다. Sum of Sets에서 분리합집합을 “어디서 왔는지”라는 태그를 붙여서 서로소 family를 만드는 것이라고 했는데, direct limit은 그 위에 동치관계를 더해서 “어디서 왔는지”를 부분적으로 지우는 것이라는 직관이 든다. 유향집합에서 정의한 right directed set의 조건 — 두 원소의 upper bound가 존재 — 이 동치류가 well-defined 되도록 보장하는 것이, Filter and Ideal에서 Galois connection을 다룰 때의 directedness 활용과 연결된다.
유일성 증명이 Product of Sets의 곱의 유일성 증명과 정확히 같은 패턴이라는 것이 인상적이다. \(\pr_i(u(y))=\pr_i(v(y))\)로부터 \(u(y)=v(y)\)를 유도하는 것이 곱에서의 “좌표가 같으면 같은 원소” 원리인데, inverse limit에서는 \(\pr_i(u(y))=f_i(u(y))=u_i(y)=f_i(v(y))=\pr_i(v(y))\)라는 계산으로 같은 결론에 도달한다. universal property의 유일성 조건이 이렇게 다른 맥락에서 동일한 구조로 작동하는 것을 보니, “universal property는 존재와 유일성을 동시에 보장하는 도구”라는 것이 체감된다.
명제 8(inverse system 사이의 함수가 inverse limit 사이의 함수를 유도한다)은 Product of Sets의 유도사상(\(f\mapsto v\circ f\circ u\))과 구조적으로 비슷하다. 거기서는 \(u:A'\to A\)와 \(v:B\to B'\)가 주어지면 \(f\mapsto v\circ f\circ u\)가 단사/전사가 되는 조건을 retraction과 section으로 증명했는데, 여기서는 universal property로 유일성을 보장한다는 차이가 있다. \(g_{ij}\circ u_j=u_i\circ f_{ij}\)라는 조건이 “diagram이 commute한다”는 것인데, Functions에서 commutative diagram을 도입할 때 예고한 것이 여기서 구체적으로 실현되는 느낌이다.
Germ이라는 예시가 마지막에 나오는데, \(A_i\)가 부분집합들의 family이고 \(F_i=A_i\to B\)일 때 direct limit의 원소가 germ이 된다. 동치관계가 \(u\mathrel{R}v\) iff \(\exists k: u\vert_{A_k}=v\vert_{A_k}\)인데, “충분히 작은 근방에서 같으면 같은 germ”이라는 해석이 위상수학에서의 germ이나 스토크의 정리에서의 조각별 정의 함수를 떠올리게 한다. 다만 이 예시가 정의만 있고 응용이 없어서, “germ이 정확히 어디에 쓰이는가”에 대한 감을 잡기 어려웠다 — 아마 대수기하학이나 해석학에서 본격적으로 활용될 것 같다.
솔직한 반응을 적자면, 이 글의 전반부(inverse limit의 정의와 universal property)는 Product of Sets의 자연스러운 확장이어서 수월했지만, 후반부(direct limit의 존재성 증명과 germ)는 밀도가 높았다. 특히 direct limit의 존재성 증명에서 분리합집합 위의 동치관계를 정의하는 것이 Sum of Sets와 Equivalence Relations의 두 도구를 동시에 사용하는 것인데, “왜 분리합집합인가”에 대한 답이 여기서 드러난다 — 원래 집합끼리 서로소가 아니므로, direct limit을 정의하려면 먼저 서로소로 만들어야 했던 것이다. Inverse limit과 direct limit이 각각 곱과 합의 universal property를 사용한다는 대비가 명확한데, “극한이라는 개념이 곱과 합의 쌍대적 확장이다”라는 것이 이 글의 핵심 메시지다. 다만 이 글이 상당히 짧고 예시가 적어서, 집합론 카테고리의 마지막 글로서의 무게감이 약간 부족했다 — inverse limit과 direct limit이 실제로 어떻게 쓰이는지(아마 범주론에서 본격적으로 다뤄질 것 같다)에 대한 예고가 있었다면 더 완성도 있었을 것 같다.
카테고리 회고
집합론은 “집합이라는 대상을 어떻게 엄밀하게 다루는가”에서 시작해서, 순서쌍 → 이항관계 → 함수 → 동치관계 → 순서관계 → 서수 → 기수 → 극한까지 이어지는 계보가 인상적이다. ZFC 공리계에서 공집합과 짝 공리만 가지고 시작해서, 자연수와 실수까지 구성할 수 있다는 것이 놀랍다. 가장 막혔던 지점은 Cantor의 정리에서 \(\mathbf{2}^\mathfrak{a}>\mathfrak{a}\)를 보이는 대각선 논증과, 선택공리의 동치성 증명(Zorn’s lemma, Zermelo의 정리)에서의 기술적인 부분이었다. 선형대수학 카테고리에서 체 \(\mathbb{K}\)의 원소들을 “이미 존재하는 것으로” 받아들였는데, 집합론에서는 그 원소들조차 공리로부터 구성해야 한다는 점이 새롭다 — 수학의 기초가 어디에 놓여 있는지를 체감하는 카테고리였다.
댓글남기기