MathLabs

Nền tảng toán học

Bổ đề Yoneda

Một đối tượng được xác định hoàn toàn, sai khác một đẳng cấu, bởi khuôn mẫu của mọi mũi tên chỉ vào nó từ mọi nơi khác trong phạm trù — bổ đề Yoneda biến quan sát đó thành một song ánh chính xác, và hệ quả rằng phép nhúng A↦Hom(−,A)A\mapsto\mathrm{Hom}(-,A) là đầy và trung thành là sự kiện duy nhất biến "nghiên cứu đối tượng qua các ánh xạ của nó" thành một phương pháp chặt chẽ chứ không phải một câu slogan.

Trực giácMột đối tượng là điều nó làm

Để hiểu hoàn toàn một linh kiện điện tử, bạn không cần nhìn vào bên trong nó — chỉ cần biết, với mọi mạch xung quanh có thể có, chính xác cách linh kiện có thể được nối vào đó. Trong một phạm trù, sự kiện tương tự là một đối tượng AA được xác định hoàn toàn, sai khác một đẳng cấu, bằng cách biết Hom(X,A)\mathrm{Hom}(X,A) — tập các cách ánh xạ vào AA — cho mọi đối tượng XX cùng một lúc.

Sơ đồ tương tác của một mạng đối tượng với mọi cấu xạ chỉ vào một đối tượng A được chọn.
Mọi mũi tên từ mọi đối tượng XX vào AA, gom lại cùng lúc — dữ liệu tiền bó hAh_A ghi lại.

Đại họcTiền bó biểu diễn được

Định nghĩa: Tiền bó hAh_A

Với một đối tượng AA của C\mathcal{C}, tiền bó biểu diễn được hA=HomC(−,A)h_A=\mathrm{Hom}_{\mathcal{C}}(-,A) gán cho mỗi đối tượng XX tập hA(X)=HomC(X,A)h_A(X)=\mathrm{Hom}_{\mathcal{C}}(X,A), và cho mỗi cấu xạ g:X→Yg:X\to Y ánh xạ hợp trước hA(g):Hom(Y,A)→Hom(X,A),f↦f∘gh_A(g):\mathrm{Hom}(Y,A)\to\mathrm{Hom}(X,A),\quad f\mapsto f\circ g. Điều này làm hAh_A thành một hàm tử Cop→Set\mathcal{C}^{\mathrm{op}}\to\mathbf{Set} — phản biến, vì hợp bên phải với gg đảo hướng của phép gán.

hA(X)=HomC(X,A)h_A(X) = \mathrm{Hom}_{\mathcal{C}}(X,A)

Với bất kỳ hàm tử F:Cop→SetF:\mathcal{C}^{\mathrm{op}}\to\mathbf{Set}, bổ đề Yoneda nói các biến đổi tự nhiên từ hAh_A tới FF song ánh với các phần tử của một tập duy nhất F(A)F(A): Nat(HomC(−,A),F)≅F(A)\mathrm{Nat}(\mathrm{Hom}_{\mathcal{C}}(-,A),F)\cong F(A). Song ánh dựng từ hai ánh xạ, Φ\Phi và Ψ\Psi, đi theo hướng ngược nhau.

Nat(HomC(−,A),F)≅F(A)\mathrm{Nat}(\mathrm{Hom}_{\mathcal{C}}(-,A), F) \cong F(A)
Hai hướng của song ánh Yoneda
Ánh xạHướngCông thức
Φ\PhiNat(hA,F)→F(A)\mathrm{Nat}(h_A,F)\to F(A)Φ(η)=ηA(1A)\Phi(\eta)=\eta_A(1_A)
Ψ\PsiF(A)→Nat(hA,F)F(A)\to\mathrm{Nat}(h_A,F)Ψ(x)X(f)=F(f)(x)\Psi(x)_X(f)=F(f)(x)

Nâng caoSong ánh, chứng minh từng bước

