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?
functional-programming
category-theory
Guy Coder
sumber
sumber
Jawaban:
Masalah dengan fungsi tingkat tinggi cukup sederhana untuk dinyatakan.
Tipe-konstruktor seperti bukan sebuah fungsi. Seharusnya begitu.T( X) = [ X→ X]
Fungsi polimorfik seperti bukan transformasi alami. Seharusnya begitu.t b i c eX: T( X) → T( X) = λ f.f∘ f
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.
sumber
[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) .
Upaya pertama untuk membangun "Kategori Teori 2.0" adalah di O'Hearn dan Tennent's Parametricity dan Variabel Lokal (CiteSeerX) .
Tesis PhD Brian Dunphy: Parametrisitas sebagai gagasan keseragaman dalam grafik refleksif (CiteSeerX) dibangun di atas kerangka kerja mereka dan melakukan aksioma struktur relasional yang diperlukan untuk mendapatkan hasil parametrik. Saya akan merekomendasikan tesis Dunphy untuk mendapatkan gambaran umum yang baik dari semua masalah.
Demi kelengkapan, saya juga harus menyebutkan tesis PhD Claudio Hermida: Fibrations, Predical Logicate and Indeterminates (PDF) , yang merupakan yang pertama mempelajari hubungan logis dalam kategori pengaturan teori, tetapi perawatannya mungkin terlalu teknis bagi kebanyakan orang.
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!
sumber