Seperti yang saya mengerti, dalam ilmu komputer tipe data tidak didasarkan pada teori himpunan karena hal-hal seperti paradoks Russell, tetapi seperti dalam bahasa pemrograman dunia nyata kita tidak dapat mengekspresikan tipe data yang kompleks seperti "set yang tidak mengandung dirinya sendiri", dapatkah kita katakanlah bahwa dalam tipe praktik adalah himpunan tak terbatas dari anggotanya di mana keanggotaan instan ditentukan oleh sejumlah fitur yang intrinsik dengan tipe / himpunan ini (keberadaan properti, metode)? Jika tidak, apa yang akan menjadi contoh tandingan?
11
Jawaban:
Alasan utama untuk menghindari set dalam semantik jenis adalah bahwa bahasa pemrograman yang khas memungkinkan kita untuk mendefinisikan fungsi rekursif sewenang-wenang. Oleh karena itu, apa pun arti suatu tipe, ia harus memiliki properti titik tetap. Satu-satunya set dengan properti seperti itu adalah set singleton.
Untuk lebih tepatnya, nilai yang didefinisikan secara rekursif dari tipe (di mana biasanya adalah tipe fungsi) didefinisikan oleh persamaan titik tetap mana dapat menjadi program apa pun. Jika diartikan sebagai himpunan maka kita akan mengharapkan setiap memiliki titik tetap. Tetapi satu-satunya set dengan properti ini adalah singleton.τ τ v = Φ ( v ) Φ : τ → τ τ T f : T → T Tv τ τ v = Φ ( v ) Φ : τ→ τ τ T f: T→ T T
Tentu saja, Anda juga bisa menyadari bahwa pelakunya adalah logika klasik. Jika Anda bekerja dengan teori himpunan intuitionistic, maka konsisten untuk mengasumsikan bahwa ada banyak set dengan properti titik tetap. Bahkan, ini telah digunakan untuk memberikan semantik bahasa pemrograman, lihat misalnya
sumber
Subtipe semantik didasarkan pada interpretasi teoretis set yang mendasari jenis, di mana subtipe adalah subset. Asli pekerjaan , saya percaya, adalah dengan Castagna dalam konteks bahasa pengolahan XML CDuce. Jenis sesuai dengan set dokumen XML. Ide-ide tersebut telah diterapkan kembali ke -kalkulus dan ke objek dan kelas kalkulus .π
sumber
Dengan beberapa pengecualian (salah satu yang Dave Clarke kutip), semantik set-theoretik tipe sulit untuk digunakan. Alasannya adalah bahwa abstraksi data tidak bermain dengan sangat baik dengan semantik teori-set.
sumber