Φ\Phi đánh giá một biến đổi tự nhiên η:hA⇒F\eta:h_A\Rightarrow F tại đầu vào tiết kiệm nhất có thể — phần tử đơn vị 1A∈hA(A)=Hom(A,A)1_A\in h_A(A)=\mathrm{Hom}(A,A) — cho ra phần tử ηA(1A)\eta_A(1_A) của F(A)F(A). Theo hướng ngược, Ψ\Psi bắt đầu từ một phần tử x∈F(A)x\in F(A) và dựng lại, với mọi đối tượng XX và mọi f∈Hom(X,A)f\in\mathrm{Hom}(X,A), một phần tử của F(X)F(X) bằng cách đẩy xx theo F(f)F(f): Ψ(x)X(f)=F(f)(x)\Psi(x)_X(f)=F(f)(x). Tính tự nhiên của η\eta chính là điều làm cho Ψ(Φ(η))\Psi(\Phi(\eta)) khôi phục lại η\eta, và đây là điều định lý tiếp theo chứng minh đầy đủ.

Φ(η)=ηA(1A)\Phi(\eta) = \eta_A(1_A)
Ψ(x)X(f)=F(f)(x)\Psi(x)_X(f) = F(f)(x)
Định lý: Bổ đề Yoneda

Với mọi hàm tử F:Cop→SetF:\mathcal{C}^{\mathrm{op}}\to\mathbf{Set} và đối tượng AA, các ánh xạ Φ\Phi và Ψ\Psi trên là nghịch đảo lẫn nhau, nên Nat(HomC(−,A),F)≅F(A)\mathrm{Nat}(\mathrm{Hom}_{\mathcal{C}}(-,A),F)\cong F(A) là một song ánh tập thật sự.

Vì sao đúng?

Đây là điều cho phép các nhà lý thuyết phạm trù đổi một họ vô hạn, khó nắm bắt các biến đổi tự nhiên thành một phần tử cụ thể duy nhất của F(A)F(A) — mọi câu hỏi về ánh xạ ra khỏi tiền bó biểu diễn được hAh_A sụp về câu hỏi về một tập.

Chứng minh

Trước tiên ta kiểm Φ(Ψ(x))=x\Phi(\Psi(x))=x với mọi x∈F(A)x\in F(A). Mở định nghĩa: Ψ(x)A(1A)=F(1A)(x)\Psi(x)_A(1_A)=F(1_A)(x) theo công thức của Ψ\Psi, đặc biệt hoá với X=AX=A, f=1Af=1_A. Vì FF là hàm tử, nó gửi cấu xạ đơn vị 1A1_A tới hàm đơn vị trên F(A)F(A), nên F(1A)(x)=xF(1_A)(x)=x. Vậy Φ(Ψ(x))=Ψ(x)A(1A)=x\Phi(\Psi(x))=\Psi(x)_A(1_A)=x, đúng như cần — hướng này chỉ dùng luật đơn vị của hàm tử.

Giờ ta kiểm hướng khó hơn, Ψ(Φ(η))=η\Psi(\Phi(\eta))=\eta với mọi biến đổi tự nhiên η:hA⇒F\eta:h_A\Rightarrow F. Cả hai vế là biến đổi tự nhiên hA⇒Fh_A\Rightarrow F, nên chỉ cần chỉ ra các thành phần khớp tại mọi đối tượng XX và mọi phần tử f∈hA(X)=Hom(X,A)f\in h_A(X)=\mathrm{Hom}(X,A).

Mở Ψ(Φ(η))X(f)\Psi(\Phi(\eta))_X(f) bằng công thức của Ψ\Psi với x:=Φ(η)=ηA(1A)x:=\Phi(\eta)=\eta_A(1_A): bằng F(f)(ηA(1A))F(f)(\eta_A(1_A)).

Giờ dùng tính tự nhiên của η\eta, ở dạng ηY(f∘g)=F(g)(ηX(f))\eta_Y(f\circ g)=F(g)(\eta_X(f)) với g:=f:X→Ag:=f:X\to A và biến kia đặt là AA: lấy f:=1A∈hA(A)f:=1_A\in h_A(A) trong hình vuông tự nhiên đó cho đúng ηX(1A∘f)=F(f)(ηA(1A))\eta_X(1_A\circ f)=F(f)(\eta_A(1_A)), tức ηX(f)=F(f)(ηA(1A))\eta_X(f)=F(f)(\eta_A(1_A)), vì 1A∘f=f1_A\circ f=f.

