수학 개념 지도
타입 이론과 범주론

요네다 보조정리(Yoneda lemma)

대상 A로 들어오는 화살표 전체가 A를 동형⁠(isomorphism)⁠인 것까지 정확히 결정한다는 정리. Hom(−, A)에서 (방향이 뒤집히는, 집합⁠(set)⁠ 값) 함자⁠(functor)⁠ F로 가는 자연 변환⁠(natural transformation)⁠은 F(A)의 원소⁠(element)⁠ 하나와 정확히 대응하고, 그 원소는 항등 화살표⁠(identity arrow)⁠ id_A가 가는 곳이다.

Nat(Hom(−,A), F)  ≅  F(A),α  ↦  αA(idA)\mathrm{Nat}\bigl(\mathrm{Hom}(-,A),\,F\bigr)\;\cong\;F(A),\qquad \alpha\;\mapsto\;\alpha_A(\mathrm{id}_A)
먼저 보면 좋은 개념자연 변환함자

12가 60을 나눈다는 것을 12와 60의 약수⁠(divisor)⁠만 보고 확인할 수 있을까요? 12의 약수는 1, 2, 3, 4, 6, 12이고, 이 여섯 수가 모두 60을 나누는지 보면 됩니다. 일반적으로 a | b는 'a를 나누는 수는 모두 b도 나눈다'와 같습니다. 한쪽 방향(⇒)은 나눗셈의 추이성입니다. 다른 쪽(⇐)은 한 수로 끝납니다. a 자신이 a를 나누므로 a도 b를 나눕니다. 그래서 약수의 목록이 같은 두 양의 정수⁠(integer)⁠는 같은 수입니다. 대상이 '그 대상으로 들어오는 화살표 전체'로 결정되는 것입니다. 이 짧은 논증의 두 번째 걸음, 곧 자기 자신(항등 화살표)을 넣어 보는 한 수가 요네다 보조정리(Yoneda lemma) 증명의 핵심입니다.

일반적인 범주⁠(category)⁠에서도 대상 A로 들어오는 화살표를 모으면 함자 하나가 생깁니다. 대상 X마다 화살표 X → A들의 집합 Hom(X,A)\mathrm{Hom}(X, A)를 정하고, 화살표 g:X′→Xg: X'\to X는 'g를 앞에 붙이기' f↦f∘gf\mapsto f\circ g로 보냅니다. 화살표의 방향이 뒤집히는 함자입니다. 이것은 'X의 눈으로 본 A'들의 모음입니다. 집합의 범주에서 원소 하나짜리 집합 1의 눈으로 보면 Hom(1, A)는 A의 원소들이고, 원소 두 개짜리 집합의 눈으로 보면 A의 원소 쌍들입니다. 요네다 보조정리는 이렇습니다. 𝒞가 국소적으로 작은⁠(locally small)⁠ 범주이고(그래야 Hom(X, A)가 집합입니다), F가 𝒞에서 집합의 범주로 가는, 방향이 뒤집히는 아무 함자이면, Hom(−, A)에서 F로 가는 자연 변환은 F(A)F(A)의 원소와 정확히 하나씩 대응합니다.

Nat(Hom(−,A), F)  ≅  F(A),α  ↦  αA(idA)\mathrm{Nat}\bigl(\mathrm{Hom}(-,A),\,F\bigr)\;\cong\;F(A),\qquad \alpha\;\mapsto\;\alpha_A(\mathrm{id}_A)

증명은 12 | 60의 논증과 같습니다. 자연 변환 α가 주어지면 항등 화살표 idA\mathrm{id}_A가 가는 곳 u=αA(idA)∈F(A)u = \alpha_A(\mathrm{id}_A)\in F(A)를 봅니다. 아무 화살표 f:X→Af: X\to A는 idA∘f\mathrm{id}_A\circ f, 곧 idA\mathrm{id}_A에 f를 앞에 붙인 것이므로, 자연성⁠(naturality)⁠에 따라 αX(f)=F(f)(u)\alpha_X(f) = F(f)(u)일 수밖에 없습니다. α 전체가 u 하나로 정해지는 것입니다. 거꾸로 아무 u를 골라 이 식으로 α를 정의하면 자연 변환이 되는데, F가 합성을 지키기 때문입니다.

