Apa yang dimaksud dengan teori Kategori belum tahu bagaimana menangani fungsi tingkat tinggi?

22

Dalam membaca jawaban Uday Reddy untuk Apa hubungan antara functors dalam teori SML dan Kategori? Negara bagian Uday

Teori kategori belum tahu bagaimana menangani fungsi tingkat tinggi. Suatu hari, itu akan terjadi.

Karena saya pikir teori Kategori dapat berfungsi sebagai dasar untuk matematika, maka seharusnya dimungkinkan untuk menurunkan semua fungsi matematika dan tingkat tinggi.

Jadi, apa yang dimaksud dengan teori Kategori belum tahu bagaimana menangani fungsi tingkat tinggi? Apakah valid untuk mempertimbangkan teori Kategori sebagai dasar untuk matematika?

Guy Coder
sumber
2
Diskusi ini akan sempurna untuk cstheory.stackexchange.com .
Martin Berger

Jawaban:

15

Masalah dengan fungsi tingkat tinggi cukup sederhana untuk dinyatakan.

  • Tipe-konstruktor seperti bukan sebuah fungsi. Seharusnya begitu. T(X)=[XX]

  • Fungsi polimorfik seperti bukan transformasi alami. Seharusnya begitu.twsayaceX:T(X)T(X)=λf.ff

Jika Anda membaca makalah teori kategori asli Eilenberg dan MacLane , (PDF) intuisi yang mereka sampaikan mencakup kasus-kasus itu. Tetapi teori mereka tidak. Mereka adalah kertas yang besar untuk 1945! Tetapi, hari ini, kita membutuhkan lebih banyak.

Reaksi para ahli teori kategori terhadap isu-isu ini agak membingungkan. Mereka bertindak seolah-olah operasi tingkat tinggi membentuk ide Ilmu Komputer; mereka tidak ada konsekuensinya dengan matematika. Jika demikian, maka dasar matematika tidak akan cukup baik untuk dasar ilmu komputer.

Tapi saya tidak serius percaya itu. Saya percaya bahwa fungsi tingkat tinggi akan sangat penting untuk matematika juga. Tetapi mereka belum dieksplorasi dengan serius. Saya berharap bahwa, suatu hari, mereka akan dieksplorasi dan keterbatasan teori kategori akan terwujud.

Uday Reddy
sumber
2
Sungguh menakjubkan bahwa mereka tidak menganggap fungsi tingkat tinggi menarik, mengingat kedalamannya ketika menjelajahi aljabar dimensi tinggi, teori n-kategori dan sejenisnya. Relatif, fungsi-fungsi tingkat tinggi tampak begitu membumi. Terutama, jika bumi itu melibatkan program Haskell.
Dave Clarke
5
@DaveClarke. Saya pikir apa yang ingin mereka lihat adalah contoh menarik seperti yang mulai dengan Eilenberg dan MacLane. Semua ruang vektor dimensi saling isomorfik. Jadi, ruang vektor isomorfik dengan dualnya sendiri: A A . Namun, isomorfisma ini tidak "alami". (Mereka menggunakan basis tertentu - "tergantung representasi" dalam pembicaraan kami.) Di sisi lain isomorfisme A A adalah "alami", bekerja dengan cara yang sama untuk semua pangkalan. Untuk meminta Category Theory 2.0, kita membutuhkan contoh pembunuh yang mirip! nSEBUAHSEBUAHSEBUAHSEBUAH
Uday Reddy
4
@DaveClarke. Apa yang terjadi dalam matematika normal adalah bahwa ahli matematika sangat cerdik mengurangi hal-hal tingkat tinggi untuk struktur tingkat pertama. Sebagai contoh, tipe saya berikan di atas hanyalah sebuah monoid, yang perkaliannya adalah operasi orde pertama . Jika Anda mengingat Aljabar Linier Anda, transformasi linear A B diubah menjadi ruang vektor, dan kemudian semua operasinya menjadi orde pertama. Teori Automata (Ilmu Komputer lagi) mungkin menjadi tempat pertama di mana trik ini tidak berhasil. Jika Eilenberg memiliki 10 tahun kehidupan aktif lagi, ia mungkin telah menyelesaikan masalahnya. T(X)SEBUAHB
Uday Reddy
1
+1 Ini sangat menarik. Apakah Anda tahu referensi yang membahas masalah ini lebih lanjut?
Kaveh
3
λππ
9

[Jawaban kedua ini menyajikan garis besar dari apa "Kategori Teori 2.0", yang berhubungan dengan fungsi tingkat tinggi dengan benar, mungkin terlihat seperti.]

Kami sudah lama tahu cara menangani fungsi tingkat tinggi dalam beralasan tentang mereka.

  • Ketika struktur aljabar memiliki operasi tingkat tinggi, homomorfisma tidak berfungsi. Kita harus menggunakan hubungan logis saja. Dengan kata lain, kita harus beralih dari " fungsi mempertahankan struktur" ke " mempertahankan struktur hubungan ".

  • Untuk berbicara tentang transformasi "seragam" atau "diberikan secara bersamaan" pada tipe tingkat tinggi, naturalitas tidak berfungsi. Kita harus menggunakan parametricity relasional sebagai gantinya. Dengan kata lain, kita harus beralih dari "keluarga yang memelihara semua morfisme " ke "keluarga yang menjaga semua hubungan logis ".

Pengantar cepat untuk masalah ini ada di bagian Peter O'Hearn tentang "Parametritas Relasional" di Domain dan Semantik Denotasional: Sejarah, Pencapaian, dan Masalah Terbuka (CiteSeerX) .

Saya mungkin juga menambahkan alasan tentang keadaan di mana fungsi tingkat tinggi muncul secara jelas. Automata-theorists adalah yang pertama mengakui bahwa homomorfisme tidak bekerja dengan benar, dalam makalah bersejarah yang disebut Products of Automata dan Problem of Covering . Mereka menggunakan istilah-istilah seperti "homomorfisme lemah" dan "mencakup hubungan" untuk merujuk pada hubungan logis. Pada waktunya, istilah seperti "simulasi" dan "bisimulasi" digunakan untuk merujuk kepada mereka. Artikel survei Davide Sangiorgi: On the Origin of Bisimulation and Coinduction mencakup semua sejarah awal ini dan banyak lagi.

Perlunya penalaran relasional berulang kali muncul dalam penalaran tentang negara, khususnya pemrograman imperatif . Sangat sedikit orang yang memperhatikan bahwa "titik koma" yang sederhana adalah operasi tingkat tinggi. Jadi, Anda tidak bisa berhenti berpikir tentang program-program penting tanpa mengetahui bagaimana menangani fungsi tingkat tinggi. Kami terus mengabaikan masalah negara dan pemrograman imperatif dalam keyakinan keliru bahwa matematika memiliki semua jawaban. Jadi, jika matematikawan tidak mengerti keadaan, itu pasti tidak baik! Tidak ada yang bisa lebih jauh dari kebenaran. Negara adalah jantung dari Ilmu Komputer. Kami akan memajukan ilmu pengetahuan secara umum dengan menunjukkan kepada orang-orang bagaimana menghadapi negara!

Uday Reddy
sumber
@GuyCoder, saya pikir itu ide yang bagus. Ngomong-ngomong, saya pikir pertanyaan ini dan itu juga akan menjadi topik pembicaraan Theoretical Computer Science jika Anda lebih suka mempostingnya di sana.
Kaveh
Setelah membahas dengan Uday, sebuah pertanyaan baru tidak akan secara khusus ditanyakan untuk jawaban kedua ini. :)
Guy Coder
Negara bersifat relativistik.
Shelby Moore III