Kết hợp hai dòng cuối: Ψ(Φ(η))X(f)=F(f)(ηA(1A))=ηX(f)\Psi(\Phi(\eta))_X(f)=F(f)(\eta_A(1_A))=\eta_X(f). Vì XX và ff tuỳ ý, hai biến đổi tự nhiên khớp mọi nơi, nên Ψ(Φ(η))=η\Psi(\Phi(\eta))=\eta. Cùng đoạn đầu, Φ\Phi và Ψ\Psi là song ánh nghịch đảo lẫn nhau.

Phép nhúng Yoneda y:C↪[Cop,Set]y:\mathcal{C}\hookrightarrow[\mathcal{C}^{\mathrm{op}},\mathbf{Set}], y(A)=hAy(A)=h_A, đầy và trung thành: với mọi A,B∈CA,B\in\mathcal{C}, Nat(hA,hB)≅HomC(A,B)\mathrm{Nat}(h_A,h_B)\cong\mathrm{Hom}_{\mathcal{C}}(A,B), và song ánh này gửi cấu xạ f:A→Bf:A\to B tới biến đổi tự nhiên hA⇒hBh_A\Rightarrow h_B cho bởi hợp sau với ff.

Vì sao đúng?

Đầy và trung thành chính là đảm bảo phép dịch A↦hAA\mapsto h_A không mất thông tin nào cả: các cấu xạ khác nhau của C\mathcal{C} trở thành các biến đổi tự nhiên khác nhau, và mọi biến đổi tự nhiên giữa hai tiền bó biểu diễn được đều đến từ một cấu xạ thật của C\mathcal{C}, đây là điều biện minh cho việc nghiên cứu đối tượng thuần qua các ánh xạ vào chúng.

Chứng minh

Áp bổ đề Yoneda với hàm tử đích đặt F:=hBF:=h_B. Bổ đề cho song ánh Nat(hA,hB)≅hB(A)\mathrm{Nat}(h_A,h_B)\cong h_B(A), và mở định nghĩa hB(A)=HomC(A,B)h_B(A)=\mathrm{Hom}_{\mathcal{C}}(A,B) cho đúng Nat(hA,hB)≅HomC(A,B)\mathrm{Nat}(h_A,h_B)\cong\mathrm{Hom}_{\mathcal{C}}(A,B).

Còn phải nhận diện cấu xạ nào của C\mathcal{C} mà một biến đổi tự nhiên η:hA⇒hB\eta:h_A\Rightarrow h_B tương ứng dưới song ánh này, và kiểm nó là hợp sau. Theo công thức của Φ\Phi, η\eta tương ứng với phần tử Φ(η)=ηA(1A)∈Hom(A,B)\Phi(\eta)=\eta_A(1_A)\in\mathrm{Hom}(A,B); gọi cấu xạ này là ff.

Giờ dùng Ψ(Φ(η))=η\Psi(\Phi(\eta))=\eta (định lý trên, áp với F=hBF=h_B) để khôi phục mọi thành phần của η\eta từ ff: với mọi đối tượng XX và mọi g∈hA(X)=Hom(X,A)g\in h_A(X)=\mathrm{Hom}(X,A), Ψ(f)X(g)=hB(g)(f)\Psi(f)_X(g)=h_B(g)(f). Mở tác động phản biến của hBh_B trên cấu xạ — hợp trước — cho hB(g)(f)=f∘gh_B(g)(f)=f\circ g. Vậy ηX(g)=f∘g\eta_X(g)=f\circ g: mọi thành phần của η\eta đúng nghĩa là hợp sau với ff.

Vì Φ\Phi và Ψ\Psi là song ánh nghịch đảo lẫn nhau (chứng minh trên) và hợp sau với ff chính xác là Ψ(f)\Psi(f), phép gán đưa ff tới hợp sau với ff chính nó là một song ánh Hom(A,B)→Nat(hA,hB)\mathrm{Hom}(A,B)\to\mathrm{Nat}(h_A,h_B) — đúng là phát biểu rằng yy đầy và trung thành.

Đại họcỨng dụng: không gian moduli và phong cách chuyển tiếp