F를 다른 대상 B의 함자 Hom(−, B)로 두면 Nat(Hom(−,A),Hom(−,B))≅Hom(A,B)\mathrm{Nat}(\mathrm{Hom}(-,A), \mathrm{Hom}(-,B))\cong\mathrm{Hom}(A, B)를 얻습니다. 대상 A를 함자 Hom(−, A)로 보내는 일(요네다 매장⁠, Yoneda embedding⁠)은 화살표를 하나도 잃거나 더하지 않는다는 뜻입니다. 그래서 Hom(−, A)와 Hom(−, B)가 자연 동형⁠(natural isomorphism)⁠이면 A와 B는 동형입니다. '사물은 다른 모든 것과 맺는 관계로 정해진다'가 이 정리의 흔한 요약인데, 정확히 하려면 두 가지를 붙여야 합니다. 정해지는 것은 동형인 것까지입니다. 그리고 관계들 사이의 대응이 자연스러워야, 곧 화살표를 앞에 붙이는 일과 맞물려야 합니다. 이 조건이 없으면 '관계가 같다'는 말이 너무 약해집니다.

대상이 하나뿐인 범주로 보면 요네다는 오래된 정리가 됩니다. 군 G를 대상 ★ 하나와 원소마다 화살표 하나를 가진 범주로 봅시다. 합성 g∘hg\circ h는 'h 다음 g'입니다. ★에서 나가는 화살표들의 함자 Hom(★, −)는 집합 G 자체이고, 화살표 g는 이 집합 위에서 '왼쪽에 g를 곱하기' h↦g∘hh\mapsto g\circ h로 작용합니다(나가는 화살표를 모으면 방향이 뒤집히지 않는 함자가 되고, 요네다는 이쪽에서도 똑같이 성립합니다). 아래 그림은 정삼각형의 대칭 여섯 개로 이루어진 군입니다. g = 의 왼쪽 곱을 노란 화살표로 그렸습니다. 항등원⁠(identity element)⁠ e에서 나간 노란 화살표는 언제나 g 자신에 닿습니다(g∘e = g). 그래서 서로 다른 g는 서로 다른 순열⁠(permutation)⁠을 주고, G는 'G의 원소를 바꾸는 순열'들의 군 안에 구조째로 들어갑니다. '모든 군은 어떤 순열군과 동형이다'라는 케일리 정리입니다. 케일리는 1854년 논문에서 이 관찰을 적었습니다.

여섯 점은 정삼각형의 대칭입니다(r은 120° 돌리기, sᵢ는 꼭짓점⁠(vertex)⁠ i를 지나는 축으로 뒤집기). 노란 화살표는 h ↦ g∘h, 분홍 점선은 h ↦ φ(h)입니다. 점을 누르면 그 원소에서 출발하는 두 길을 밝게 보여 줍니다. 흰검은 고리는 두 길이 같은 곳에 닿은 것, 빨간 고리는 다른 곳에 닿은 것입니다.

이제 요네다가 말하는 부분입니다. 집합 G에서 G로 가는 함수⁠(function)⁠ φ가 모든 왼쪽 곱과 순서를 바꿀 수 있다면, 곧 모든 g, h에 대해 φ(g∘h)=g∘φ(h)\varphi(g\circ h) = g\circ\varphi(h)이면, φ는 Hom(★, −)에서 자기 자신으로 가는 자연 변환입니다. 요네다에 따르면 이런 φ는 k=φ(e)k = \varphi(e) 하나로 정해집니다. 실제로 φ(h)=φ(h∘e)=h∘φ(e)=h∘k\varphi(h) = \varphi(h\circ e) = h\circ\varphi(e) = h\circ k이므로 φ는 '오른쪽에 k를 곱하기'뿐입니다. φ = 를 분홍 점선으로 그렸습니다. 오른쪽 곱에서는 결합법칙⁠(associativity)⁠ g∘(h∘k)=(g∘h)∘kg\circ(h\circ k) = (g\circ h)\circ k 덕분에 두 길이 언제나 같은 곳에 닿습니다. 이 경우 자연성은 결합법칙 그 자체입니다. 마지막 선택지인 왼쪽 곱 h↦r∘hh\mapsto r\circ h는 g가 회전⁠(rotation)⁠일 때는 통과하지만 뒤집기일 때는 실패합니다.

요네다가 쓸모 있는 까닭은 보편 성질⁠(universal property)⁠이 모두 '어떤 함자가 Hom(−, A)(쌍대곱⁠(coproduct)⁠ 쪽이면 Hom(A, −))와 자연 동형이다', 곧 'A가 그 함자를 대표한다'는 꼴이기 때문입니다. 곱 A × B는 함자 X↦Hom(X,A)×Hom(X,B)X\mapsto\mathrm{Hom}(X,A)\times\mathrm{Hom}(X,B)를 대표하는 대상입니다. 대표하는 대상이 둘이면 두 Hom 함자가 자연 동형이므로 요네다에 따라 둘은 동형이고, 그 동형도 하나로 정해집니다. 보편 대상의 유일성, 수반 함자⁠(adjoint functor)⁠의 유일성, 수반이 극한⁠(limit)⁠을 보존한다는 정리가 모두 이 한 걸음에 기댑니다. 대수기하학에서는 그로텐디크가 이 관점을 밀고 나가, 기하학적 대상을 '모든 환에서 본 점들'의 함자로 다루었습니다(점들의 함자).