Trong hình học đại số, một không gian moduli cho một loại đối tượng hình học nào đó (đường cong, phân thớ vectơ, ...) được định nghĩa bằng cách trước tiên viết ra một hàm tử FF gửi một đối tượng thử XX tới tập các họ của cấu trúc hình học đó trên XX; không gian moduli, nếu tồn tại, là một đối tượng MM biểu diễn FF, tức F≅hMF\cong h_M. Phép nhúng Yoneda đầy và trung thành chính xác là lý do tại sao MM như vậy, khi tồn tại, duy nhất sai khác một đẳng cấu duy nhất — triết lý "hàm tử điểm" của Grothendieck coi mỗi lược đồ chẳng hơn gì tiền bó biểu diễn được của nó. Trong lập trình hàm, kiểu ∀r. (a→r)→r\forall r.\ (a\to r)\to r của hàm phong cách chuyển tiếp, theo cấu trúc, là kiểu các biến đổi tự nhiên từ hàm tử Hom hiệp biến Hom(a,−)\mathrm{Hom}(a,-) tới hàm tử đơn vị; bổ đề Yoneda (hiệp biến, đối ngẫu) nói chính xác ∀r. (a→r)→rcong a\forall r.\ (a\to r)\to r \\cong\ a, khớp với sự kiện thường ngày rằng một giá trị đã chuyển qua CPS chẳng hơn gì một giá trị bình thường được gói lại.

Ví dụ: Kiểm song ánh trên phạm trù hai đối tượng

Cho C\mathcal{C} có hai đối tượng 0,10,1, đơn vị, và một cấu xạ không đơn vị ι:0→1\iota:0\to1. Lấy A=1A=1 và F=h1F=h_1 chính nó. Kiểm bằng liệt kê trực tiếp rằng Nat(HomC(−,A),F)≅F(A)\mathrm{Nat}(\mathrm{Hom}_{\mathcal{C}}(-,A),F)\cong F(A) cho FF này, tức Nat(h1,h1)\mathrm{Nat}(h_1,h_1) có đúng số phần tử bằng h1(1)=Hom(1,1)h_1(1)=\mathrm{Hom}(1,1).

Lời giải

Trước hết tính h1h_1 rõ ràng: h1(0)=Hom(0,1)={ι}h_1(0)=\mathrm{Hom}(0,1)=\{\iota\} (một phần tử) và h1(1)=Hom(1,1)={11}h_1(1)=\mathrm{Hom}(1,1)=\{1_1\} (một phần tử, vì C\mathcal{C} không có cấu xạ khác kết thúc ở 11 từ 11). Vậy F(A)=h1(1)F(A)=h_1(1) có đúng một phần tử, 111_1.

Theo bổ đề Yoneda, Nat(h1,h1)\mathrm{Nat}(h_1,h_1) cũng nên có đúng một phần tử. Kiểm trực tiếp: một biến đổi tự nhiên η:h1⇒h1\eta:h_1\Rightarrow h_1 cần thành phần η0:{ι}→{ι}\eta_0:\{\iota\}\to\{\iota\} và η1:{11}→{11}\eta_1:\{1_1\}\to\{1_1\}. Mỗi tập này có một phần tử, nên chỉ có đúng một hàm khả dĩ tại mỗi đối tượng — hàm đơn vị — cho đúng một ứng viên η\eta tổng thể.

Vẫn phải kiểm ứng viên này thoả tính tự nhiên (ở đây tự động đúng, vì hình vuông tự nhiên buộc η0(ι)=η0(11∘ι)=h1(ι)(η1(11))=h1(ι)(11)=11∘ι=ι\eta_0(\iota)=\eta_0(1_1\circ\iota)=h_1(\iota)(\eta_1(1_1))=h_1(\iota)(1_1)=1_1\circ\iota=\iota, đúng vì dù sao cũng chỉ có một giá trị khả dĩ).

Vậy Nat(h1,h1)={idh1}\mathrm{Nat}(h_1,h_1)=\{\mathrm{id}_{h_1}\} có đúng một phần tử, khớp F(A)={11}F(A)=\{1_1\} có đúng một phần tử — song ánh Nat(HomC(−,A),F)≅F(A)\mathrm{Nat}(\mathrm{Hom}_{\mathcal{C}}(-,A),F)\cong F(A) đúng cụ thể, và Φ(idh1)=(idh1)1(11)=11\Phi(\mathrm{id}_{h_1})=(\mathrm{id}_{h_1})_1(1_1)=1_1 khôi phục trực tiếp phần tử duy nhất.

Ví dụ: Phong cách chuyển tiếp như Yoneda

Trong một ngôn ngữ hàm, một giá trị kiểu ∀r. (a→r)→r\forall r.\ (a\to r)\to r là một hàm kk mà, cho bất kỳ cách tiêu thụ một aa (một hàm a→ra\to r), cho ra một rr. Chỉ ra kk được xác định hoàn toàn bởi, và khôi phục lại được, một giá trị bình thường kiểu aa.

Lời giải

Nhận diện C=Set\mathcal{C}=\mathbf{Set} (hoặc phạm trù các kiểu và hàm), cố định đối tượng aa, và cho F=IdF=\mathrm{Id} là hàm tử đơn vị. Một giá trị k:∀r. (a→r)→rk:\forall r.\ (a\to r)\to r, theo định nghĩa, là một lựa chọn hàm kr:(a→r)→rk_r:(a\to r)\to r cho mọi kiểu rr — chính xác là một biến đổi tự nhiên từ hàm tử hiệp biến Hom(a,−)\mathrm{Hom}(a,-) tới Id\mathrm{Id} (tính tự nhiên ở đây chính là tính đa hình mà "với mọi rr" áp đặt).

Áp Φ\Phi từ bổ đề Yoneda (hiệp biến, đối ngẫu): Φ(k)=k(ida)\Phi(k)=k(\mathrm{id}_a) đánh giá kk tại r:=ar:=a trên hàm đơn vị ida:a→a\mathrm{id}_a:a\to a, cho ra một giá trị bình thường kiểu aa. Đây là hướng "chuyển tiếp xác định một giá trị".

Áp Ψ\Psi theo hướng ngược: cho một giá trị n:an:a, định nghĩa Ψ(n)r(g)=g(n)\Psi(n)_r(g)=g(n) cho mọi rr và mọi g:a→rg:a\to r — tức Ψ(n)r(g)=g(n)\Psi(n)_r(g)=g(n), phép chuyển CPS chuẩn của một giá trị: "sự chuyển tiếp mà, cho bất kỳ bộ tiêu thụ gg, đưa nn cho nó".

Theo bổ đề Yoneda áp với F=IdF=\mathrm{Id}, hai cách dựng này nghịch đảo lẫn nhau: Φ(Ψ(n))=Ψ(n)a(ida)=ida(n)=n\Phi(\Psi(n))=\Psi(n)_a(\mathrm{id}_a)=\mathrm{id}_a(n)=n khôi phục giá trị, và Ψ(Φ(k))=k\Psi(\Phi(k))=k theo lập luận tự nhiên từ định lý trên, đặc biệt hoá với F=IdF=\mathrm{Id}. Vậy ∀r. (a→r)→rcong a\forall r.\ (a\to r)\to r \\cong\ a, xác nhận giá trị phong cách chuyển tiếp mang đúng thông tin của một giá trị bình thường, không hơn không kém.

Φ\Phi làm gì với một biến đổi tự nhiên η:hA⇒F\eta:h_A\Rightarrow F?

Bước duy nhất trong Ψ(Φ(η))=η\Psi(\Phi(\eta))=\eta dựa vào tính chất nào của η\eta?

Trong phong cách chuyển tiếp, kiểu ∀r. (a→r)→r\forall r.\ (a\to r)\to r đẳng cấu tự nhiên với kiểu nào?

Phép nhúng Yoneda đầy và trung thành cho ta kết luận rằng đối tượng biểu diễn MM của hàm tử moduli FF là:

Tài liệu tham khảo

  1. Saunders Mac Lane (1998). Categories for the Working Mathematician
  2. Emily Riehl (2016). Category Theory in Context
  3. Jacob Lurie (2009). Higher Topos Theory · arXiv:math/0608040