프로그래밍에서도 같은 정리가 보입니다. 함자 F에 대해, 모든 타입⁠(type)⁠ b에서 똑같이 작동하는 함수 (a → b) → F b를 주는 것은 F a 값 하나를 주는 것과 같습니다. 한쪽으로는 받은 함수에 항등 함수를 넣어 F a를 얻고(id를 넣는 한 수), 다른 쪽으로는 F a 값에 받은 함수를 map합니다. F를 항등 함자로 두면 '모든 r에 대해 (a → r) → r' 타입의 값이 (끝나지 않는 계산 같은 것을 빼면) a 값 하나와 같다는 뜻이 되는데, 결과를 돌려주는 대신 '결과로 할 일'(연속, continuation)을 넘겨받는 프로그래밍 방식이 이것에 기댑니다. 모든 타입에서 똑같이 작동한다는 조건이 자연성을 보장한다는 것은 다형성⁠(polymorphism)⁠의 매개변수성⁠(parametricity)⁠ 이야기입니다.

요네다 보조정리는 일본의 수학자 요네다 노부오의 이름을 땄습니다. 그가 1954년 가군의 호몰로지에 관한 논문에서 쓴 논법을 매클레인이 이름 붙여 퍼뜨렸습니다. 매클레인이 전한 이야기로는, 요네다가 파리 북역의 카페에서 기차를 기다리며 이 생각을 설명했다고 합니다.

이어지는 곳. 요네다 보조정리는 자연 변환이 '위치만 보고 값은 보지 않는다'는 성질의 가장 일반적인 형태입니다. 보편 대상이 동형을 빼고 하나뿐이라는 보편 성질의 정리와, 수반이 극한을 보존한다는 수반 함자의 정리가 모두 이것의 따름정리입니다. 대상 하나짜리 경우는 군의 케일리 정리이고, 순서의 경우는 수를 약수의 목록으로 표현하는 일입니다. 대상을 속 대신 관계들로 표현한다는 생각은 표현 바꾸기의 가장 추상적인 모습이며, 원소 대신 화살표를 보는 태도는 범주론⁠(category theory)⁠ 전체의 방법입니다. '동형인 것은 같다'를 타입의 수준에서 공리⁠(axiom)⁠로 삼은 것이 호모토피 타입 이론⁠(homotopy type theory)⁠의 일가성 공리입니다. 화살표 모음을 거리로 바꾸면 요네다는 d(x,y)=sup⁡zmax⁡(d(z,y)−d(z,x),0)d(x, y) = \sup_z \max(d(z, y) - d(z, x), 0)이라는 등식이 되고(풍부화된 범주⁠, enriched category⁠), 순서에서는 '아래에 있는 것들이 모두 같으면 같다'는 논법으로 갈루아 연결⁠(Galois connection)⁠의 계산에 쓰입니다. 숨은 수를 그리로 들어오는 화살표만으로 찾아내는 놀이는 「화살표만으로 본 수학」 4절에 있습니다.

이 개념이 나오는 큰 생각표현 바꾸기

이 개념이 나오는 긴 글

타입 이론과 범주론 증명은 프로그램이다 러셀의 역설을 막으려던 '타입'이 프로그램의 실수를 막는 장치가 되었다. 명제를 타입으로, 증명을 프로그램으로 읽으면 둘이 규칙 하나하나까지 맞아떨어진다. 오늘날 수학자들은 그 사실로 컴퓨터에게 증명을 검사받는다. 범주론 화살표만으로 본 수학 최대공약수와 교집합과 '그리고'는 같은 것이고, 화살표를 뒤집으면 최소공배수와 합집합과 '또는'이 된다. 무엇으로 만들었는지 묻지 않고 어떻게 이어지는지만 보는 언어로, '자연스럽다'는 말의 뜻, 관계만으로 대상을 알아보는 요네다의 생각, 함자로 본 연쇄법칙, 어디에나 있는 수반까지 사이트의 여러 분야를 가로지른다.

이 개념을 언급하는 페이지

이 페이지가 가리키는 개념